我尝试从其他人那里加载 pickle 文件。我相信它是由 torch
创建的神经网络模型。该变量仅由 pickle.dump(variable, file, protocol=pickle.HIGHEST_PROTOCOL)
保存。但是,我很难将其加载到本地计算机中。我不想再次重新训练模型,因为它效率不高。谁能帮我加载 pickle 文件?我试图用谷歌搜索它,但没有任何解决方案可以帮助我。
我尝试加载其他人创建的 pickle 文件。我从 GitLab 上的 repo 克隆它。代码很简单:
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
问题,但我不太明白为什么会出现这个问题。 最佳答案
加载pickles的错误是由于缺少完整文件引起的。由于它们的大小,它们存储在 GIT 的特殊部分,必须以特殊方式下载。
使用 LFS 应该可以帮助您解决问题。
https://git-lfs.github.com/
> git lfs install
> git lfs fetch
> git lfs pull
关于python - 由于 "UnpicklingError: invalid load key.",无法从其他 repo 加载 pickle 文件克隆,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54893134/