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

时间:2015-09-09 05:40:43

标签: memory gpu theano

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

我想知道是否可以指定一个或几个共享变量存储在cpu中。我猜想在创建共享变量时可以这样做。在GPU中拥有一些变量比在CPU中使用所有变量更快吗?或者theano以某种方式弄清楚哪些隐式保持/自动移动?希望得到一些解释。

1 个答案:

答案 0 :(得分:1)

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

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