如何将泡菜文件加载到numpy数组

时间:2019-02-14 07:41:31

标签: python pickle

我将Numpy数组保存到pickle文件中,形状为(850,32,27)。如何将这个pickle文件加载到Numpy数组中?我试图查找答案,但是我不能罚款。

4 个答案:

答案 0 :(得分:1)

脾气暴躁的人

np.save()

https://docs.scipy.org/doc/numpy/reference/generated/numpy.save.html

和一个

np.load()

https://docs.scipy.org/doc/numpy/reference/generated/numpy.load.html#numpy.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])

答案 1 :(得分:1)

典型的做法是:

import pickle

with open('my_array.pickle', 'rb') as file:
    arr = pickle.load(file)

答案 2 :(得分:1)

您可以使用np.load加载腌制的对象,并将参数allow_pickle设置为True。

np.load('file', allow_pickle=True)

有关更多信息,请检查:https://www.geeksforgeeks.org/numpy-load-in-python/

答案 3 :(得分:0)

您应该使用上述命令将数组加载到类型中,例如 Steven 建议的 np.load('file', allow_pickle=True),或调用:

filein0 = open('tensor_name', "rb")
t0 = pickle.load(filein0)

t0 is a tuple {tensor name, numpy array}

然后,您可以使用简单的方法提取所需的 numpy 数组:

arr = t0[1]