通过TensorFlow下载CIFAR-10数据集出现SSL证书验证错误如何解决
解决CIFAR-10数据集SSL证书验证失败问题
以下提供两种可直接落地的解决方案,操作门槛较低:
方法1:临时禁用SSL验证(最便捷)
- 直接在你的代码最开头添加以下2行代码即可,会临时关闭当前Python进程的SSL证书校验,不会影响系统其他设置:
import ssl ssl._create_default_https_context = ssl._create_unverified_context
- 注意:你原代码中缺少tensorflow的导入声明,需要补一行
import tensorflow as tf,否则会报NameError: name 'tf' is not defined错误。 - 完整可运行代码示例:
import ssl ssl._create_default_https_context = ssl._create_unverified_context import tensorflow as tf import numpy as np import matplotlib.pyplot as plt from tensorflow.keras.layers import Input, Conv2D, Dense, Flatten, Dropout from tensorflow.keras.layers import GlobalMaxPooling2D, MaxPooling2D from tensorflow.keras.layers import BatchNormalization from tensorflow.keras.models import Model cifar10 = tf.keras.datasets.cifar10 (x_train, y_train), (x_test, y_test) = cifar10.load_data()
方法2:手动下载本地加载(更安全)
- 第一步:直接通过浏览器下载CIFAR-10数据集压缩包,文件名为
cifar-10-python.tar.gz - 第二步:将下载好的压缩包(无需解压)放到对应系统的Keras默认数据集目录:
- Windows系统:
C:\Users\你的用户名\.keras\datasets - Mac/Linux系统:
~/.keras/datasets
- Windows系统:
- 第三步:直接运行补全了tensorflow导入的原代码即可,Keras会自动检测本地已存在的数据集文件,不会再发起网络下载请求,不会触发SSL错误。
内容的提问来源于stack exchange,提问作者steve
相关产品推荐
相关产品推荐

