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 accomplishBruno 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"