如何计算Theano中的阶乘

时间:2016-03-24 15:47:33

标签: python theano factorial

这是一个简单的例子。

import theano 
v = theano.tensor.scalar("variable") 
factorial = ? 
# Calculate factorial of v , like numpy.math.factorial(v), but it didn't work, 
# Actually it should be a integer as a parameter of numpy.math.factorial function 
result = theano.function([v], factorial)

互联网上几乎没有有用的信息。我发现的东西 http://matthewrocklin.com/blog//work/2013/08/14/SymPy-Theano-part-4 这告诉我它属于"未来的工作",这意味着没有解决这个问题的方法。 怎么可能呢?我的意思是你的theano项目中没有身体需要计算阶乘吗? 当我设计具有泊松条件可能性的RBM时,我遇到了这个问题,需要计算能量函数中可见单位的因子。

2 个答案:

答案 0 :(得分:0)

我找到了答案,我们使用伽马函数来解决阶乘问题。 :(抱歉打扰所有人! 这是详细信息: https://groups.google.com/forum/#!msg/theano-users/ytqep8AickA/cE7QeJZxXzUJ

所以这应该是:

import theano 
v = theano.tensor.scalar("variable") 
factorial = theano.tensor.gamma(v)
# Calculate factorial of v , like numpy.math.factorial(v), but it didn't work, 
# Actually it should be a integer as a parameter of numpy.math.factorial function 
result = theano.function([v], factorial)

答案 1 :(得分:0)

Time         x          y
11:01:00     1          0
11:03:04     0          1
11:03:34     0          0
11:06:12     1          1
11:12:00     0          0

这是没有布尔运算符的编辑解决方案。我知道你找到了另一个答案,但这对你和将来的其他人都有帮助。