【发布时间】:2019-09-29 16:14:49
【问题描述】:
当我尝试在 Colab 中创建一个具有 12GB RAM 的 numpy 矩阵时,我看到了内存错误:
A = np.zeros((644253, 50, 259))
我该如何解决这个问题?
【问题讨论】:
-
这需要大约 8 GB 的内存 (
644253 * 50 * 259/1000/1024/1024)。您是否也在运行其他进程? -
默认类型是 float64 所以每个元素 8 个字节 @kmario23
-
如果矩阵是稀疏的,你可能想看看sparse matrix objects in scipy。
-
@MarkSetchell 啊,是的,我忘了乘以那个因素。
8 * 644253 * 50 * 259/1024/1024/1024=62.16076277196407GB。感谢您指出这一点:) -
如果你的矩阵是稀疏的,一个可能的替代方法是使用
scipy.sparse。请注意,scipy.sparse仅支持 2d 矩阵,因此您需要某种技巧来处理 3d 数组(例如,重塑数组)。这取决于你想做什么。
标签: numpy memory-management out-of-memory google-colaboratory