python2 加载 python3 生成的npz文件报错

pth模型是python3 的 所以我用

param = torch.load(pthfile)加载了模型 把处理后的数据存为npz文件

但是在python2环境下

weights = np.load(weights_dir ,allow_pickle=True)['arr_0'].item()报错

请问有什么办法能解决 python版本的兼容性问题呢?

直接原因是Py2和Py3的NumPy版本不同造成的。有一个建议,但不确定一定可行:joblib曾经是早期sklenrn的一个功能,后来独立出来了,建议题主在Py3环境下使用joblib模块(pip install joblib)对数据持久化,然后在Py2环境下使用sklearn.externals的joblib还原。