我在python和theano非常新,所以这个问题可能很愚蠢。
我在文档中读到.dot会产生符号张量。我正在调试一些程序,我没有任何容器或任何东西看不到TensorVariable,我不知道如何从中获取值。
答案 0 :(得分:1)
实际上不可能从符号变量中获取值,因为它们没有值;相反,他们代表稍后提供的价值。
考虑以下示例:
x = theano.tensor.matrix()
y = theano.tensor.matrix()
z = theano.dot(x, y)
f = theano.function(inputs=[x, y], outputs=z)
a = numpy.array([[1,2,3],[4,5,6]])
b = numpy.array([[1,2],[3,4],[5,6]])
c = f(a, b)
此处,x
和y
是符号矩阵。它们没有值,但它们代替了在编译和执行计算之后提供的某些值。 a
,b
和c
是具有值的具体矩阵。 f = theano.function(...)
行编译计算,c = f(...)
执行该函数,为a
提供名为x
的值,并为{{1}提供名为b
的值}};返回值y
采用符号表达式c
计算的值。