本文介绍了尝试使用 torch.load(PATH) 加载预训练模型时出现 unicode 解码错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
尝试使用 torch.load(PATH) 加载 ResNet 18 预训练模型,但遇到 Unicode 解码错误,请帮忙.
Trying to load a ResNet 18 pre-trained model using the torch.load(PATH) but getting Unicode decode error please help.
Traceback (most recent call last):
File "main.py", line 312, in <module>
main()
File "main.py", line 138, in main
checkpoint = torch.load(args.resume)
File "F:\InsSoft\Anaconda\lib\site-packages\torch\serialization.py", line 593, in load
return _legacy_load(opened_file, map_location, pickle_module, **pickle_load_args)
File "F:\InsSoft\Anaconda\lib\site-packages\torch\serialization.py", line 773, in _legacy_load
result = unpickler.load()
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xbe in position 2: invalid start byte
推荐答案
每当模型在 Torch 版本 < 上进行预训练时,就会出现此错误.0.4
但使用火炬版本 >0.4
用于测试/恢复.
所以使用 checkpoint = torch.load(args.resume,encoding='latin1')
This error hits whenever the model is pretrained on torch version < 0.4
but using torch version > 0.4
for testing / resuming.
so use checkpoint = torch.load(args.resume,encoding='latin1')
这篇关于尝试使用 torch.load(PATH) 加载预训练模型时出现 unicode 解码错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!