How to Install Keras Using pip install keras: Complete TensorFlow Setup Guide
Running pip install keras automatically installs TensorFlow and its dependencies, creating a unified deep learning environment where Keras serves as the high-level API integrated directly into TensorFlow's runtime.
When you execute this command from the keras-team/keras repository distribution, the installer resolves a specific dependency chain defined in setup.cfg and pulls in the core TensorFlow engine along with preprocessing utilities and serialization libraries required for production model development.
What pip install keras Installs Under the Hood
According to the keras-team/keras source code, the setup.cfg file declares tensorflow as the primary runtime dependency. When you run pip install keras, the package manager downloads and installs the following components:
- tensorflow: The core engine providing tensors, automatic differentiation, and execution runtime. Keras layers, models, and callbacks are built on top of this foundation.
- keras-preprocessing: Legacy utilities including
ImageDataGeneratorandTokenizerthat were split from the core repository. - pyyaml, h5py, numpy, requests, protobuf: Required for model saving/loading, configuration parsing, and low-level I/O operations.
The dependency resolution process creates a clean installation matching your operating system, Python version, and hardware architecture (CPU-only by default).
Version Synchronization Between Keras and TensorFlow
The Keras package maintains tight version coupling with TensorFlow. As implemented in the dependency specifications in setup.cfg, installing tensorflow==2.13.0 automatically provides keras==2.13.0 under the hood. This synchronization guarantees API compatibility across callbacks, serialization formats, and training utilities implemented in keras/src/engine/.
Step-by-Step Installation Process
Follow these steps to create an isolated environment and install Keras with all dependencies.
1. Create a Virtual Environment
Creating a clean virtual environment prevents conflicts between TensorFlow's heavy binary and other Python packages:
python -m venv keras-env
source keras-env/bin/activate # On Windows: .\keras-env\Scripts\activate
pip install --upgrade pip
2. Install Keras
With the environment activated, run the installation command:
pip install keras
The installer downloads the pre-built TensorFlow wheel defined in the repository's requirements.txt and setup.cfg, matching your platform without requiring separate TensorFlow installation. Optional extras like GPU-accelerated builds are only installed if explicitly requested.
3. Verify the Installation
Confirm that both packages load correctly and share synchronized versions:
import tensorflow as tf
import keras
print(f"TensorFlow version: {tf.__version__}")
print(f"Keras version: {keras.__version__}")
# Access Keras through TensorFlow
print(tf.keras.__doc__)
Building Your First Neural Network
Once installed via pip install keras, you can immediately start building models using the public API exposed in keras/__init__.py and implemented in keras/src/engine/ and keras/src/layers/:
from keras import layers, models
import numpy as np
# Define a sequential model
model = models.Sequential([
layers.Dense(64, activation="relu", input_shape=(20,)),
layers.Dense(10, activation="softmax")
])
# Compile with optimizer and loss function
model.compile(
optimizer="adam",
loss="sparse_categorical_crossentropy",
metrics=["accuracy"]
)
# Generate dummy data for testing
x = np.random.random((100, 20))
y = np.random.randint(10, size=(100,))
# Train the model
model.fit(x, y, epochs=5, batch_size=32)
This example utilizes the core training loop implemented in keras/src/engine/training.py and layer definitions in keras/src/layers/core/dense.py.
GPU Support Configuration
By default, pip install keras provides the CPU-only TensorFlow build. For TensorFlow 2.10 and later, GPU support is included in the standard tensorflow package automatically pulled by the Keras installer, provided you have NVIDIA CUDA and cuDNN libraries installed on your system.
If you are using legacy TensorFlow versions below 2.10:
pip uninstall tensorflow
pip install tensorflow-gpu
pip install keras
Note: The separate tensorflow-gpu package is deprecated as of TensorFlow 2.10. The standard pip install keras workflow is sufficient for GPU-accelerated training on modern versions when system drivers are properly configured.
Summary
pip install kerasinstalls TensorFlow automatically as declared in thesetup.cfgdependency chain, eliminating the need for separate TensorFlow installation.- Versions are synchronized between Keras and TensorFlow (e.g., TF 2.13.0 provides Keras 2.13.0), ensuring API compatibility for callbacks and serialization.
- Key files including
keras/__init__.pyexpose the public API whilekeras/src/engine/contains the core training logic andkeras/src/layers/defines built-in layers. - GPU support is available in TensorFlow 2.10+ without requiring separate package installation, though CUDA libraries must be present on the system.
- Alternative: For advanced use cases requiring only the high-level API without TensorFlow, the
keras-corepackage exists, but this diverges from the standardpip install kerasworkflow.
Frequently Asked Questions
Does pip install keras install TensorFlow automatically?
Yes. According to the dependency specifications in the keras-team/keras repository's setup.cfg, the keras package declares tensorflow as a mandatory runtime dependency. When you run pip install keras, the package manager automatically resolves and installs the compatible TensorFlow version, along with supporting libraries like keras-preprocessing, h5py, and pyyaml.
Why do Keras and TensorFlow versions always match?
The Keras package maintains tight coupling with TensorFlow releases. As defined in the repository's dependency pins, the Keras version number mirrors the TensorFlow version (e.g., installing tensorflow==2.13.0 provides keras==2.13.0). This synchronization prevents API mismatches between the high-level Keras interface in keras/__init__.py and the underlying TensorFlow runtime engine.
How do I install Keras with GPU support?
For TensorFlow 2.10 and later, GPU support is included in the standard tensorflow package that pip install keras automatically pulls. You only need to ensure that NVIDIA CUDA and cuDNN libraries are installed on your system. For older TensorFlow versions, you could explicitly install tensorflow-gpu, though this approach is now deprecated in favor of the unified package structure.
What is the difference between keras and keras-core packages?
The keras package (installed via pip install keras) includes TensorFlow as a backend dependency and represents the standard, production-ready distribution maintained by keras-team/keras. The keras-core package provides the high-level Keras API without bundling TensorFlow, intended for advanced users implementing custom backends or specialized execution environments. Most users should stick with pip install keras for standard deep learning workflows.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →