python - Op 和 Function 有什么区别

标签 python function operation theano

Theano 有 Ops 和函数。
有什么区别?

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

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

Ops 的定义似乎很复杂。所有抽象类等 但是像 theano.tesnor.tanhtheano.tensor.nnet.sigmoid 这样的东西被定义为 Ops。 我不确定两者之间的区别。

如何将上面的 linmax 函数写成 Op?

最佳答案

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

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

关于python - Op 和 Function 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20237812/

相关文章:

javascript - 函数在变量中,传递参数

macos - ./sysroot.sh : Operation not permitted

python - OpenCV 图像减法 vs Numpy 减法

python - 如何将等高线图叠加在 basemap 上

c - 函数返回值定义为常量

c - 作为参数传递时结构搞砸了

bash - BASH 脚本中靠近 `%` 运算符的语法错误

ios AFDownloadRequestOperation 我用了,为什么启动界面没 react

python - 仅在 setup.py 中可能时编译可选的 cython 扩展

python - 如何在 Python、GTK3 和 PyGObject 中配置 GtkWidget?