正如我在这里概述的那样,由于硬件原因,例如使用 ppc64le IBM 架构,我一直在使用旧版本的 pytorch 和 torchvision。
出于这个原因,我在不同的计算机、集群和我的个人 mac 之间发送和接收检查点时遇到问题。我想知道是否有任何方法可以避免此问题的加载模型?例如,可能在使用 1.6.x 时以旧格式和新格式保存模型。当然,对于 1.3.1 到 1.6.x 是不可能的,但至少我希望有些东西会起作用。
有什么建议吗?当然,我理想的解决方案是我不必担心它,我可以随时加载和保存我的检查点以及我通常在所有硬件上统一腌制的所有内容。
我得到的第一个错误是 zip jit 错误:
RuntimeError: /home/miranda9/data/f.pt is a zip archive (did you mean to use torch.jit.load()?)
Run Code Online (Sandbox Code Playgroud)
所以我使用了它(和其他泡菜库):
# %%
import torch
from pathlib import Path
def load(path):
import torch
import pickle
import dill
path = str(path)
try:
db = torch.load(path)
f = db['f']
except Exception as e:
db = torch.jit.load(path)
f = db['f']
#with open():
# db = pickle.load(open(path, "r+"))
# db = …
Run Code Online (Sandbox Code Playgroud)