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'