如何从 npy 文件创建和加载 3 dim numpy.ndarray 读数?

How to create and load a 3 dim numpy.ndarray reading from npy files?

我有不同的 .npy 文件,其中保存了 numpy 数组(或表示为矩阵的图像,维度 = 64,另一个我不知道)。

我想阅读它们,将它们存储在 3 维的 numpy.ndarray 中。

到目前为止我所做的是非常不同的,我在处理我创建的结构时遇到了问题。

database_list = list()
labels_list = list()

for filename in glob.glob('*.npy'):
  database_list.append(np.load(filename))
  label_temp = extract_label(filename)
  labels_list.append(label_temp)

database = np.array(database_list)
labels = np.array(labels_list)

这样,我就有了 numpy.ndarray database 形状 (n_elements,)

假设我将每个图像重塑为 (n, 64),我希望 database 的形状为 (n_elements, n, 64).

我该怎么做?

我想要实现的是一个与 MNIST 数据库相同形状的数组,用于神经网络。

编辑:

database 类型是 numpy.ndarray。它无法重塑,database 的大小为 n,比如 10(因为它由 n 个元素组成,例如,如果加载 10 个文件,则为 10。这些文件是二维矩阵,但我希望它们是 "part of" 数据库)。

为了 database = np.array(database_list) 制作形状为 (n_elements, dim1, dim2) 的 3d 数组,database_list 必须包含所有形状为 (dim1, dim2) 的数组。如果它们的形状不同,结果将是一个具有对象 dtype 的 (n_elements,) 形状的数组(或者在某些情况下会抛出错误)。