在 CPU 中存储特定的共享变量

Storing specific shared variables in CPU

theano中是否可以选择性的选择CPU中的一些共享变量?我在整个词汇表 (~2M) 的输出层中有一个巨大的矩阵,不适合 GPU 内存。我已经尝试通过采样减小它的大小,但我想看看我是否可以使用整个矩阵。我可以做的一种方法是在 theano 标志中使用 device=cpu,init_gpu_device=gpu。但是,这似乎只在需要的基础上使用 GPU。我查了教程,好像没有更详细的内容。

我想知道是否可以指定一个或几个共享变量存储在cpu中。我猜可以在创建共享变量时做到这一点。在 GPU 中拥有一些变量会比在 CPU 中拥有所有变量更快,对吗?或者 theano 是否以某种方式自动找出哪些隐式 keep/move?希望得到一些解释。

在较新的 Theano 中(我忘记了 Theano 0.8.2 或 Theano 0.9 的开发版本),有一个不同的界面。你可以做 theano.shared(data, target='cpu')

像之前一样继续初始化 GPU。