Keras中load_data()加载MNIST数据集时SSL证书验证失败求助
解决Keras加载MNIST数据集时的SSL证书验证失败问题
针对你遇到的[SSL: CERTIFICATE_VERIFY_FAILED]错误,以下是几种可行的解决方法,按推荐程度排序:
1. 修复Python的SSL根证书(彻底解决)
macOS上从python.org安装的Python默认不会自动配置系统根证书,导致SSL验证失败。你可以执行以下步骤:
- 打开终端,找到你的Python安装目录(比如Python 3.11的路径是
/Applications/Python 3.11/) - 运行目录下的
Install Certificates.command脚本:
替换路径中的/Applications/Python 3.11/Install Certificates.command3.11为你实际使用的Python版本号。执行完成后,重新运行你的代码即可。
2. 手动下载数据集并本地加载
如果证书修复无效,你可以手动下载MNIST数据集后本地加载:
- 获取
mnist.npz文件,将其放到Keras的默认数据集缓存目录:~/.keras/datasets/ - 直接运行原代码,
load_data()会自动读取本地的数据集文件,无需再从网络下载。
或者在代码中指定本地文件路径:
import keras # 替换为你实际的文件路径 (train_images, train_labels), (test_images, test_labels) = keras.datasets.mnist.load_data(path='/path/to/your/mnist.npz')
3. 临时禁用SSL验证(仅应急使用)
不推荐长期使用,因为会降低安全性,但可以快速验证是否是证书问题导致的错误。在代码开头添加以下内容:
import ssl ssl._create_default_https_context = ssl._create_unverified_context import keras (train_images, train_labels), (test_images, test_labels) = keras.datasets.mnist.load_data()
内容的提问来源于stack exchange,提问作者Vaibhav Shakya
相关产品推荐
相关产品推荐

