Sku*_*kum 5 python numpy python-2.7
我现在正在做一个项目,在某些时候我正在处理一个维度的nparray(165L,653L,1024L,1L).(大约100MB的数据).
出于JSON兼容性原因,我需要将其转换为常规列表.所以我使用了常规功能
array.tolist()
Run Code Online (Sandbox Code Playgroud)
问题是这一行会导致10GB的RAM消耗.这里似乎有些不对劲,我不应该在大数组上使用tolist()吗?
我已经浏览了一下网络,我发现了一些怀疑tolist()泄漏内存,特别是在这里有长期运行过程中的numpy tolist()显然内存泄漏,这里https://mail.python.org/pipermail/ matrix-sig/1998-October/002368.html.但这似乎与我的问题没有直接关系.
无需尝试将整个 165 x 653 x 1024 x 1 矩阵转换为列表以便您可以转身并将其转换为 JSON,只需对 653 x 1024 内部维度列表进行 165 次转换,然后将它们写入文件使用您自己的显式分隔符。
| 归档时间: |
|
| 查看次数: |
190 次 |
| 最近记录: |