概要
Pytorchを使用している際に、CIFAR10をダウンロードしようとしたところ、SSL関連のエラーが発生したため、その対処法についてメモしておきます。
エラーの発生状況
Pytorchのtorchvision.datasets.CIFAR10(CIFAR10 — Torchvision 0.14 documentation (pytorch.org))を使用してデータセットをダウンロードしようとしました。
from torchvision import datasets
dataset = datasets.CIFAR10(root = 'data', download = True)
すると次のようにSSL関連のエラーが発生してしまいました。
URLError:<urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed
対処法
ネット等で調べてみると、このエラーはSSLの証明書の期限切れで発生するエラーのようです。
対処方法としてはSSLの証明書確認をOFFにして接続するという方法があるようです。
以下を参考にしました。
具体的には、ダウンロードを行うコードの前に以下を書いておくだけです。
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
これにより、無事にダウンロードが実行されるようになりました。
ただし、サーバー証明書確認を行わずにダウンロードすることになるので、セキュリティ面では良くは無いとは思います。
まとめ
- URLError:<urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failedはSSL証明書の\期限切れによって発生するエラー
- SSL証明書の確認をOFFにするコードを実行すればアクセスを実行することが可能