2

一旦我尝试导入theano库,我就会收到此错误:

>>> import theano
ERROR (theano.sandbox.cuda): ERROR: Not using GPU. Initialisation of device gpu failed:
initCnmem: cnmemInit call failed! Reason=CNMEM_STATUS_OUT_OF_MEMORY. numdev=1

我的.theanorc的内容:

[global]
floatX = float32
device = gpu
optimizer = fast_run

[lib]
cnmem = 0.9

[nvcc]
fastmath = True

[blas]
ldflags = -llapack -lblas

[cmodule]
mac_framework_link=True

我也尝试过使用 theano 标志运行 python 环境,但仍然是同样的问题:

$ THEANO_FLAGS=mode=FAST_RUN,device=gpu,floatX=float32,lib.cnmem=0.9 python3

他们还在 Theano Github 页面上提到了类似的问题:设备 gpu 的初始化失败!,但是他们在谈论floatvsint的值CNMeM,我想我已经正确设置了0.9(没有特殊原因,我实际上尝试了1.0,0.950.5其他一些值,结果相同)。

我的设置:

  • Mac OS X 10.11.4
  • Xcode 7.2(我不得不从 7.3 降级)
  • 库达 7.5.19
  • Python 3.5.1

解决方案:

首先,我没有意识到 % 的值CNMeM总内存的百分比,并且因为我使用的是带有两个显示器的 gpu,所以我实际上没有太多的内存可用,无论如何我已经尝试过0.1并且它可以工作。

禁用 cuDNN 的第二个问题我通过将此行添加到 theano 配置来解决:

optimizer_including = cudnn

有关详细信息,请参阅此页面:sandbox/cuda/dnn

4

1 回答 1

0

首先,我没有意识到 % 的值CNMeM总内存的百分比,并且因为我使用的是带有两个显示器的 gpu,所以我实际上没有太多的内存可用,无论如何我已经尝试过0.1并且它可以工作。

禁用 cuDNN 的第二个问题我通过将此行添加到 theano 配置来解决:

optimizer_including = cudnn

有关详细信息,请参阅此页面:sandbox/cuda/dnn

于 2019-03-24T21:19:53.283 回答