numpy 中出现shape为0,处理h5数据时的shape为0是什么意思?

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就是创建可拓展矩阵的函数(Enlargeable)。
这里写0,代表可变。

你可能感兴趣的:(机器学习)