【发布时间】:2018-08-27 01:31:15
【问题描述】:
带有 nyp 文件和 memmap 函数的大型 numpy 数组(超过 4GB)
我正在使用 numpy 包进行数组计算,其中我阅读了 https://docs.scipy.org/doc/numpy/neps/npy-format.html
在“格式规范:2.0 版”中说,对于 .npy 文件,“2.0 版格式将标头大小扩展为 4 GiB”。
我的问题是:
- 什么是标头大小?这是否意味着我最多只能将大小为 4GB 数组的 numpy.array 保存到 npy 文件中?单个数组可以有多大?
我也看了https://docs.scipy.org/doc/numpy-1.14.0/reference/generated/numpy.memmap.html 其中声明“在 32 位系统上,内存映射文件不能大于 2GB”
这是否意味着 numpy.memmap 的限制是基于系统的内存?有没有办法避免这种限制?
此外,我读到我们可以选择数组的 dtype,其中最佳分辨率是“complex128”。有没有什么方法可以在 64 位计算机上更准确地“使用”和“保存”元素?(比 complex128 或 float64 更准确)
【问题讨论】: