【发布时间】:2020-06-19 10:16:14
【问题描述】:
我正在运行用于机器学习的大型数据集,但我的笔记本电脑内存有限 (8GB)
Python 给了我这个错误
MemoryError: Unable to allocate 1.34 GiB for an array with shape (49998, 3607) and data type float64
当我运行这一行时
df_features = df_features.pivot(index='RepID', columns='Code', values='Frequency')
如何将 USB 记忆棒用作 RAM 或如何通过 python 将 HDD 用作 RAM?
【问题讨论】:
-
如果您安装了swap partition,您的操作系统应该使用它进行交换。请记住,切换到 HDD 非常非常慢,甚至可能更慢到拇指驱动器。如果要将硬盘用作内存,则应使用速度更快的 SSD。虽然如果可能的话,最好只扩展你的 RAM。
-
另一种方法是减小数组的大小或您正在处理的数据的分辨率。
-
@JanChristophTerasa 我检查了计算机中的虚拟内存大小,它显示“自动管理”,这意味着它已经处于活动状态?那为什么 Python 不使用它呢?
-
我不知道那是什么意思。每个操作系统都有不同的方式来设置交换驱动器,我认为在这里处理它超出了 SO 的范围。
-
@JanChristophTerasa 谢谢,看起来它正在使用交换分区:)