この記事は公開から2年以上経過しています。
PyTorchで機械学習のデータセットCIFAR-10を利用したところ、
Exception has occurred: URLError (note: full exception trace is shown but execution is paused at: _run_module_as_main)
<urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:997)>
のようなエラーが発生して利用できなかったので、そのときの対応についての備忘録。
原因
CIFAR-10内のurllib.request.urlopen()
の呼び出しでSSL証明書とホスト名の検証でエラーが発生している。
(実際に証明証のエラーがあるかは未確認だが、私の自宅ネットワーク環境はSquidを用いたSSLフィルタリングを行っていることから、SSL証明証の検証で問題が発生しやすい。)
対応
SSL証明書とホスト名の検証を行わないようにsslを設定する。
この対応を行うと、SSL証明書の検証を行わないリスクを許容することになります(At your own risk)。
import ssl
ssl._create_default_https_context = ssl._create_unverified_context()
# 参考ウェブサイトなど
- Python Documentation
http.client — HTTP プロトコルクライアント
以上です。