【问题标题】:Keras mnist dataset importKeras mnist 数据集导入
【发布时间】:2018-08-11 19:46:13
【问题描述】:

我正在尝试在 Macbook 中使用 keras 代码导入 mnist 数据集。但它给出了下面的错误。

# Loading the data
from keras.datasets import mnist

(x_train, y_train), (x_test, y_test) = mnist.load_data()

我得到的错误:

During handling of the above exception, another exception occurred:

Exception                                 Traceback (most recent call last)
<ipython-input-11-fdb6855f8337> in <module>()
      2 from keras.datasets import mnist
      3 
----> 4 (x_train, y_train), (x_test, y_test) = mnist.load_data()

/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/keras/datasets/mnist.py in load_data(path)
     21     path = get_file(path,
     22                     origin='https://s3.amazonaws.com/img-datasets/mnist.npz',
---> 23                     file_hash='8a61469f7ea1b51cbae51d4f78837e45')
     24     f = np.load(path)
     25     x_train, y_train = f['x_train'], f['y_train']

/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/keras/utils/data_utils.py in get_file(fname, origin, untar, md5_hash, file_hash, cache_subdir, hash_algorithm, extract, archive_format, cache_dir)
    222                 urlretrieve(origin, fpath, dl_progress)
    223             except URLError as e:
--> 224                 raise Exception(error_msg.format(origin, e.errno, e.reason))
    225             except HTTPError as e:
    226                 raise Exception(error_msg.format(origin, e.code, e.msg))

Exception: URL fetch failure on https://s3.amazonaws.com/img-datasets/mnist.npz: None -- [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:777)

提前致谢

(注意:我试图从.keras/datasets/ 中删除文件,如issue 中所述)

【问题讨论】:

  • 你在代理后面吗?

标签: tensorflow dataset keras


【解决方案1】:

在 mac 上,转到 keras 文件夹。应该在 ~/.keras/

那里会有一个名为 datasets 的文件夹。从here 下载数据集并将其移动到该文件夹​​。现在运行相同的代码。

【讨论】:

    【解决方案2】:

    如果您在 Mac 上遇到此问题,那是因为 Mac 上的 Python3.6 没有证书,无法验证来自 Github 的证书。

    运行以下命令安装证书:

    /Applications/Python 3.6/Install Certificates.command
    

    查看这些链接以获取有关此问题的更多信息

    https://github.com/ageron/handson-ml/issues/46

    urllib and "SSL: CERTIFICATE_VERIFY_FAILED" Error

    【讨论】:

      【解决方案3】:

      我假设您没有使用代理(否则,这可能是问题所在)。我敢打赌这是您机器上安装的证书的问题。

      如果这是 python 3.6,请尝试安装 certifi 并告诉我是否可以解决问题。

      如果你想要一个稍微有问题的解决方案,你可以尝试设置一个环境变量 PYTHONHTTPSVERIFY=0

      让我知道这两种方法是否有效。很高兴继续探索这个问题。

      在浏览器中下载工作正常(可能是终端中的代理或证书问题)。他设法通过手动将下载的文件放置在安装程序预期的位置来修复它。

      【讨论】:

      • 我尝试了certifi,但它不起作用,但我不知道如何更改环境变量。你能解释一下吗?或者你会推荐其他东西吗?
      • 你是从mac的终端运行python脚本吗?您可以输入“export PYTHONHTTPSVERIFY=0”。然后尝试使用 python NAMEOFSCRIPT.py 再次调用它
      • 另一个问题是:你能在浏览器中直接转到s3.amazonaws.com/img-datasets/mnist.npz吗?这将很好地表明这是否可能是代理连接的问题
      • 当我打开链接时它会下载它但是当我运行脚本时它不起作用。
      • 是的,终端和笔记本我都试过了,都不行
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-12-29
      • 1970-01-01
      • 2018-09-27
      • 2019-01-15
      • 1970-01-01
      • 2021-05-30
      • 2019-11-06
      相关资源
      最近更新 更多