If you encounter errors like **Modulenotfounderror no module named ‘tensorflow.keras.utils.np_utils’**.

Then, in this tutorial, I will explain how to resolve this error using the tensorflow and Keras framework.

You will first explain the error and why it can occur; you will see how to solve it and ensure you won’t get this error again.

## Modulenotfounderror no module named ‘tensorflow.keras.utils.np_utils’

The error **Modulenotfounderror no module named ‘tensorflow.keras.utils.np_utils’** means when you try to import a module **tensorflow.keras.utils.np_utils** that either does not exist or has been moved in the version of Tensorflow you are using.

If you are using **TensorFlow version 1.x**, then you may not get this error, but if you are using the same code and updating the TensorFlow to the latest version, like **2.x**, then you get the error.

The reason for this error is that from tensorflow version **2.x**, many modules or functions have been reorganised or moved, so the way to import them has changed compared to tensorflow version **1.x**.

The **np_utils** is used for categorical encodings, such as converting class vectors to binary class matrices.

For example, you get an error if you try to import the module, as shown below.

`import tensorflow.keras.utils.np_utils`

Now, you can see the error; the above import is just an example of how the error can appear.

So, if you get the same error, two approaches exist to resolve that.

Let’s begin with the first one: use the **to_categorical** function directly from the **tensorflow.keras.utils**, not the **np_utils**.

A small example is given below.

```
from tensorflow.keras.utils import to_categorical
y_data = [2, 5, 7, 1]
y_binary_data = to_categorical(y_data)
print(y_binary_data)
```

Imported the **to_categorical** successfully and converted the class to categorical.

Next, the approach involves using the **Keras** Library; again, don’t use **np_utils** directly import **to_categorical** from **keras.utils** as shown below.

```
from keras.utils import to_categorical
y_class = [2, 5, 7, 1]
y_binary = to_categorical(y_class)
print(y_binary)
```

Imported the **to_catgorical()** method from **keras.utils** instead of using **np_utils**. Always install the latest version of the framework, such as TensorFlow, and if you get an error, see if the method or module is deprecated.

Let me again show you a complete example using **tensorflow.keras.utils.to_categorical()** function converts a vector to a binary class matrix.

The syntax is given below.

```
tf.keras.utils.to_categorical(
y, num_classes=None, dtype='float32'
)
```

- It consists of a few parameters
**y**: integers from 0 to num classes – 1 are in an array-like structure that will be transformed into a matrix.**num_classes**: number of classes combined. If None, this is implied to be**max(y) + 1.****dtype**: By default, it takes float32 and defines the data type.

Now let’s see a quick example,

```
import tensorflow as tf
from tensorflow.keras.utils import to_categorical
based_code = tf.keras.utils.to_categorical([1, 0, 2, 3], num_classes=4)
b_code = tf.constant(based_code, shape=[4, 4])
print(b_code)
```

In the following given code, we first imported the **tensorflow.keras.utils** import **to_categorical**, then declare a variable **“based_code”** and use the **tf.keras.utils.to_categorical()** function converts the given list of values to a binary matrix.

This is how to resolve **Modulenotfounderror no module named ‘tensorflow.keras.utils.np_utils’**.

## Conclusion

Using two methods, you learned how to solve the error **Modulenotfounderror no module named ‘tensorflow.keras.utils.np_utils’.**

In the first method, you learned how to use TensorFlow to resolve that error by importing the **to_categorical()** function from the **tensorflow.keras.utils.**

Then, in the second method, the **to_categorical()** function was imported from the **keras.utils,** and the class was converted to binary data.

You may like to read:

- Modulenotfounderror No Module Named ‘keras.utils.vis_utils’
- ModuleNotFoundError: No module named ‘tensorflow.python.keras’

I am Bijay Kumar, a Microsoft MVP in SharePoint. Apart from SharePoint, I started working on Python, Machine learning, and artificial intelligence for the last 5 years. During this time I got expertise in various Python libraries also like Tkinter, Pandas, NumPy, Turtle, Django, Matplotlib, Tensorflow, Scipy, Scikit-Learn, etc… for various clients in the United States, Canada, the United Kingdom, Australia, New Zealand, etc. Check out my profile.