Python 中的内存错误
 
当计算机系统用完 RAM 随机存取存储器或内存来执行代码时,编程语言会引发内存错误。
如果它无法执行 Python 脚本,Python 解释器将为 Python 编程显示 MemoryError 异常。本文将讨论 Python 中的 MemoryError。
Python 中的 MemoryError
当 Python 脚本填满计算机系统中的所有可用内存时,会引发内存错误。解决此问题的最明显方法之一是增加机器的 RAM。
但购买新的 RAM 棒并不是这种情况的唯一解决方案。让我们看看这个问题的其他一些可能的解决方案。
切换到 64 位安装 Python
通常,使用 32 位 安装时会发生 MemoryError 异常。32 位 Python 安装只能访问大约等于 4 GB 的 RAM。
如果计算机系统也是 32 位,可用内存就更少了。在大多数情况下,甚至 4 GB 的内存就足够了。尽管如此,Python 编程仍然是一种多用途语言。
它被用于机器学习、数据科学、Web 开发、应用程序开发、GUI 图形用户界面和人工智能等重要领域。
不应因此阈值而受到限制。要解决此问题,你所要做的就是安装 Python 编程语言的 64 位 版本。
64 位 计算机系统可以访问 2⁶⁴ 不同的内存地址或 18-Quintillion 字节的 RAM。如果你有一个 64 位计算机系统,你必须使用 64 位版本的 Python 来发挥它的全部潜力。
Python 中的生成器函数
在从事机器学习和数据科学项目时,必须处理大量数据集。将如此庞大的数据集直接加载到内存中,对其执行操作并保存修改会很快填满系统的 RAM。
这种异常可能会导致应用程序出现严重的性能问题。解决此问题的一种方法是使用生成器。生成器即时或在需要时生成数据。
TensorFlow 和 Keras 等 Python 库提供了高效创建生成器的实用程序。还可以使用任何使用纯 Python 的库构建生成器。
要彻底了解 Python 生成器,请参阅本文。
在 Python 中优化你的代码
可以通过优化 Python 代码来解决 MemoryError 异常。优化包括以下任务:
- 
通过释放或释放新的或分配的内存来摆脱垃圾和未使用的数据。 
- 
将更少的数据保存到内存中,并改为使用 generators。
- 
使用批处理技术 将海量数据集分解成更小的数据块来计算更小的数据块以获得最终结果。这种技术通常用于训练巨大的机器学习模型,例如图像 分类器、聊天机器人、无监督学习和深度学习。
- 
要解决问题,请使用最先进的算法和强大而先进的数据结构,例如图形、树、字典或地图。 
- 
使用 动态规划保留预先计算的结果。
- 
使用 Numpy、Keras、PyTorch 和 Tensorflow 等功能强大且高效的库来处理数据。 
请注意,这些技术适用于所有编程语言,例如 Java、JavaScript、C 和 C++。
此外,优化提高了 Python 脚本的时间复杂度,大大提高了性能。
