由于“ UnpicklingError:无效的加载密钥”,因此无法从其他存储库中加载克隆的pickle文件。

时间:2019-02-26 19:56:53

标签: python pickle

我尝试从其他人加载泡菜文件。我相信这是torch创建的神经网络模型。该变量仅由pickle.dump(variable, file, protocol=pickle.HIGHEST_PROTOCOL)保存。但是,我很难将其加载到本地计算机上。我不想再次训练模型,因为它效率不高。有人可以帮助我将泡菜文件加载吗?我已经尝试过搜索它,但是解决方案都帮不了我。

我尝试加载别人创建的泡菜文件。我从GitLab的仓库中克隆了它。代码就像:

import pickle

with open('pickle_from_repo.pickle', 'rb') as f:
  var = pickle.load(f)

我得到的错误是:

UnpicklingError: invalid load key, 'v'.

我已经检查了源代码,该变量被存储到pickle中

def dump(self, path):
  with open(path, 'wb') as f:
    pickle.dump(self.classes_, f, protocol=pickle.HIGHEST_PROTOCOL)

有人告诉我这可能是git lfs问题,但我不太明白为什么会是问题。

1 个答案:

答案 0 :(得分:0)

将泡菜装入错误是由于缺少完整文件引起的。由于它们的大小,它们存储在GIT的特殊部分中,必须以特殊方式下载。

使用LFS应该可以帮助您解决问题。

in the Flint project

::