如何在theano中添加两个共享变量?

时间:2016-01-04 11:04:56

标签: theano

A=theano.shared(np.random.randn(2,3))
B=theano.shared(np.random.randn(3,4))
C=A+B

print C提供Elemwise{add,no_inplace}.0

我想要C的值。我怎么得到它?

1 个答案:

答案 0 :(得分:3)

由于共享变量的形状不对齐,因此您的代码将无效。

更正您的示例,您可以

import theano
import numpy as np

A = theano.shared(np.random.randn(3, 4))
B = theano.shared(np.random.randn(3, 4))
C = A + B

然后这是可以正确评估的。如果您在命令行中工作,则C.eval()将执行此操作。然而,更普遍和全面的方法是创建一个theano函数。

f = theano.function([], C)

然后,您可以致电f()并获取C的值。如果你的计算取决于其他(非共享)符号变量,你将提供必要的值作为函数的参数(这也适用于eval,通过指定带有相关条目的字典)。