如果要素和要素2包含同一批图像的特征,那么要素[i]与每个i的要素2 [i]的图像相同,那么使用numpy函数将要素分组到单个数组中是有意义的拼接():
newArray = np.concatenate((features, features2), axis=3)
其中3是阵列将连接的轴.在这种情况下,您将得到一个具有维度(14637,10,10,103)的新数组.
但是,如果他们引用完全不同的批量图像并且您希望将它们合并在第一个轴上,以便将特征2的14637图像放置在第一个14637图像之后,那么,您无法最终获得阵列,因为numpy数组被构造为矩阵,而不是对象列表.
例如,如果您尝试执行:
> a = np.array([[0, 1, 2]]) // shape = (1, 3)
> b = np.array([[0, 1]]) // shape = (1, 2)
> c = np.concatenate((a, b), axis=0)
然后,你会得到:
ValueError: all the input array dimensions except for the concatenation axis must match exactly
因为您沿轴= 0连接,但轴1的尺寸不同.