在一台带GPU的Windows上运行一个开源项目,依次安装好了各个依赖库、解决了虚拟内存空间不足的问题、解决了内存越界的问题之后,以为就要大功告成了,没想到又出了一个致命问题:

百度搜索了一下,不少人说是由于显存不够导致的。于是在运行程序的时候通过nvidia-smi查看显存占用情况,发现在错误出现之前现存占用一直在升高,直到基本接近显存上限:

于是把相同的程序挪到Linux服务器上(单显卡显存24G)配置运行,是OK的。 

所以解决该问题除了换大显存显卡之外,另外一个思路是降低单次送往显存的数据。实际上,在上述出问题的代码中,已经将wokers数量设置为0,并且batch_size也是1,所以可能是其他什么地方出了问题。目前仍然在定位。

更多推荐

RuntimeError: no valid convolution algorithms available in CuDNN