Tensorflow/Keras导入错误:无法导入名称'Sequence'
解决Keras导入错误:ImportError: cannot import name 'Sequence'
环境版本
- sklearn 0.22.1
- tensorflow 2.3.0
- keras 2.3.0
导入代码
import os import sys import math import numpy as np import pandas as pd from sklearn.preprocessing import MinMaxScaler from keras.models import Sequential from keras.layers import Dense, LSTM import matplotlib.pyplot as plt
报错信息
ImportError: cannot import name 'Sequence'
完整报错回溯:
File "C:\Anaconda\lib\site-packages\keras\__init__.py", line 12, in <module> from . import callbacks File "C:\Anaconda\lib\site-packages\keras\callbacks\__init__.py", line 3, in <module> from .callbacks import Callback File "C:\Anaconda\lib\site-packages\keras\callbacks\callbacks.py", line 23, in <module> from ..engine.training_utils import standardize_input_data File "C:\Anaconda\lib\site-packages\keras\engine\training_utils.py", line 18, in <module> from ..utils import Sequence ImportError: cannot import name 'Sequence'
已尝试操作
- 更换多个TensorFlow和Keras版本
- 改用
import tensorflow.keras as keras导入方式 - 手动添加
from tensorflow.keras.utils import Sequence导入语句
解决方案
方案1:统一使用TensorFlow内置Keras(推荐)
TensorFlow 2.x已内置完整Keras实现,独立Keras与TF内置版本冲突是这类报错的核心原因,操作步骤:
- 卸载独立Keras包:
pip uninstall keras -y
- 修改导入代码,全部使用
tensorflow.keras路径:
import os import sys import math import numpy as np import pandas as pd from sklearn.preprocessing import MinMaxScaler from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense, LSTM import matplotlib.pyplot as plt
方案2:修复独立Keras文件缺失
若必须保留独立Keras,检查C:\Anaconda\lib\site-packages\keras\utils\目录下是否存在Sequence.py文件:
- 若文件缺失,强制重新安装对应版本Keras:
pip install keras==2.3.0 --force-reinstall
- 若仍无效,切换官方源重新安装:
pip install keras==2.3.0 -i https://pypi.org/simple/ --force-reinstall
内容的提问来源于stack exchange,提问作者Stacey
相关产品推荐
相关产品推荐

