在 Keras 中下载 ResNet50 会生成“SSL: CERTIFICATE_VERIFY_FAILED”

问题描述 投票:0回答:4

我在 Tensorflow 上使用 python 3.6 和 Keras (2.0.9)

尝试下载resnet50的训练模型但遇到以下错误: 异常:https://github.com/fchollet/deep-learning-models/releases/download/v0.2/resnet50_weights_tf_dim_ordering_tf_kernels.h5上的 URL 获取失败:无 -- [SSL: CERTIFICATE_VERIFY_FAILED] 证书验证失败 (_ssl. c:777)

以下是使用的代码:

from keras.applications.resnet50 import ResNet50
from keras.preprocessing import image
from keras.applications.resnet50 import preprocess_input, decode_predictions
import numpy as np

model = ResNet50(weights='imagenet')

img_path = 'elephant.jpg'
img = image.load_img(img_path, target_size=(224, 224))
x = image.img_to_array(img)
x = np.expand_dims(x, axis=0)
x = preprocess_input(x)
model.summary()
preds = model.predict(x)

print('Predicted:', decode_predictions(preds, top=3)[0])
python tensorflow keras
4个回答
38
投票

你可以考虑这个

我在下载数据集之前也使用了SSL模块。解决了这个问题!

像这样:

import ssl

ssl._create_default_https_context = ssl._create_unverified_context

8
投票

刚刚遇到了同样的问题。我在这里找到了答案: Mac OSX python ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] 证书验证失败 (_ssl.c:749)

浏览到Applications/Python 3.6文件夹并双击Install Certificates.command

我在 Mac 上测试过,它有效。


1
投票

组合 @Roman Mirochnik 和 @sos418 方法之一或两者应该有效,即

  1. 浏览至

    Applications/Python 3.x
    文件夹并双击安装
    Certificates.command

  2. 添加代码:

    import ssl
    ssl._create_default_https_context = ssl._create_unverified_context
    

0
投票

如果您在 python 虚拟环境中工作时遇到同样的问题,您可以升级

certifi
以确保您拥有最新的证书颁发机构 (CA) 证书。

像这样:

pip install --upgrade certifi

这应该可以解决问题!

© www.soinside.com 2019 - 2024. All rights reserved.