Fixing AttributeError: Resolving 'adam' Issue in Module 'keras.optimizers'

This guide will walk you through the process of resolving the AttributeError related to the 'adam' issue in the module keras.optimizers. This error usually occurs when you try to import the Adam optimizer from the Keras library. We will provide a step-by-step solution to fix this issue and ensure your Keras implementation runs smoothly.

Table of Contents


Before diving into the solution, make sure you have the following:

  1. A working Python environment (preferably 3.6 or higher)
  2. Keras library installed (2.2.0 or higher)
  3. TensorFlow library installed (2.0 or higher)

Understanding the Issue

The AttributeError occurs when trying to import the Adam optimizer from the Keras library using the following import statement:

from keras.optimizers import Adam

This error occurs due to the restructuring of the Keras library in TensorFlow 2.x. In TensorFlow 2.x, the Keras library has been integrated into TensorFlow, and the Adam optimizer is now available under the tf.keras.optimizers module instead of the standalone Keras library.

Step-by-Step Solution

To fix the AttributeError, follow these steps:

  1. Uninstall the standalone Keras library

In your terminal or command prompt, run the following command to uninstall the standalone Keras library:

pip uninstall keras
  1. Update the import statement

Replace the existing import statement in your code with the following import statement:

from tensorflow.keras.optimizers import Adam

By using the updated import statement, you should no longer encounter the AttributeError related to the 'adam' issue in the module keras.optimizers.


1. Can I still use the standalone Keras library?

Yes, you can still use the standalone Keras library. However, it is recommended to switch to TensorFlow's integrated Keras library (tensorflow.keras) as it is more actively maintained and updated.

2. Will the solution work for other optimizers in Keras as well?

Yes, the solution will work for other optimizers available in Keras. You just need to replace the specific optimizer in the import statement with the one you want to use.

3. I am using TensorFlow 1.x, will this solution work for me?

No, this solution is specific to TensorFlow 2.x. If you are using TensorFlow 1.x, you should consider upgrading to the latest version of TensorFlow to leverage the integrated Keras library.

4. How can I upgrade my TensorFlow version?

You can upgrade your TensorFlow version by running the following command in your terminal or command prompt:

pip install --upgrade tensorflow

5. Are there any other changes that I need to make in my code to use tensorflow.keras?

In most cases, you only need to update the import statements in your code. However, there might be some minor changes required in your code, depending on the specific features you are using. You can refer to the official TensorFlow documentation for more information.

Great! You’ve successfully signed up.

Welcome back! You've successfully signed in.

You've successfully subscribed to

Success! Check your email for magic link to sign-in.

Success! Your billing info has been updated.

Your billing was not updated.