【发布时间】:2015-11-12 07:05:18
【问题描述】:
假设我在 Theano 中实现了以下功能:
import theano.tensor as T
from theano import function
x = T.dscalar('x')
y = T.dscalar('y')
z = x + y
f = function([x, y], z)
当我尝试运行它时,会构建一个计算图,该函数会得到优化和编译。
如何在 Python 脚本和/或 C++ 应用程序中重用这段已编译的代码块?
编辑: 目标是构建一个深度学习网络并在最终的 C++ 应用程序中重用它。
【问题讨论】:
-
我遇到了同样的问题。你找到解决办法了吗?
-
Theano 似乎缓存了优化结果,因此任何后续调用都应该很快。尽管如此,在例如之后工作站重新启动,您必须再次进行优化。酸洗解决了这个问题。编译 Theano 函数对象后,您可以对其进行腌制,然后在需要时加载。
-
但是我可以从 C/C++ 代码中调用 pickled 函数吗?
-
您可以尝试使用Boost.Python pickle interface 加载它,但我不确定您是否可以在没有python 的情况下使用它。正如@nouiz 在下面指出的那样,您始终可以从 C++ 中调用 python 代码并从那里使用腌制对象。
-
谢谢!我一定会试一试的。
标签: c++ python-2.7 theano