Ошибка атрибута: модуль ‘keras.utils’ не имеет атрибута ‘Sequence’

#python #python-3.x #tensorflow #keras

#python #python-3.x #tensorflow #keras

Вопрос:

 Traceback (most recent call last):
    File "C:UsersgutolinPCDesktoptensorflow.py", line 3, in <module>
    from keras.datasets import mnist
    File "C:Program FilesPython37libsite-packageskeras__init__.py", line 3,in <module>
    from . import utils
    File "C:Program FilesPython37libsite-packageskerasutils__init__.py", 
    line 6, in <module>
    from . import conv_utils
    File "C:Program FilesPython37libsite-packageskerasutilsconv_utils.py", 
    line 9, in <module>
    from .. import backend as K
    File "C:Program FilesPython37libsite-packageskerasbackend__init__.py", 
    line 89, in <module>
    from .tensorflow_backend import *
    File "C:Program FilesPython37libsite- 
    packageskerasbackendtensorflow_backend.py", line 5, in <module>
    import tensorflow as tf
    File "C:UsersgutolinPCDesktoptensorflow.py", line 3, in <module>
    from keras.datasets import mnist
    File "C:Program FilesPython37libsite- 
    packageskerasdatasets__init__.py", line 4, in <module>
    from . import imdb
    File "C:Program FilesPython37libsite-packageskerasdatasetsimdb.py", 
    line 8, in <module>
    from ..preprocessing.sequence import _remove_long_seq
    File "C:Program FilesPython37libsite- 
    packageskeraspreprocessing__init__.py", line 12, in <module>
    from . import image
    File "C:Program FilesPython37libsite- 
    packageskeraspreprocessingimage.py", line 11, in <module>
    from keras_preprocessing import image
    File "C:Program FilesPython37libsite- 
    packageskeras_preprocessingimage__init__.py", line 6, in <module>
    from .dataframe_iterator import DataFrameIterator
    File "C:Program FilesPython37libsite- 
    packageskeras_preprocessingimagedataframe_iterator.py", line 10, in <module>
    from .iterator import BatchFromFilesMixin, Iterator
     File "C:Program FilesPython37libsite-packageskeras_preprocessingimageiterator.py", line 13, in <module>
    IteratorType = get_keras_submodule('utils').Sequence
    AttributeError: module 'keras.utils' has no attribute 'Sequence'
  

Win 10

python 3.7.0

 Keras                2.2.4
Keras-Applications   1.0.7
Keras-Preprocessing  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))
  

Комментарии:

1. Пожалуйста, укажите код, который вы пытаетесь запустить, и чего вы пытаетесь достичь

2. убедитесь, что ваша версия не устарела. Все версии после 2.0.5 не должны выдавать эту ошибку.

Ответ №1:

у меня была та же проблема. и мои версии keras 2.7.0, а моя версия tensorflow 2.7.0, и все же строка

 keras.utils.Sequence
  

у меня не сработало.
вы можете использовать

 keras.utils.all_utils.Sequence
  

вместо

Комментарии:

1. у меня не сработало. я использовал tensorflow.keras.utils. Последовательность вместо

Ответ №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:

Для Keras версии 2.5.0 и TF версии 2.5.0

 from tensorflow.keras.utils import to_categorical
  

и работать с

 keras.utils.to_categorical()
  

Ответ №5:

Выполнил приведенный выше код, используя keras == 2.2.4 и tensorflow ==1.14.0.

Ошибок нет.

Обновление TensorFlow должно решить проблему. Приветствия 🙂

Ответ №6:

Я запускаю Tensorflow версии 2.5.0. Методом проб и ошибок я обнаружил, что keras.utils.np_utils работает. Я предполагаю, что они переместили его в np_utils в каком-то обновлении, так что с этим .to_categorical работает просто отлично.

измените «np_utils.to_categorical» на «keras.utils.np_utils.to_categorical»

Ответ №7:

Я запускаю Tensorflow версии 2.6.0. на colab. Методом проб и ошибок я обнаружил, что tf.keras.utils.to_categorical(y_train, num_classes) это работает.