RuntimeError: Attempting to deserialize object on a CUDA device but torch.cuda.is

RuntimeError: Attempting to deserialize object on a CUDA device but torch.cuda.is,第1张

问题描述

当使用 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

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/736610.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-28
下一篇 2022-04-28

发表评论

登录后才能评论

评论列表(0条)

保存