2

Theano 具有 Ops 和函数。
有什么不同?

函数看起来不错且易于定义,例如:

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

Ops 的定义似乎很复杂。所有抽象类之类的东西theano.tesnor.tanhtheano.tensor.nnet.sigmoid被定义为 Ops。我不确定区别。

我将如何将上述linmax函数编写为操作?

4

1 回答 1

1

theano.function() 返回一个可调用的 python 对象。所以你可以用它来做你在调用它时描述的计算。

Theano Ops 是描述您想要的计算的符号图的一部分。不要忘记 Theano 的其他语言与 C 和其他语言一样多。您首先需要描述您想要的计算,然后进行编译。在 C 中,您在文本文件中定义该计算。在 Theano 中,您使用 Theano 符号图来描述它,并且该图包括 Ops。

然后你用可能的 C 语言 gcc 和 Theano 中的 theano.function() 进行编译。

所以 Op 是符号图的元素 op。它描述了在图中某一点完成的计算。Theano 教程中的此页面更详细地描述了该图:

http://deeplearning.net/software/theano/tutorial/symbolic_graphs.html#theano-graphs

这个页面描述了如何在 Theano 中创建一个 Op:

http://deeplearning.net/software/theano/tutorial/extending_theano.html

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

于 2013-11-27T14:11:09.900 回答