WMT14英法数据集加载代码报错:SSL证书过期,请求指向WMT13资源
解决WMT14英法数据集下载SSL证书过期问题的思路
核心问题分析
你调用tensorflow-datasets下载WMT14英法数据集时,TFDS会自动依赖WMT13的Europarl v7训练数据,但该数据的原托管站点www.statmt.org的SSL证书已过期,导致SSL验证失败;上周可用现在失效,说明是站点证书近期过期,而非本地环境临时故障。
具体解决步骤
1. 临时跳过SSL验证(快速调试用)
在tfds.load中添加参数,强制下载时跳过SSL证书验证:
# Load the French-English dataset examples, metadata = tfds.load( 'wmt14_translate/fr-en', with_info=True, as_supervised=True, download_and_prepare_kwargs={ 'download_kwargs': {'verify': False} } ) train_examples, val_examples = examples['train'], examples['validation']
注意:此方法仅用于临时调试,生产环境不建议使用,存在安全风险。
2. 升级TensorFlow Datasets版本
新版本的TFDS可能已替换了数据源地址,避开证书过期的站点。执行命令升级:
pip install --upgrade tensorflow-datasets
升级后再重新运行原代码,看是否自动切换到可用的数据源。
3. 手动下载数据集并本地加载
如果上述方法无效,可手动下载数据集文件,让TFDS从本地读取:
- 先查看WMT14英法数据集需要的所有文件地址:
import tensorflow_datasets as tfds builder = tfds.builder('wmt14_translate/fr-en') print(builder.builder_config.data_urls) - 从其他可信镜像源获取这些文件(比如公开的数据集镜像仓库)
- 将下载的文件放到TFDS默认缓存目录(Linux/macOS为
~/.tensorflow_datasets/downloads/,Windows为C:\Users\<你的用户名>\.tensorflow_datasets\downloads\),或者在tfds.load中指定data_dir参数指向你存放文件的目录。
4. 更新本地CA证书(辅助排查)
虽然核心问题是站点证书过期,但更新本地CA证书库可能解决部分验证异常:
- Ubuntu/Debian系统:
sudo apt update && sudo apt install --reinstall ca-certificates - macOS系统(需安装Homebrew):
brew install ca-certificates sudo update-ca-certificates
内容的提问来源于stack exchange,提问作者wandering_tiger
相关产品推荐
相关产品推荐

