加载模型出现 RuntimeError: Attempting to deserialize object on a CUDA device but torch.cuda.is_available()
·
今天在加载模型的时候出现了这个报错
问题现象
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='cpu' to map your storages to the CPU.
问题分析
根据报错的提示,这个问题应该是因为模型是在GPU上训练的,然后我是在CPU上加载两者环境差异导致的,如果朋友们的电脑有CPU,那么可以参考我下面的方法
解决办法
在原来的加载方法中指定参数map_location为cpu
checkpoint = torch.load("ckpts/cdnn/model.tar")
改为
checkpoint = torch.load("ckpts/cdnn/model.tar",map_location='cpu')
更多推荐
已为社区贡献12条内容
所有评论(0)