gpt4 book ai didi

python - 为什么 "nparray.tolist()"占用这么多空间?

转载 作者:太空狗 更新时间:2023-10-30 01:32:19 25 4
gpt4 key购买 nike

我现在正在做一个项目,有时我要处理一个 n 维数组(165L、653L、1024L、1L)。 (大约 100MB 的数据)。

出于 JSON 兼容性原因,我需要将其转换为常规列表。所以我使用了常规函数

array.tolist()

问题是这条线会导致 10GB 的 RAM 消耗。这里似乎有问题,我不应该在大数组上使用 tolist() 吗?

我在网上看了一会儿,我发现了一些关于 tolist() 泄漏内存的怀疑,特别是这里 Apparent memory leak with numpy tolist() in long running process在这里 https://mail.python.org/pipermail/matrix-sig/1998-October/002368.html .但这似乎与我的问题没有直接关系。

最佳答案

与其尝试将整个 165 x 653 x 1024 x 1 矩阵转换为列表以便您可以转身并将其转换为 JSON,只需对 653 x 1024 内部维度的列表进行 165 次转换,然后将它们写入使用您自己的明确分隔符的文件。

关于python - 为什么 "nparray.tolist()"占用这么多空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43122012/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com