使用TensorFlow加载数据集失败:tfds无load属性问题求助
解决
module 'tensorflow_datasets' has no attribute 'load'报错 问题根源
你在Anaconda环境使用旧版本Python运行TensorFlow,尽管升级了TensorFlow和tensorflow_datasets,但旧Python版本与新版tfds存在兼容性冲突,或环境未正确激活导致实际调用的是未升级的旧版tfds,从而触发该报错。
可行解决方案
1. 验证当前环境的tfds版本与路径
先激活你的Anaconda环境,执行命令确认版本:
conda activate 你的环境名称 pip show tensorflow_datasets
同时在代码开头添加以下内容,确认使用的Python解释器和tfds版本:
import sys import tensorflow_datasets as tfds print(sys.executable) # 检查是否为Anaconda环境下的Python路径 print(tfds.__version__) # 确认当前tfds版本
如果路径不是Anaconda环境,需在IDE中切换解释器到对应环境。
2. 适配旧版tfds的调用语法
若你的tfds版本低于4.0.0,tfds.load可能尚未作为顶层API存在,改用旧版兼容写法:
# 替换原tfds.load语句 data, metadata = tfds.core.load('DS_Graph', as_supervised=True, with_info=True)
3. 降级tfds到适配旧Python的版本
新版tfds对Python版本要求较高,旧Python(如3.6/3.7)需安装兼容版本:
- 对于Python 3.6:安装
tensorflow-datasets==4.4.0 - 对于Python 3.7:安装
tensorflow-datasets==4.8.3
执行命令安装指定版本:
pip install tensorflow-datasets==对应版本号
额外提示
你的代码中Windows路径使用了"R:\Imagenes\DS_Graph\Train",建议改为双反斜杠"R:\\Imagenes\\DS_Graph\\Train"或原始字符串r"R:\Imagenes\DS_Graph\Train",避免转义字符引发的路径解析问题。
内容的提问来源于stack exchange,提问作者José Timaure
相关产品推荐
相关产品推荐

