Theano有行动和功能 有什么区别?
功能似乎很好,很容易定义, 例如:
x = T.dmatrix('x')
linmax = function([x], T.maximum(x,0))
Ops似乎很难定义。所有抽象类等
但theano.tesnor.tanh
和theano.tensor.nnet.sigmoid
之类的内容被定义为Ops。
我不确定区别。
如何将上述linmax
函数编写为Op?
答案 0 :(得分:1)
theano.function()返回一个可调用的python对象。因此,您可以使用它来执行您在调用时所描述的计算。
Theano Ops是描述您想要的计算的符号图的一部分。不要忘记Theano与C和其他语言一样多的其他语言。首先需要描述所需的计算,然后进行编译。在C中,您在文本文件中定义该计算。在Theano中,您使用Theano符号图描述它,该图包含Ops。
然后你编译,可能的Gcc用于C和theano.function()在Theano。
因此Op是符号图的元素。它描述了在图中的一个点处完成的计算。 Theano教程中的这个页面更详细地描述了图表:
http://deeplearning.net/software/theano/tutorial/symbolic_graphs.html#theano-graphs
此页面描述了如何在Theano制作Op:
http://deeplearning.net/software/theano/tutorial/extending_theano.html
您可以跳过可选部分的部分。因此,如果您不打算制作一个页面而只是想了解其用途,则可以跳过该页面的大部分内容。