RuntimeError: Attempting to deserialize object on a CUDA device but torch.cuda.is_available() is Fal

问题描述

当使用 torch.load() 加载模型时,出现以下错误

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.

以上问题描述是说未获取到当前环境下的 cuda,若你当前在只有 CPU 环境下运行的话,需要加上map_location=torch.device('cpu')。但问题在于我当前的环境是有 GPU 以及 CUDA 的。

在网上找了很久,也有很多人说是 CUDA 版本 与 torch 版本不一致,但我当前版本也是一致的。

解决办法:

如果你与我以上的情况一致,可以试试以下解决方法:
在文件开头加上以下代码即可解决以上报错问题。

print(torch.cuda.is_available())
import torch
torch.cuda.current_device()
torch.cuda._initialized = True

你可能感兴趣的:(python,pytorch,深度学习,自然语言处理)