gpt4 book ai didi

python - 除了 RAM 之外,还有哪些因素限制了 Numpy 数组的大小?这些因素可以调整吗?

转载 作者:太空宇宙 更新时间:2023-11-03 18:34:27 25 4
gpt4 key购买 nike

假设我创建了一个数组:

a=np.ones((21600,13,3,128),dtype=complex)

我遇到内存错误。

如果我将数组大小减半(注意,在我的机器上创建需要 10 分钟以上):

b=np.ones((10800,13,3,128),dtype=complex)

其大小(以 GB 为单位)为:

b.nbytes/1024**3 = 0.803375244140625 GB

这远低于我笔记本电脑中的 RAM 量 (2GB) - 因此,我认为创建“a”应该有效。有哪些限制因素阻止我处理如此大的数组?

理想情况下,我想使用 dtype=complex 创建形状为 (86400,13,3,128) 的数组。

有什么方法可以在不拆分的情况下做到这一点吗?

最佳答案

如果您的笔记本电脑有 2GB 内存,而 a 需要 1.6,那么内存不足的可能性就很大。 Windows、您的浏览器、邮件等已经占用了大量的资源。

作为一个额外的复杂性,numpy 将需要一个连续的 1.6 GB 内存块。这进一步降低了出现如此大区 block 的可能性。

如果您的应用程序/用例允许,可能值得尝试将数据存储在稀疏矩阵中。这仅存储非零元素 - 这可以节省大量内存(或不节省): http://docs.scipy.org/doc/scipy/reference/sparse.html

关于python - 除了 RAM 之外,还有哪些因素限制了 Numpy 数组的大小?这些因素可以调整吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21856047/

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