UnpicklingError:无效的加载密钥,'\x0a'

van*_*sen 6 neural-network python-3.x pytorch

model_save_name = 'classifier.pt'
path = F"/content/gdrive/My Drive/Others/{model_save_name}"

model.load_state_dict(torch.load(path), strict = False)
Run Code Online (Sandbox Code Playgroud)

尝试从路径加载到模型 state_dict 中。稍后,相同的模型 state_dict 将用于保存检查点,例如torch.save(model.state_dict(), path)

错误回溯:

UnpicklingError                           Traceback (most recent call last)
<ipython-input-69-7cb7940c24e3> in <module>()
----> 1 model.load_state_dict(torch.load(path), strict = False)

/usr/local/lib/python3.6/dist-packages/torch/serialization.py in load(f, map_location, pickle_module)
    356         f = open(f, 'rb')
    357     try:
--> 358         return _load(f, map_location, pickle_module)
    359     finally:
    360         if new_fd:

/usr/local/lib/python3.6/dist-packages/torch/serialization.py in _load(f, map_location, pickle_module)
    530             f.seek(0)
    531 
--> 532     magic_number = pickle_module.load(f)
    533     if magic_number != MAGIC_NUMBER:
    534         raise RuntimeError("Invalid magic number; corrupt file?")

UnpicklingError: invalid load key, '\x0a'.
Run Code Online (Sandbox Code Playgroud)

sag*_*wal -1

模型是否使用与尝试加载的版本相同的 python 版本保存。如果没有,则不同版本的 pickle 发生了一些变化。另外,如果不是这种情况,您也可以发布您正在进行的 torch.save() 调用。