AttributeError:模块“ keras.utils”没有属性“ Sequence”

时间:2019-03-13 19:51:55

标签: python python-3.x tensorflow keras

回溯(最近通话最近):     文件“ C:\ Users \ gutolinPC \ Desktop \ tensorflow.py”,第3行,在     从keras.datasets导入mnist     文件“ C:\ Program Files \ Python37 \ lib \ site-packages \ keras__init __。py”,第3行,在     来自。导入工具     文件“ 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行     从..导入后端为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行,在     将tensorflow作为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-     包\ keras \ preprocessing \ image.py”,第11行,在     从keras_preprocessing导入图像     文件“ C:\ Program Files \ Python37 \ lib \ site-     packages \ 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')。序列     AttributeError:模块'keras.utils'没有属性'Sequence'

赢10

python 3.7.0

Keras 2.2.4

Keras-Applications 1.0.7

Keras预处理1.0.9

tensorboard 1.13.1

tensorflow 1.13.1

tensorflow-estimator 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))

6 个答案:

答案 0 :(得分:1)

我在 Keras 2.4.3 中遇到同样的错误。写作时

from keras import utils

from keras.utils import to_categorical

解决:

from keras.utils import np_utils

显然这会因版本而异。

答案 1 :(得分:1)

对于 Keras 版本 - 2.5.0 和 TF 版本 - 2.5.0

from tensorflow.keras.utils import to_categorical

并与

一起工作
keras.utils.to_categorical()

答案 2 :(得分:0)

使用keras == 2.2.4和tensorflow == 1.14.0运行上述代码。

没有错误。

升级TensorFlow应该可以解决此问题。干杯:)

答案 3 :(得分:0)

较新版本的keras == 2.4.0和tensorflow == 2.3.0将按以下方式工作。

替换:

from keras.utils import np_utils

from keras import utils as np_utils

答案 4 :(得分:0)

我正在运行 Tensorflow 2.5.0 版。通过反复试验,我发现 keras.utils.np_utils 有效。我猜他们在某些更新中将它移到 np_utils 中,因此 .to_categorical 可以正常工作。

将“np_utils.to_categorical”改为“keras.utils.np_utils.to_categorical”

答案 5 :(得分:0)

我遇到了同样的问题。我的 keras 版本是 2.7.0,我的 tensorflow 版本是 2.7.0,但行

keras.utils.Sequence

对我不起作用。 你可以使用

keras.utils.all_utils.Sequence

代替