3
votes

Traceback (most recent call last): File "C:\Users\gutolinPC\Desktop\tensorflow.py", line 3, in from keras.datasets import mnist File "C:\Program Files\Python37\lib\site-packages\keras__init__.py", line 3,in from . import utils File "C:\Program Files\Python37\lib\site-packages\keras\utils__init__.py", line 6, in from . import conv_utils File "C:\Program Files\Python37\lib\site-packages\keras\utils\conv_utils.py", line 9, in from .. import backend as K File "C:\Program Files\Python37\lib\site-packages\keras\backend__init__.py", line 89, in from .tensorflow_backend import * File "C:\Program Files\Python37\lib\site- packages\keras\backend\tensorflow_backend.py", line 5, in import tensorflow as tf File "C:\Users\gutolinPC\Desktop\tensorflow.py", line 3, in from keras.datasets import mnist File "C:\Program Files\Python37\lib\site- packages\keras\datasets__init__.py", line 4, in from . import imdb File "C:\Program Files\Python37\lib\site-packages\keras\datasets\imdb.py", line 8, in from ..preprocessing.sequence import _remove_long_seq File "C:\Program Files\Python37\lib\site- packages\keras\preprocessing__init__.py", line 12, in from . import image File "C:\Program Files\Python37\lib\site- packages\keras\preprocessing\image.py", line 11, in from keras_preprocessing import image File "C:\Program Files\Python37\lib\site- packages\keras_preprocessing\image__init__.py", line 6, in from .dataframe_iterator import DataFrameIterator File "C:\Program Files\Python37\lib\site- packages\keras_preprocessing\image\dataframe_iterator.py", line 10, in from .iterator import BatchFromFilesMixin, Iterator File "C:\Program Files\Python37\lib\site-packages\keras_preprocessing\image\iterator.py", line 13, in 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

Full code

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))
5
Please provide the code you are trying to run and what you are trying to accomplish - Bruno Ely
make sure that your version is not outdated. All the versions after 2.0.5 shall not give this error. - Aprajita Verma

5 Answers

1
votes

Newer versions of keras==2.4.0 and tensorflow==2.3.0 would work as follows.

Replacing:

from keras.utils import np_utils

for

from keras import utils as np_utils
1
votes

I getting same error in Keras 2.4.3. when writing

from keras import utils

or

from keras.utils import to_categorical

Solving:

from keras.utils import np_utils

Apparenytly this changes from version to version.

1
votes

For Keras Version- 2.5.0 and TF Version- 2.5.0

from tensorflow.keras.utils import to_categorical

and work with

keras.utils.to_categorical()
0
votes

Ran the above code by using keras==2.2.4 and tensorflow==1.14.0.

No errors.

Upgrading TensorFlow should solve the issue. Cheers :)

0
votes

I'm running Tensorflow version 2.5.0. By trial and error, I found that keras.utils.np_utils works. I guess they moved it into np_utils in some update, so with that .to_categorical works just fine.

change "np_utils.to_categorical" by "keras.utils.np_utils.to_categorical"