用于机器学习和人工智能的快速可扩展阵列
bigarra的Python项目详细描述
大阵列
使用内存映射I/O的快速可扩展numpy阵列
稳定身材:
pip install bigarray
github夜间构建:
pip install git+https://github.com/trungnt13/bigarray@master
三大原则
- Transparency:一切都是
numpy.array
,元数据和对额外功能的支持(例如多处理、索引等)都是在background中巧妙实现的。在 - 实用主义:快速但简单,为常见用例简化了A.P.I
- Focus:“做一件事做好”
基准
比HDF5数据(使用h5py
)快大约^{str1}$535倍,^{str1}$223倍于正常numpy.array
The detail benchmark code
Array size: 1220.70 (MB)
Create HDF5 in: 0.0005580571014434099 s
Create Memmap in: 0.000615391880273819 s
Numpy save in: 0.5713834380730987 s
Writing data to HDF5 : 0.5530977640300989 s
Writing data to Memmap: 0.7038380969315767 s
Numpy saved size: 1220.70 (MB)
HDF5 saved size: 1220.71 (MB)
Mmap saved size: 1220.70 (MB)
Load Numpy array: 0.3723734531085938 s
Load HDF5 data : 0.00041177100501954556 s
Load Memmap data: 0.00017150305211544037 s
Test correctness of stored data
Numpy : True
HDF5 : True
Memmap: True
Iterate Numpy data : 0.00020254682749509811 s
Iterate HDF5 data : 0.8945782391820103 s
Iterate Memmap data : 0.0014937107916921377 s
Iterate Memmap (2nd) : 0.0011746759992092848 s
Numpy total time (open+iter): 0.3725759999360889 s
H5py total time (open+iter): 0.8949900101870298 s
**Mmap total time (open+iter): 0.001665213843807578 s**
示例
^{pr2}$输出:
[0 1 2 3 4 5 6 7 8 9]
[660 661 662 663 664 665 666 667 668 669]
[780 781 782 783 784 785 786 787 788 789]
319600 319600
- 项目
标签: