Fixing The "Importerror: Cannot Import Name 'Adam' From 'Keras.optimizers'" Error

What is the “ImportError: Cannot Import Name ‘Adam’ from ‘Keras.Optimizers'” Error?

If you are working with machine learning models and encounter the “ImportError: Cannot Import Name ‘Adam’ from ‘Keras.Optimizers'” error, do not fret. This error typically occurs when the TensorFlow library is not updated to the latest version. The Adam optimizer is a popular optimization algorithm used in deep learning models, and this error suggests that the required module is not accessible.

Update TensorFlow

To resolve this error, the first step is to ensure that you have the latest version of TensorFlow installed. You can do this by running the following command in your terminal:

pip install --upgrade tensorflow

This command will update the TensorFlow library to the most recent version, which should include the necessary dependencies for the Adam optimizer.

Check Keras Version

Another possible cause of this error is an outdated version of Keras. Keras is a popular deep learning library that runs on top of TensorFlow. To check your Keras version, use the following command:

pip show keras

If the version displayed is not up to date, you can update Keras by running:

pip install --upgrade keras

Verify Keras Integration with TensorFlow

It is also essential to ensure that Keras is correctly integrated with TensorFlow. TensorFlow provides a Keras module that allows seamless integration between the two libraries. To check if Keras is correctly integrated, run the following code:

import keras

If no error is displayed, it means that Keras is successfully integrated with TensorFlow. However, if an error occurs, you may need to reinstall Keras and TensorFlow following the official documentation.

Confirm Adam Optimizer Availability

After updating TensorFlow and checking the Keras integration, it is crucial to confirm if the Adam optimizer is accessible. You can do this by running the following code:

from keras.optimizers import Adam

If no error is displayed, it means that the Adam optimizer is available and can be imported successfully. However, if the “ImportError: Cannot Import Name ‘Adam’ from ‘Keras.Optimizers'” error persists, there are a few more steps you can take to resolve the issue.

Reinstall Keras and TensorFlow

If the error still persists, it may be necessary to reinstall both Keras and TensorFlow. First, uninstall Keras and TensorFlow by running the following commands:

pip uninstall keras

pip uninstall tensorflow

After uninstalling, reinstall both libraries using the following commands:

pip install keras

pip install tensorflow

This will ensure that you have the latest versions of both libraries, including the required dependencies for the Adam optimizer.

Check Python Environment

In some cases, the error may be caused by an incompatible Python environment. Ensure that you are using a compatible Python version for the installed TensorFlow and Keras versions. It is recommended to use Python 3.x for the best compatibility.

Run Code in a Virtual Environment

Running your code inside a virtual environment can help isolate any conflicts with other installed packages. Create and activate a virtual environment before installing TensorFlow and Keras. This way, the installed libraries will only be available within the virtual environment and will not interfere with other packages.

Consult the Official Documentation

If none of the above steps resolve the “ImportError: Cannot Import Name ‘Adam’ from ‘Keras.Optimizers'” error, consider referring to the official documentation of TensorFlow and Keras. The documentation often provides solutions for common errors and compatibility issues.


The “ImportError: Cannot Import Name ‘Adam’ from ‘Keras.Optimizers'” error can be resolved by updating TensorFlow and Keras, verifying their integration, and confirming the availability of the Adam optimizer. If the error persists, reinstalling both libraries, checking the Python environment, and running the code in a virtual environment can help resolve the issue. Always refer to the official documentation for additional guidance and troubleshooting.

You May Also Like