RuntimeError: Attempting to deserialize object on a CUDA device but torch.cuda.is_available() is False.
时间: 2023-09-28 17:07:06 浏览: 133
这个错误是由于尝试将一个在CUDA设备上序列化的对象反序列化到一个没有CUDA支持的设备上引起的。具体来说,这个错误是由PyTorch框架抛出的,它表明代码正在尝试在没有CUDA支持的设备上加载一个在CUDA设备上保存的模型或对象。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [PyTorch错误解决方案及技巧RuntimeError: Attempting to deserialize object on CUDA device 2 but torch....](https://blog.csdn.net/CVAIDL/article/details/105331886)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
相关问题
RuntimeError: Attempting to deserialize object on a CUDA device but torch.cuda.is_available() is False
RuntimeError: Attempting to deserialize object on a CUDA device but torch.cuda.is_available() is False 这个错误通常发生在使用PyTorch加载保存在GPU上的模型时,但是当前环境没有可用的CUDA设备。要解决这个问题,你可以使用torch.load函数,并指定map_location参数为torch.device('cpu')或'map_location='cpu'',将模型加载到CPU上。
untimeError: Attempting to deserialize object on a CUDA device but torch.cuda.is_available() is False.
RuntimeError: Attempting to deserialize object on a CUDA device but torch.cuda.is_available() is False. 如果你在一个仅有CPU的机器上运行,请使用torch.load并设置map_location=torch.device('cpu')将存储映射到CPU上解决这个问题。你可以在加载模型时添加map_location='cpu'参数,然后将模型放到CPU上进行运算。例如:
device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
weights = torch.load('yolov.pt', map_location='cpu')
model = weights['model']
model = model.half().to(device)
_ = model.eval()