我正在使用 Theano 结合 pygpu。
通常情况下,它运行得很好,直到有一天,我试图导入 theano 时出现了以下错误,而我至今仍未能理解其原因:
ERROR (theano.gpuarray): Could not initialize pygpu, support disabledTraceback (most recent call last): File "/home/poko/Software/anaconda2/lib/python2.7/site-packages/theano/gpuarray/__init__.py", line 220, in <module> use(config.device) File "/home/poko/Software/anaconda2/lib/python2.7/site-packages/theano/gpuarray/__init__.py", line 207, in use init_dev(device, preallocate=preallocate) File "/home/poko/Software/anaconda2/lib/python2.7/site-packages/theano/gpuarray/__init__.py", line 94, in init_dev **args) File "pygpu/gpuarray.pyx", line 651, in pygpu.gpuarray.init File "pygpu/gpuarray.pyx", line 587, in pygpu.gpuarray.pygpu_initGpuArrayException: cuInit: CUDA_ERROR_UNKNOWN: unknown error
如果我重启电脑,它又能正常工作一段时间(有时候能持续几天)。
这种情况很奇怪,因为这些事情要么能正常工作,要么就不能。我完全不知道是什么导致了这个错误,除了通过 nvidia-smi 观察到 xorg 和 chrome 消耗了大量的内存:
+-----------------------------------------------------------------------------+| Processes: GPU Memory || GPU PID Type Process name Usage ||=============================================================================|| 0 1332 G /usr/lib/xorg/Xorg 392MiB || 0 2243 G cinnamon 110MiB || 0 4927 G ...-token=39C210A3DFA14C5D81FA629C813B843D 154MiB |+-----------------------------------------------------------------------------+
回答:
后来我发现,只需卸载 nvidia_uvm 模块就能解决这个问题,方法如下:
sudo rmmod nvidia_uvm
之后,它会自动重新加载。
希望这对遇到同样问题的人有所帮助。