h5py广播是指什么?

时间:2014-01-25 16:50:09

标签: numpy h5py

h5py文档(http://www.h5py.org/docs/high/dataset.html)说明如下:

重要的是,h5py在写入之前不使用NumPy进行广播...

>>> dset2 = f.create_dataset("MyDataset", (1000,1000,1000), 'f')
>>> data = np.arange(1000*1000, dtype='f').reshape((1000,1000))
>>> dset2[:] = data  # Does NOT allocate 3.8 G of memory

在这种情况下,doest广播是指什么?

1 个答案:

答案 0 :(得分:0)

这里,广播正在复制(1000,1000)阵列1000次,因此它匹配(1000,1000,1000)形状。

H5py在写入磁盘之前不会先在内存中创建完整数组,而是将1000(1000,1000)数组写入1000次,在磁盘上创建正确的数组,同时只使用1/1000的内存。

您可以详细了解numpy广播的规则here