回溯(最近通话最近): 文件“ 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))
答案 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
代替