当尝试进行SVD时,Google Colaboratory内核死机。

3

我正在尝试在Google Colaboratory Python 2环境中对MNIST数据集执行SVD。以下是我的代码:

from sklearn.datasets import fetch_mldata
import numpy as np

mnist = fetch_mldata('MNIST original')

U, S, V = np.linalg.svd(mnist.data)

运行以上代码后会得到以下信息,内核在消息显示后重新启动:

运行时出错,正在自动重启。

是否有什么错误?需要帮助,请及时联系。
1个回答

3
问题在于您的虚拟机内存不足。根据您想要做什么,numpy 提供了两种减少返回数据量的方法 -- 详见文档
- 您可以传递 compute_uv=False 来完全跳过计算酉矩阵 UV,或者 - 您可以传递 full_matrices=False 来避免计算完整的 UV 矩阵。
特别地,当 full_matrices=True 时,U 是一个 70000x70000 的矩阵,这就是导致内存不足的原因。

有没有办法可以请求增加虚拟机的内存分配? !free -g 显示只有大约6GB可用。我希望能够运行更大的数据集。也许colab不是正确的地方。 - akilat90

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接