在Theano中执行期间选择GPU

卡米列里

我正在4 GPU机器上用theano和烤宽面条训练神经网络。.theanorc包含以下几行:

[global]
device = gpu0

所以当我在python中执行时import theano,我得到了Using gpu device 0: GRID K520

如果在导入theano后选择使用gpu1,该怎么办?我想动态地执行此操作,也就是说,可以不进行编辑.theanorc吗?甚至在运行时选择它?

埃尔克·斯帕克

恐怕Theano导入后就无法更改执行设备。文档中

配置设备

字符串值:“ cpu”,“ gpu”,“ gpu0”,“ gpu1”,“ gpu2”或“ gpu3”

[...]

在程序执行期间不能修改该标志的值。

奖励:但是,假设您要让两个Python进程分别在单独的GPU上运行(这就是您想要的吗?),那么您可以执行以下操作:

import os
os.system("THEANO_FLAGS='device=gpu0' python myscript.py")
os.system("THEANO_FLAGS='device=gpu1' python myscript.py")

或侵入/扩展Python的多处理模块(通过产生子进程来工作),以确保在产生子进程之前设置了标志。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章