代码之家  ›  专栏  ›  技术社区  ›  Piotrek

获取mnist数据:当源服务器关闭时,如何手动设置mnist数据集?

  •  3
  • Piotrek  · 技术社区  · 6 年前

    我需要运行包含这些行的代码:

    from sklearn.datasets import fetch_mldata
    mnist = fetch_mldata('MNIST original')
    

    执行它似乎有问题。

    TimeoutError:[WinError 10060]连接尝试失败,因为连接方在一段时间后没有正确响应,或者由于连接主机未能响应而建立的连接失败。

    当代码试图下载时 某物 在某处 我的互联网连接工作得很好,我假设它想要访问的服务器已经关闭。

    如何手动设置?

    1 回复  |  直到 6 年前
        1
  •  8
  •   Vivek Kumar    6 年前

    fetch_mldata 默认情况下,将检查“~/scikit”中的数据,查看数据集是否已下载。

    根据 source code

        # if the file does not exist, download it
        if not exists(filename):
            urlname = MLDATA_BASE_URL % quote(dataname)
    

    所以在你的情况下,它会检查位置

    ~/scikit_learn_data/mldata/mnist-original.mat
    

    如果找不到,它将从下载

    http://mldata.org/repository/data/download/matlab/mnist-original.mat
    

    正如你所怀疑的,它现在已经下降了。

    因此,您可以从以下任何其他位置下载数据集:

    https://github.com/amplab/datascience-sp14/blob/master/lab7/mldata/mnist-original.mat
    

    把它放在上面的文件夹里。

    之后当你跑步时 fetch_mldata() 它应该在不连接mldata.org的情况下选择下载的数据集。

    更新:

    在这里 ~ 指的是用户主文件夹。根据您的系统,您可以使用以下代码了解该文件夹的默认位置。

    from sklearn.datasets import get_data_home
    print(get_data_home())