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)

运行上述代码后,内核将在以下消息后重新启动:

运行时死了。自动重启。

我做错什么了吗?任何帮助表示赞赏。

4

1 回答 1

3

这里的问题是您的虚拟机内存不足。

根据您要执行的操作,numpy为您提供两种减少返回数据量的方法——来自docs

  • 您可以通过compute_uv=False以完全跳过计算酉矩阵UV, 或
  • 您可以通过full_matrices=False以避免计算完整UV矩阵。

特别是, withfull_matrices=TrueU一个70000x70000矩阵,这就是导致内存不足问题的原因。

于 2018-01-24T04:41:34.590 回答