numpy 中出现shape为0,处理h5数据时的shape为0是什么意思?
研究3D-CNN-UNET
的数据读取时,遇到了下面的代码:
data_storage = hdf5_file.create_earray(hdf5_file.root, 'data', tables.Float32Atom(), shape=data_shape,
filters=filters, expectedrows=n_samples * Config.voxel_num)
其中,shape=(0,1,28,28,28)
中间有个0,查阅源码注释如下:
shape : tuple
The shape of the new array. One (and only one) of the shape
dimensions *must* be 0. The dimension being 0 means that the
resulting EArray object can be extended along it. Multiple
enlargeable dimensions are not supported right now.
翻译:
存储的array的shape,第一个维度必须是0,有且仅有这一个,代表这个维度是可拓展的。
因为这个create_earray
就是创建可拓展矩阵的函数(E
nlargeable)。
这里写0,代表可变。