在GPU上运行火炬预测模型时出错

时间:2018-06-28 13:31:57

标签: lua dockerfile cudnn

我一直在尝试使用特定的经过预训练的机器学习模型来为图片添加字幕。我一直在使用https://github.com/unnonouno/densecap

它带有一个Dockerfile,用于设置整个cuda / torch / cudnn环境。

通过运行run_model.lua脚本对新图片进行预测。通过传递-gpu -1在CPU上运行它时,它确实起作用,但是在删除争论并在GPU上运行它时,它不能工作。在这种情况下,我会收到以下错误消息:

THCudaCheck FAIL file=/tmp/luarocks_cutorch-scm-1-8398/cutorch/lib/THC/THCGeneral.c line=70 error=35 : CUDA driver version is insufficient for CUDA runtime version
/root/torch/install/bin/luajit: 
/root/torch/install/share/lua/5.1/trepl/init.lua:389: loop or previous error loading module 'cutorch'
stack traceback:
    [C]: in function 'error'
    /root/torch/install/share/lua/5.1/trepl/init.lua:389: in function 'require'
    ./densecap/utils.lua:26: in function 'setup_gpus'
    run_model.lua:145: in main chunk
    [C]: in function 'dofile'
    /root/torch/install/lib/luarocks/rocks/trepl/scm-1/bin/th:150: in main chunk
    [C]: at 0x00406670

我尝试了其他操作,例如通过运行cudnn重新安装luarocks install cudnn或从cudnn5降级到cudnn4都没有成功。

1 个答案:

答案 0 :(得分:0)

问题似乎出在您的CUDA驱动程序上:

  

CUDA驱动程序版本不足于CUDA运行时版本

看看类似的讨论here

无需更改cuDNN版本。您只需要纠正CUDA驱动程序/工具包的兼容性即可。