Python 如何将pickle文件加载到numpy数组
我将Numpy数组保存到pickle文件中。形状是(850,32,27)。如何将此pickle文件加载到Numpy数组中?我试图查找答案,但我无法找到任何答案 Numpy有一个Python 如何将pickle文件加载到numpy数组,python,pickle,Python,Pickle,我将Numpy数组保存到pickle文件中。形状是(850,32,27)。如何将此pickle文件加载到Numpy数组中?我试图查找答案,但我无法找到任何答案 Numpy有一个 np.save() 和 np.load() 专门用于此目的的例行程序。用泡菜是可能的,但似乎杀伤力太大了 In [1]: import numpy as np
np.save()
和
np.load()
专门用于此目的的例行程序。用泡菜是可能的,但似乎杀伤力太大了
In [1]: import numpy as np
In [2]: A = np.linspace(0,1,10)
In [3]: np.save("bla.npy",A)
In [4]: B = np.load("bla.npy")
In [5]: B == A
Out[5]:
array([ True, True, True, True, True, True, True, True, True,
True])
这样做的标准方法是:
import pickle
with open('my_array.pickle', 'rb') as file:
arr = pickle.load(file)
可以使用np.load加载pickle对象,并将参数allow\u pickle设置为True
np.load('file',allow\u pickle=True)
有关更多信息,请检查:您应该使用上面的命令将数组加载到一个类型中,如Steven建议的
np.load('file',allow\u pickle=True)
,或调用:
filein0 = open('tensor_name', "rb")
t0 = pickle.load(filein0)
t0 is a tuple {tensor name, numpy array}
然后,您所需的numpy数组可以使用简单的:
arr = t0[1]
您可以使用
pickle.load()
加载pickle文件。这并不能回答问题。数组显然已经用pickle保存,需要加载。这是正确的方法。也许,但如果你没有时间机器,你就要用你所拥有的东西。我喜欢建议良好实践的答案,而不是帮助OP以错误的方式做某事:)+1问题是如何从保存的数组中提取numpy数组pickle file,加载操作返回name和numpy的元组,因此所需的答案是从元组中提取numpy数组问题是如何从保存的pickle文件中提取numpy数组,加载操作返回name和numpy的元组,因此,必需的答案是从元组中提取numpy数组的方法问题是如何从保存的pickle文件中提取numpy数组,加载操作将返回名称和numpy的元组,因此必需的答案是从元组中提取numpy数组的方法