【Python/keras】mnist.load_data()でエラーが出た場合

Pythonと深層学習ライブラリ「Keras」で’pydot failed to call GraphViz.’エラーなどが出た場合の解決方法についてまとめました。

【Keras】’pydot failed to call GraphViz.’エラー

Mac環境のython3でmnist.load_data()を行うと、以下のエラーが出ることがあります。

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

Python3.6以降では、インストーラーにはOpenSSLが同梱されています(macOSに標準でインストールされているOpenSSLは、バージョンが古いので参照されない)。
それにより、mac OSにインストールされたルート証明書も参照されないため、データセットのダウンロード時にTLSサーバー証明書の検証に失敗し、このエラーが出てしまいます。

よって、以下のコマンドでcertifiモジュールをインストールし、そこに含まれるルート証明書を参照可能にすることでエラーを回避できます。

$ pip3 install certifi
$ /Applications/Python\ 3.7/Install\ Certificates.command

コメント