Python numpy连接4D

Python numpy连接4D,python,arrays,numpy,Python,Arrays,Numpy,我试图在vgg16模型中连接卷积层预测的2个numpy特性数组 基本上,我已经使用vgg16模型的底层来预测完整数据集的特性,现在我想根据一些设置动态加载数据集的部分,用它来训练一些模型 我有两个形状数组: (724512,6,8)和(3376512,6,8) 基本上,第一个包含从724个图像文件预测的特征(每个预测都有形状(512、6、8))。 我想将这两个数组连接成一个shape(4100、512、6、8) 我试过使用: np.array([np.concatenate(arr,axis=0

我试图在vgg16模型中连接卷积层预测的2个numpy特性数组

基本上,我已经使用vgg16模型的底层来预测完整数据集的特性,现在我想根据一些设置动态加载数据集的部分,用它来训练一些模型

我有两个形状数组:
(724512,6,8)
(3376512,6,8)
基本上,第一个包含从724个图像文件预测的特征(每个预测都有形状
(512、6、8)
)。 我想将这两个数组连接成一个shape
(4100、512、6、8)

我试过使用:

np.array([np.concatenate(arr,axis=0)表示错误列列表中的arr])

其中false_train_list是包含具有上述形状的2个数组的列表

还尝试了np.stack、tf.stack。。。 所有这些都会生成一个形状为(2,)的数组

有人能解释一下原因吗?我还没有找到任何好的资源来理解np.concatenate()到底是如何工作的


谢谢大家!

我想你只需要这个:

np.concatenate(false_train_list, axis=0)

我想你只需要这个:

np.concatenate(false_train_list, axis=0)

哇,这是真的。为什么这样做,而
np.array([np.concatenate(arr,axis=0)for arr in false\u train\u list])
不起作用?很抱歉,我刚刚开始使用python。我本以为,
[np.concatenate(arr,axis=0)for arr in false\u train\u list]
只会尝试将我列表中的所有数组连接到轴0上
np.concatenate(false\u train\u list,axis=0)
在我看来几乎一样。。。你能简单地解释一下有什么不同吗?文档中没有任何关于差异的提示:)谢谢您的耐心:)连接的第一个参数是要连接的数组列表,在
[np.concatenate(arr,axis=0)for arr in false\u train\u list]
中,您迭代两个数组,并分别将它们传递给连接,因此,您可以有效地连接每个子数组的所有行(单个数组被解释为一个行列表,请尝试
np.concatenate(np.eye(5),axis=0)
,以查看这是怎么做的),然后将两个结果都放在一个列表中。一点也不一样。@SorinPanduru在编程中“几乎”不算什么。一个将整个列表传递给
串联
,另一个每次传递列表的一个元素,并将结果收集到新列表中。你可能需要使用更简单的列表和列表理解。哇,这是真的。为什么这样做,而
np.array([np.concatenate(arr,axis=0)for arr in false\u train\u list])
不起作用?很抱歉,我刚刚开始使用python。我本以为,
[np.concatenate(arr,axis=0)for arr in false\u train\u list]
只会尝试将我列表中的所有数组连接到轴0上
np.concatenate(false\u train\u list,axis=0)
在我看来几乎一样。。。你能简单地解释一下有什么不同吗?文档中没有任何关于差异的提示:)谢谢您的耐心:)连接的第一个参数是要连接的数组列表,在
[np.concatenate(arr,axis=0)for arr in false\u train\u list]
中,您迭代两个数组,并分别将它们传递给连接,因此,您可以有效地连接每个子数组的所有行(单个数组被解释为一个行列表,请尝试
np.concatenate(np.eye(5),axis=0)
,以查看这是怎么做的),然后将两个结果都放在一个列表中。一点也不一样。@SorinPanduru在编程中“几乎”不算什么。一个将整个列表传递给
串联
,另一个每次传递列表的一个元素,并将结果收集到新列表中。您可能需要使用更简单的列表和列表理解。