如何更改theano使用的设备

Ale*_*Gao 17 python theano

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

from theano import config
config.device = "gpu1"
Run Code Online (Sandbox Code Playgroud)

但是我收到了错误

Exception: Can't change the value of this config parameter after initialization!
Run Code Online (Sandbox Code Playgroud)

我想知道在代码中改变gpu到gpu1的最佳方法是什么?

谢谢

aKz*_*enT 9

另一种对我有用的可能性是在导入theano之前在过程中设置环境变量:

import os    
os.environ['THEANO_FLAGS'] = "device=gpu1"    
import theano
Run Code Online (Sandbox Code Playgroud)


Dan*_*haw 8

在同一进程中运行的代码中无法更改此值.您可以做的最好的事情是拥有一个"父"进程,例如,改变THEANO_FLAGS环境变量并生成子进程.但是,产卵方法将决定儿童在哪个环境中活动.

另请注意,无法通过更改维护进程内存的方式执行此操作.您无法开始在CPU上运行,使用存储在内存中的值执行某些操作然后更改为在GPU上运行并使用早期(CPU)工作阶段中仍在内存中的值继续运行.必须关闭并重新启动该过程才能更改要应用的设备.

只要您import theano修复了设备,就无法在执行导入的过程中进行更改.