有.npy,形状为(37,3,224,224)。这些是驻留在'E:/ augmentTest'文件夹中的图像。文件夹中有1384个这样的.npy文件。
我读了这些文件并加载到numpy数组中。
df = pd.read_csv('C:/CT_SCAN_IMAGE_SET/resnet_50/dbs2017/data/stage1_labels.csv')
x = np.array([np.mean(np.load('E:/augmentTest/%s.npy' % str(id)), axis=0) for
id in df['id'].tolist()])
print (x.shape)
当打印x的形状时,我得到以下结果。
(1384, 3, 224, 224).
我想知道x的形状是如何变成4D的。因为x包含带有形状的.npy文件,(37,3,224,224),(67,3,224,224),(50,3,224,224)等。当它放入时,真实的图像形状会发生变化要arrray x?
Shape(1384,3,224,224)表示它有1384个图像(3,224,224)。但我的真实图像有形状(37,3,224,224),(67,3,224,224),(50,3,224,224)。所以我觉得图像的第一个维度在放到x时已经错过了?我错过了什么吗?有人可以帮我理解这个吗?
答案 0 :(得分:1)
由于此命令,数组的大小为1384, 3, 224, 224
:
np.mean(np.load('E:/augmentTest/%s.npy' % str(id)), axis=0)
加载后,每个图像都在其第一维上mean
,将数组折叠为大小3, 224, 224
。由于1384
图片已加载并mean
,因此您的最终数组大小为1384, 3, 224, 224
。