重用已编译的Theano函数

时间:2014-01-14 11:07:56

标签: c++ python-2.7 theano

假设我在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 ++应用程序中重用它。

1 个答案:

答案 0 :(得分:7)

目前这是不可能的。有用户修改了Theano以允许腌制Theano功能,但是在解开时我们已经重新优化了图形。

有一个Pull Request允许Theano生成C ++库。然后,用户可以自己编译并将其用作普通的C ++库。 lib链接python lib并需要安装numpy。但这还没有为广泛使用做好准备。

你的目标是什么?节省编译时间?如果是这样,Theano已经缓存了它编译的c ++模块,所以下次重用它时,编译速度会更快。但是对于一个大图,优化阶段总是如上所述重做,这可能需要很长时间。

那你的目标是什么?

这是我们正在努力的事情。确保使用最新的Theano版本(0.6),因为它编译速度更快。开发版本也快一点。