AttributeError:模块 'keras.utils' 没有属性 'Sequence'
Posted
技术标签:
【中文标题】AttributeError:模块 \'keras.utils\' 没有属性 \'Sequence\'【英文标题】:AttributeError: module 'keras.utils' has no attribute 'Sequence'AttributeError:模块 'keras.utils' 没有属性 'Sequence' 【发布时间】:2019-08-04 14:52:11 【问题描述】:Traceback(最近一次调用最后一次): 文件“C:\Users\gutolinPC\Desktop\tensorflow.py”,第 3 行,在 从 keras.datasets 导入 mnist 文件“C:\Program Files\Python37\lib\site-packages\keras__init__.py”,第 3 行,in 从 。导入实用程序 文件“C:\Program Files\Python37\lib\site-packages\keras\utils__init__.py”, 第 6 行,在 从 。导入 conv_utils 文件“C:\Program Files\Python37\lib\site-packages\keras\utils\conv_utils.py”, 第 9 行,在 from .. 将后端导入为 K 文件“C:\Program Files\Python37\lib\site-packages\keras\backend__init__.py”, 第 89 行,在 从 .tensorflow_backend 导入 * 文件“C:\Program Files\Python37\lib\site- packages\keras\backend\tensorflow_backend.py",第 5 行,在 将张量流导入为 tf 文件“C:\Users\gutolinPC\Desktop\tensorflow.py”,第 3 行,在 从 keras.datasets 导入 mnist 文件“C:\Program Files\Python37\lib\site- packages\keras\datasets__init__.py",第 4 行,在 从 。导入 imdb 文件“C:\Program Files\Python37\lib\site-packages\keras\datasets\imdb.py”, 第 8 行,在 从 ..preprocessing.sequence 导入 _remove_long_seq 文件“C:\Program Files\Python37\lib\site- packages\keras\preprocessing__init__.py",第 12 行,在 从 。导入图片 文件“C:\Program Files\Python37\lib\site- packages\keras\preprocessing\image.py",第 11 行,在 从 keras_preprocessing 导入图像 文件“C:\Program Files\Python37\lib\site- 包\keras_preprocessing\image__init__.py",第 6 行,在 从 .dataframe_iterator 导入 DataFrameIterator 文件“C:\Program Files\Python37\lib\site- packages\keras_preprocessing\image\dataframe_iterator.py",第 10 行,在 从 .iterator 导入 BatchFromFilesMixin,迭代器 文件“C:\Program Files\Python37\lib\site-packages\keras_preprocessing\image\iterator.py”,第 13 行,在 IteratorType = get_keras_submodule('utils').Sequence AttributeError: 模块 'keras.utils' 没有属性 'Sequence'
赢 10
python 3.7.0
Keras 2.2.4
Keras-Applications 1.0.7
Keras-预处理 1.0.9
张量板 1.13.1
张量流 1.13.1
张量流估计器 1.13.0
完整代码
import numpy
from keras.datasets import mnist
from keras.models import Sequential
from keras.layers import Dense
from keras.utils import np_utils
numpy.random.seed(42)
(X_train, y_train), (X_test, y_test) = mnist.load_data()
X_train = X_train.reshape(60000, 784)
X_test = X_test.reshape(10000, 784)
X_train = X_train.astype('float32')
X_test = X_test.astype('float32')
X_train /= 255
X_test /= 255
Y_train = np_utils.to_categorical(y_train, 10)
Y_test = np_utils.to_categorical(y_test, 10)
model = Sequential()
model.add(Dense(800, input_dim=784, activation="relu",
kernel_initializer="normal"))
model.add(Dense(10, activation="softmax", kernel_initializer="normal"))
model.compile(loss="categorical_crossentropy", optimizer="SGD", metrics=["accuracy"])
print(model.summary())
model.fit(X_train, Y_train, batch_size=200, epochs=25, validation_split=0.2, verbose=2)
scores = model.evaluate(X_test, Y_test, verbose=0)
print("Точность работы на тестовых данных: %.2f%%" % (scores[1]*100))
【问题讨论】:
请提供您要运行的代码以及您要完成的工作 确保您的版本没有过时。 2.0.5以后的所有版本都不会出现这个错误。 【参考方案1】:使用 keras==2.2.4 和 tensorflow==1.14.0 运行上述代码。
没有错误。
升级 TensorFlow 应该可以解决这个问题。干杯:)
【讨论】:
【参考方案2】:较新版本的 keras==2.4.0 和 tensorflow==2.3.0 的工作方式如下。
替换:
from keras.utils import np_utils
为
from keras import utils as np_utils
【讨论】:
【参考方案3】:我在 Keras 2.4.3 中遇到了同样的错误。写的时候
from keras import utils
或
from keras.utils import to_categorical
解决:
from keras.utils import np_utils
显然这会因版本而异。
【讨论】:
【参考方案4】:我正在运行 Tensorflow 2.5.0 版。通过反复试验,我发现 keras.utils.np_utils 有效。我猜他们在某些更新中将它移到 np_utils 中,所以使用 .to_categorical 就可以了。
将“np_utils.to_categorical”更改为“keras.utils.np_utils.to_categorical”
【讨论】:
【参考方案5】:对于 Keras 版本 - 2.5.0 和 TF 版本 - 2.5.0
from tensorflow.keras.utils import to_categorical
并与之合作
keras.utils.to_categorical()
【讨论】:
【参考方案6】:我有同样的问题。我的 keras 版本是 2.7.0,而我的 tensorflow 版本是 2.7.0,但行
keras.utils.Sequence
对我没用。 你可以使用
keras.utils.all_utils.Sequence
改为
【讨论】:
对我没用。我改用 tensorflow.keras.utils.Sequence【参考方案7】:我正在运行 TensorFlow 2.6.0 版。在 colab 上。通过反复试验,我发现tf.keras.utils.to_categorical(y_train, num_classes)
有效。
【讨论】:
以上是关于AttributeError:模块 'keras.utils' 没有属性 'Sequence'的主要内容,如果未能解决你的问题,请参考以下文章
如何修复 AttributeError:模块 'tensorflow' 没有属性 'keras'?
AttributeError:模块“tensorflow.keras.layers”没有属性“重新缩放”
AttributeError:模块“tensorflow”在 conda 提示中没有属性“keras”
AttributeError:模块'tensorflow_core.python.keras.api._v2.keras.activations'没有属性'swish'
AttributeError:模块“tensorflow.python.keras.backend”没有属性“get_graph”
AttributeError:模块'keras.utils'没有使用segmentation_models的属性'get_file'