Op和Function之间有什么区别

时间:2013-11-27 08:59:28

标签: python function operation theano

Theano有行动和功能 有什么区别?

功能似乎很好,很容易定义, 例如:

x = T.dmatrix('x')
linmax = function([x], T.maximum(x,0))

Ops似乎很难定义。所有抽象类等 但theano.tesnor.tanhtheano.tensor.nnet.sigmoid之类的内容被定义为Ops。 我不确定区别。

如何将上述linmax函数编写为Op?

1 个答案:

答案 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

您可以跳过可选部分的部分。因此,如果您不打算制作一个页面而只是想了解其用途,则可以跳过该页面的大部分内容。