你知道如何在PyTorch 1.9中解决这个问题吗?
File "main.py", line 138, in main
checkpoint = torch.load(args.resume)
File "/scratch3/venv/fashcomp/lib/python3.8/site-packages/torch/serialization.py", line 608, in load
return _legacy_load(opened_file, map_location, pickle_module, **pickle_load_args)
File "/scratch3/venv/fashcomp/lib/python3.8/site-packages/torch/serialization.py", line 787, in _legacy_load
result = unpickler.load()
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xbe in position 2: invalid start byte我有:
$ pip freeze
h5py==3.3.0
joblib==1.0.1
numpy==1.21.2
Pillow==8.3.1
scikit-learn==0.24.2
scipy==1.7.1
sklearn==0.0
threadpoolctl==2.2.0
torch==1.9.0
torchaudio==0.9.0
torchvision==0.10.0
typing-extensions==3.10.0.0发布于 2021-08-20 21:17:22
你能试试这样的东西吗?
>>> torch.load('model.pt', encoding='ascii') # or latin1, or other encoding默认情况下,我们将字节字符串解码为utf-8。这是为了避免常见的错误情况UnicodeDecodeError:'ascii‘编解码器不能解码字节0x.当加载Python 2在Python 3中保存的文件时,如果此默认值不正确,可以使用额外的编码关键字参数来指定如何加载这些对象,例如,编码=‘latin1 1’使用latin1编码将它们解码到字符串中,而编码=‘字节’则将它们保持为字节数组,以后可以用byte_array.decode(.)对其进行解码。
读这,第二个音符。
https://stackoverflow.com/questions/68868019
复制相似问题