当我尝试加载
.pt
文件时,我看到以下错误,
str1='Dataset/ALL_feats_cgqa.pt'
m = torch.load(str1)
错误如下,
File "/home/Storage1/pythonCodeArea/train.py", line 21, in load_embeddings
m = torch.load(str1)
File "/home/.local/lib/python3.10/site-packages/torch/serialization.py", line 1040, in load
return _legacy_load(opened_file, map_location, pickle_module, **pickle_load_args)
File "/home/.local/lib/python3.10/site-packages/torch/serialization.py", line 1262, in _legacy_load
magic_number = pickle_module.load(f, **pickle_load_args)
_pickle.UnpicklingError: invalid load key, 'v'.
我不知道这个错误。任何帮助将不胜感激。
我的猜测是您的
.pt
文件很可能已损坏/损坏。可以按如下方式重现该问题:
import torch
from pathlib import Path
pt_file = Path("~/Downloads/test.pt").expanduser()
pt_file.write_text("v") # Write nothing but 'v' to .pt file
torch.load(pt_file) # Raises "UnpicklingError: invalid load key, 'v'."
我的建议是尝试从源再次获取
.pt
文件(重新下载、重新复制等)或备份(如果可能的话),或者尝试重新创建它并查看错误是否仍然存在。