如何解决加载TensorFlow Hub通用句子编码器时出现的SSL: CERTIFICATE_VERIFY_FAILED错误?
解决Universal Sentence Encoder加载时的SSL证书验证失败问题
我之前也碰到过一模一样的情况——用requests访问普通网站完全正常,但TensorFlow Hub加载模型时就卡在SSL证书验证上了,给你几个实用的解决办法:
方法1:临时跳过SSL验证(仅适合测试环境)
TensorFlow Hub支持通过环境变量关闭SSL验证,你可以在加载模型前先设置这个变量:
import os # 关闭SSL验证 os.environ['TFHUB_VERIFY_SSL'] = '0' import tensorflow_hub as hub hub.load('https://tfhub.dev/google/universal-sentence-encoder/4')
这个方法最快,但绝对不要在生产环境用,跳过SSL验证会带来安全风险。
方法2:手动下载模型到本地加载(推荐生产环境)
更稳妥的方式是把模型文件下载到本地,直接加载本地路径,完全绕开在线请求的SSL问题:
- 用命令行工具下载模型压缩包(跳过证书检查):
wget --no-check-certificate https://tfhub.dev/google/universal-sentence-encoder/4?tf-hub-format=compressed # 或者用curl: curl -k -L https://tfhub.dev/google/universal-sentence-encoder/4?tf-hub-format=compressed -o use_model.tar.gz
- 解压下载的压缩包到本地文件夹,比如
./local_use_model - 加载本地模型:
import tensorflow_hub as hub hub.load('./local_use_model')
方法3:修复Python环境的根证书
出现这个问题的核心原因,可能是TensorFlow Hub使用的Python自带证书库缺失了对应根证书,而requests调用的是系统证书所以没问题。你可以尝试更新Python的证书:
- macOS用户:找到Python安装目录下的
Install Certificates.command脚本,双击运行它就能更新根证书。 - Windows/Linux用户:更新certifi包来同步最新证书:
pip install --upgrade certifi
更新完成后重启Python环境,再尝试加载模型。
你之前成功过现在失败,大概率是最近环境更新或证书过期导致的,上面的方法应该能解决问题。
内容的提问来源于stack exchange,提问作者programmer9034
相关产品推荐
相关产品推荐

