raise RuntimeError('Attempting to deserialize object on a CUDA ' 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.
时间: 2023-10-14 08:21:41 浏览: 160
torch.cuda.is-available()返回False的问题解决
这个错误通常是因为模型的状态字典在GPU上被序列化,但在反序列化时,代码只能在CPU上运行。解决方法是将模型加载到CPU上:
```python
model = torch.load(PATH, map_location=torch.device('cpu'))
```
这将把模型加载到CPU上。如果你想在GPU上继续使用模型,你需要确保你的代码在GPU上运行,并且你的GPU可以被PyTorch识别。你可以使用以下代码来检查你的GPU是否可用:
```python
import torch
if torch.cuda.is_available():
device = torch.device("cuda")
print(f"Using GPU: {torch.cuda.get_device_name(0)}")
else:
device = torch.device("cpu")
print("Using CPU")
```
如果你的GPU不能被PyTorch识别,你需要安装正确的CUDA驱动程序和相应的PyTorch版本。
阅读全文