Python 神经网络:理解theano库

Python 神经网络:理解theano库,python,neural-network,theano,Python,Neural Network,Theano,有人能给我解释一下以下python代码的输出吗: from theano import tensor as T from theano import function, shared a, b = T.dmatrices('a', 'b') diff = a - b abs_diff = abs(diff) diff_squared = diff ** 2 f = function([a, b], [diff, abs_diff, diff_squared]) print f([[1, 1

有人能给我解释一下以下python代码的输出吗:

from theano import tensor as T
from theano import function, shared

a, b = T.dmatrices('a', 'b')
diff = a - b
abs_diff = abs(diff)
diff_squared = diff ** 2

f = function([a, b], [diff, abs_diff, diff_squared])

print f([[1, 1], [1, 1]], [[0, 1], [2, 3]])
测试功能
您实际上是在告诉Theano计算三个不同的函数,其中每个后续函数取决于先前执行的函数的输出

在您的示例中,您使用了两个输入参数:矩阵A和矩阵B

A = [[ 1, 1 ],
     [ 1, 1 ]]

B = [[ 0, 1 ],
     [ 2, 3 ]] 
第一个输出行:
[[1,0.]、[-1.]、-2.]
通过减去A和B矩阵来计算:

[[1, 1],   -   [[0, 1],    = [[ 1, 0 ],
 [1, 1]]        [2, 3]]       [-1, -2]
第二个输出行
[[1,0.],[1,x2.]
仅仅是我们刚才计算的差值的绝对值:

abs [[ 1, 0 ],   =   [[ 1, 0],
     [-1, -2]]        [ 1, 2]]
第三行(即最后一行)按元素计算平方值

西亚诺魔法 Theano实际解释Python代码,并推断给定变量所依赖的变量(或数学运算)。因此,如果您只对
diff_squared
输出感兴趣,那么也不需要包括对
diff
abs_diff
的调用

f = function([a, b], [diff_squared])
f = function([a, b], [diff_squared])