【问题标题】:UnpicklingError: invalid load key, '\x0a'UnpicklingError: 无效的加载键,'\x0a'
【发布时间】:2019-06-04 16:33:34
【问题描述】:
model_save_name = 'classifier.pt'
path = F"/content/gdrive/My Drive/Others/{model_save_name}"

model.load_state_dict(torch.load(path), strict = False)

试图从路径加载到模型 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'.

【问题讨论】:

    标签: python-3.x neural-network pytorch


    【解决方案1】:

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

    【讨论】:

    • torch.save(model.state_dict(), path) 这很好还是你想要使用torch.save的完整代码块?
    • 不,这没关系,很多人使用 torch.save 来保存多个属性,如优化器状态等。 \x0a 是新行,所以这就是 pickle 得到的,但它应该是一本字典。我会建议你再次尝试腌制并重试。
    猜你喜欢
    • 2011-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-29
    • 2022-01-24
    • 1970-01-01
    相关资源
    最近更新 更多