Python 我如何更改用于theano的设备

Python 我如何更改用于theano的设备,python,theano,Python,Theano,我试图更改基于theano的程序中使用的设备 from theano import config config.device = "gpu1" 然而我犯了一个错误 Exception: Can't change the value of this config parameter after initialization! 我想知道在代码中将gpu更改为gpu1的最佳方式是什么 谢谢在同一进程中运行的代码中无法更改此值。最好是有一个“父”进程来改变环境变量,例如,THEANO_FLAGS并生

我试图更改基于theano的程序中使用的设备

from theano import config
config.device = "gpu1"
然而我犯了一个错误

Exception: Can't change the value of this config parameter after initialization!
我想知道在代码中将gpu更改为gpu1的最佳方式是什么


谢谢

在同一进程中运行的代码中无法更改此值。最好是有一个“父”进程来改变环境变量,例如,
THEANO_FLAGS
并生成子变量。然而,产卵的方法将决定孩子们在哪个环境中工作

还要注意的是,没有办法通过更改来维护进程的内存。您不能开始在CPU上运行,使用存储在内存中的值执行一些工作,然后更改为在GPU上运行,并继续使用工作早期(CPU)阶段中仍在内存中的值运行。必须关闭并重新启动该过程才能应用设备更改

一旦您
import theano
设备已修复,并且无法在导入过程中更改。

删除.theanoc中的“设备”配置,然后在您的代码中:

import theano.sandbox.cuda
theano.sandbox.cuda.use("gpu0")
它对我有用


另一种对我有效的可能性是在导入编号之前,在流程中设置环境变量:

import os    
os.environ['THEANO_FLAGS'] = "device=gpu1"    
import theano