Module ‘keras.utils’ has no attribute ‘to_categorical’

Programmers or developers cannot avoid encountering errors like attributeerror: module 'keras.utils' has no attribute 'to_categorical'. If you’re one of them, it is important for you to know and understand these kinds of errors.

In this article, we will show you how to solve the Python error module 'keras.utils' has no attribute 'to_categorical'. This error occurs when the to_categorical attribute is not found in the utils module of the Keras library.

What is Python?

Python is one of the most popular programming languages. It is used for developing a wide range of applications. It is a high-level programming language that is usually used by developers nowadays due to its flexibility.

What is AttributeError?

An attributeerror is an error that appears in our Python codes when we try to access an attribute of a non-existent object. In addition, this appears when we attempt to perform non-supported operations.

Now, let’s move on to our “how to fix this error” tutorial.

How to solve “module ‘keras.utils’ has no attribute ‘to_categorical’” in Python

Time needed: 2 minutes.

The following are the steps on how to resolve the error message stating module 'keras.utils' has no attribute 'to_categorical' in Python.

  1. Check the Keras version.

    The first step is to check if you have installed the latest version of Keras on your system. To do so, open your command prompt and then enter the command:

    pip show keras

    This command will display information about Keras, including its version and location.

  2. Upgrade Keras.

    After checking the version of Keras, if you’re using an older one, upgrade it to the latest version. To do so, enter this command in your command prompt:

    pip install keras --upgrade

    This command will upgrade the Keras library to its latest version.

Alternative Solution

If the error still exists after upgrading your Keras library, try this alternative solution:

Change your import statement.

What is meant by this is that instead of using from keras.utils import to_categorical use from keras.preprocessing import to_categorical.

Commands you might need

  • pip list

    This command will display all the packages installed on your system, including their versions.

    Use the !pip list command instead of pip list if you use Jupyter Notebook. However, if you’re using Anaconda, use the command conda list.
  • pip install --upgrade pip

    Use this command to upgrade the pip package manager to its newest version. If your pip is already in the latest version, this will come out: “Requirement already satisfied.”
  • pip --version

    Use this command to check what version of pip you have or have installed on your system.

    Note: If you’re using Jupyter notebook, use the command !pip --version.
  • python --version

    Use this command to check what version of Python you have.

    Note: If you’re using Jupyter notebook, use the command !python --version. However, if you’re using Anaconda, just use the command python --version.
  • pip show (package)

    Use this command to display information about a module or package, including its location and version. Use as an example the command above (see step one).

    Note: If you’re using Jupyter Notebook, use the command !pip show (package).


In conclusion, the error attributeerror: module 'keras.utils' has no attribute 'to_categorical' can be easily solved by either upgrading your Keras library to its latest version if you’re using an older one or changing your import statement.

By following the guide above, there’s no doubt that you’ll be able to resolve this error quickly.

We hope you’ve learned a lot from this. If you have any questions or suggestions, please leave a comment below, and for more Python tutorials, visit our website.

Thank you for reading!

Leave a Comment