gpt4 book ai didi

python - 内存错误: Unable to allocate array shape ({very large}), windows Python解决方案

转载 作者:行者123 更新时间:2023-12-03 21:01:07 24 4
gpt4 key购买 nike

尽管存在很多这些问题,但我找不到适用于 Windows 的任何可行解决方案:

我得到了一个很大的列表(列表):(~30000,48,411)(在某些情况下甚至更大),我需要它作为训练我的 LSTM 模型的 numpy 数组......
任何想法,如何解决? (我不使用 Linux,只使用 Windows 和 python 64 位)

我已经尝试将其转换为 np.float32-> 还是太大了!
然后我尝试将其转换为 np.float16-> "tuple not callable"

这个想法是通过 np.memmap() 保存和加载它,但因此我之前也需要它作为一个 numpy 数组。 (训练过程也需要这种格式,所以目标是将其转换为np.NdArray)

我什至尝试将其拆分为较小的列表(十分之一),但仍然无法分配。

最佳答案

我不清楚你有这些“列表列表”的格式是什么,“太大”是什么意思(我假设是为了你的内存?),但你可能想查看 dask .
有了它,你可以做类似的事情

import dask.array as da
import dask
import numpy as np

...
arrays = []
for i in range(nfiles):
arrays.append(da.from_delayed(read_list(...), shape = (...))
arr = da.stack(arrays)

dask documentation有更多关于如何创建 dask 数组的示例。

通常,如果您的数据太大而无法处理内存(2-3GB 的数据不应该是这种情况),则处理速度会非常慢,因此最好的办法是分块,然后分块分析。

关于python - 内存错误: Unable to allocate array shape ({very large}), windows Python解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57577126/

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