尝试使用 torch.load(PATH) 加载预训练模型时出现 unicode 解码错误 [英] getting unicode decode error while trying to load pre-trained model using torch.load(PATH)

查看:36
本文介绍了尝试使用 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 解码错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆