Sujeet maurya
Sujeet maurya

Reputation: 137

AttributeError: module 'keras.utils' has no attribute 'to_categorical'

from keras.preprocessing.text import text_to_word_sequence
import pandas as pd
from keras.preprocessing.text import Tokenizer
import numpy as np
# from __future__ import print_function
from keras.preprocessing import sequence
from keras.models import Sequential
from keras.layers import Dense, Dropout, Activation
from keras.layers import Embedding
from keras.layers import Conv1D, GlobalMaxPooling1D
x = df_f.iloc[:, 1].values
y = df_f.iloc[:, 0].values
tk = Tokenizer(num_words= 200, filters = '!"#$%&()*+,-./:;<=>?@[\\]^_`{|}~\t\n',lower=True, 
split=" ")
tk.fit_on_texts(x)
x = tk.texts_to_sequences(x)
x = sequence.pad_sequences(x, maxlen=200)
from keras import utils as np_utils
y =np_utils.to_categorical(y, num_classes= 24)

I am using keras version 2.5 and tenser flow version 2.5 I import utils from keras

Upvotes: 12

Views: 25894

Answers (4)

Zineb Adaika
Zineb Adaika

Reputation: 1

Only use this code:

from keras.utils import to_categorical

Upvotes: 0

Kumar Sourav
Kumar Sourav

Reputation: 419

this works for me now

from keras.src.utils.np_utils import to_categorical

Upvotes: 3

Eng Adam Al mohammedi
Eng Adam Al mohammedi

Reputation: 221

Newer versions of keras==2.4.0 and tensorflow==2.3.0 would work as follows so use:

from keras.utils import np_utils

and then replace keras.utils.to_categorical with

keras.utils.np_utils.to_categorical

Upvotes: 22

Anshuman Tekriwal
Anshuman Tekriwal

Reputation: 156

U can also use from tensorflow.keras.utils import to_categorical this error pops up for a lot of attributes. Sometimes, clearly importing the attribute also helps, but in this case; you have to specify tensorflow.keras

Upvotes: 5

Related Questions