2024-05-21 13:38:56 发布
网友
我试着改变这个程序中使用的设备。
from theano import config config.device = "gpu1"
但是我犯了错误
Exception: Can't change the value of this config parameter after initialization!
我想知道在代码中将gpu改为gpu1的最佳方法是什么?
谢谢
无法在同一进程中运行的代码中更改此值。最好的方法是有一个“parent”进程来改变,例如THEANO_FLAGS环境变量并生成子进程。但是,产卵的方法将决定孩子们在哪个环境中操作。
THEANO_FLAGS
还要注意,没有办法通过更改来维护进程的内存。您不能在CPU上开始运行,对存储在内存中的值执行一些操作,然后更改为在GPU上运行,并使用工作的早期(CPU)阶段中仍在内存中的值继续运行。必须关闭并重新启动该进程,才能应用设备更改。
一旦您import theano设备已修复,并且无法在执行导入的进程中进行更改。
import theano
另一个对我有用的可能性是在导入序号之前,在该过程中设置环境变量:
import os os.environ['THEANO_FLAGS'] = "device=gpu1" import theano
删除anoc中的“设备”配置,然后在代码中:
import theano.sandbox.cuda theano.sandbox.cuda.use("gpu0")
对我有用。
https://groups.google.com/forum/#!msg/theano-users/woPgxXCEMB4/l654PPpd5joJ
无法在同一进程中运行的代码中更改此值。最好的方法是有一个“parent”进程来改变,例如
THEANO_FLAGS
环境变量并生成子进程。但是,产卵的方法将决定孩子们在哪个环境中操作。还要注意,没有办法通过更改来维护进程的内存。您不能在CPU上开始运行,对存储在内存中的值执行一些操作,然后更改为在GPU上运行,并使用工作的早期(CPU)阶段中仍在内存中的值继续运行。必须关闭并重新启动该进程,才能应用设备更改。
一旦您
import theano
设备已修复,并且无法在执行导入的进程中进行更改。另一个对我有用的可能性是在导入序号之前,在该过程中设置环境变量:
删除anoc中的“设备”配置,然后在代码中:
对我有用。
https://groups.google.com/forum/#!msg/theano-users/woPgxXCEMB4/l654PPpd5joJ
相关问题 更多 >
编程相关推荐