pytorch 运行报错, RuntimeError: cuDNN error: CUDNN_STATUS_INTERNAL_ERROR
在使用pytorch训练完模型后,再进行test出现RuntimeError: cuDNN error: CUDNN_STATUS_INTERNAL_ERROR
错误。奇怪的是,之前测试的时候都能正常运行,偏偏现在不行,代码数据没有任何变化。
网上关于这个问题的答案很多,有说显存不足,pytorch版本问题等,都进行过尝试,没有解决。后来观察到第0张显卡被完全占满,所以猜想是不是有一些数据还是默认加载到了第0张卡上,虽然已经给模型和数据指定了device,使用空闲的显卡。于是test的时候使用CUDA_VISIBLE_DEVICES
预先指定了显卡号,这样应该所有用到GPU的地方都会加载到指定的卡上(注意需将代码中的显卡号改为0,现在可见的只有一张卡)。再次测试,CUDA_VISIBLE_DEVICES=1 python test.py
这样的方式能够成功执行。
在此记录,希望能帮到一些人。