gpt4 book ai didi

python - Numpy:在一台机器上耗尽内存,而在另一台机器上完成相同的任务

转载 作者:行者123 更新时间:2023-11-28 16:32:27 29 4
gpt4 key购买 nike

对于我的项目,我需要同时在内存中存储两个大数组。我尝试按如下方式创建它们:

matrix_for_words_train  = numpy.zeros(shape=(435679, 542))
matrix_for_words_test = numpy.zeros(shape=(435679, 542))

但是,在我的台式电脑上,第二个字符串导致 MemoryError。当我尝试在笔记本电脑上执行此操作时,我成功了。令我困惑的是台式机的内存是笔记本电脑的两倍(8 GB 对 4 GB)。两台机器都在 Ubuntu 上运行,台式机有 12.04,而笔记本电脑有 14.04(都是 32 位),在两台机器上我都试图用 python 2.7 执行上面的脚本
以防万一我用 free 检查了可用内存,它似乎没问题(总内存按预期显示,桌面有两倍以上的可用内存)。我想我在这里完全遗漏了一些东西。
提前致谢!

最佳答案

如果两台计算机都是 32 位的,它们实际上都是 4 GB RAM(除非你做了奇怪的事情来解决它,比如启用 PAE)。

32 位操作系统通常无法处理超过 4 GB 的 RAM。

此外,操作系统会抛出内存不足异常,不仅当整个系统几乎没有可用内存时,而且当它决定不能为这个特定进程分配更多内存时。

p>

此外,请注意数组需要一个连续的内存片段。因此,即使操作系统可以找到足够的空闲内存,它也可能找不到这个数量的空闲内存作为一个连续的碎片。甚至有可能整个系统中没有 0.5 GB RAM 的连续片段。

你必须使用数组吗?你能以不同的方式实现你的解决方案吗?如果是这样,我会推荐。你想做什么?

无论如何,内存不足异常在程序员看来通常不是那么确定。您甚至可能不会在同一天在同一台 PC 上获得相同的结果。

关于python - Numpy:在一台机器上耗尽内存,而在另一台机器上完成相同的任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30523852/

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