RuntimeError: Attempting to deserialize object on a CUDA device but torch.cuda.is_available() is False. If you are running on a CPU-only machine, please use torch.load with map_location=torch.device(‘cpu’) to map your storages to the CPU.
记录具体问题,如下图所示
出现上述错误有两种情况,分别如下:
-
环境问题
python中安装的pytorch对应的CUDA版本和服务器上的显卡驱动对应的CUDA版本不兼容,显卡驱动对应的CUDA版本应当>=pytorch对应的CUDA版本。 -
代码设置问题
代码中GPU索引的设置不正确(超出了显卡的个数)
os.environ["CUDA_VISIBLE_DEVICES"] = "3"