开始使用 Keras

开始使用 Keras

学习资源

您是一位正在寻找 Keras 简介单页的机器学习工程师吗?阅读我们的指南 面向工程师的 Keras 简介

想了解更多关于 Keras 3 及其功能的信息吗?请参阅 Keras 3 发布公告

您是否正在寻找涵盖 Keras API 不同部分深入使用方法的详细指南?请阅读我们的 Keras 开发者指南

您是否正在寻找展示 Keras 在广泛用例中实际应用的教程?请参阅 Keras 代码示例:超过 150 个详细解释的 notebook,展示了 Keras 在计算机视觉、自然语言处理和生成式 AI 中的最佳实践。


安装 Keras 3

您可以通过 PyPI 安装 Keras

pip install --upgrade keras

您可以通过以下方式检查本地 Keras 版本号

import keras
print(keras.__version__)

要使用 Keras 3,您还需要安装一个后端框架——可以是 JAX、TensorFlow 或 PyTorch

如果您安装 TensorFlow 2.15,之后应该重新安装 Keras 3。原因是 tensorflow==2.15 会用 keras==2.15 覆盖您的 Keras 安装。从 TensorFlow 2.16 开始,此步骤不再必要,因为它默认会安装 Keras 3。

安装 KerasCV 和 KerasHub

KerasCV 和 KerasHub 可以通过 pip 安装

pip install --upgrade keras-cv
pip install --upgrade keras-hub
pip install --upgrade keras

配置您的后端

您可以导出环境变量 KERAS_BACKEND 或编辑本地配置文件 ~/.keras/keras.json 来配置您的后端。可用的后端选项有:"jax", "tensorflow", "torch"。示例

export KERAS_BACKEND="jax"

在 Colab 中,您可以执行以下操作

import os
os.environ["KERAS_BACKEND"] = "jax"
import keras

注意:必须在导入 Keras 之前配置后端,且在导入包后无法更改后端。

GPU 依赖项

Colab 或 Kaggle

如果您正在 Colab 或 Kaggle 上运行,GPU 应该已经配置好,并且具有正确的 CUDA 版本。通常无法在 Colab 或 Kaggle 上安装更新版本的 CUDA。尽管存在 pip 安装程序,但它们依赖于预装的 NVIDIA 驱动程序,并且无法在 Colab 或 Kaggle 上更新驱动程序。

通用 GPU 环境

如果您想尝试创建一个任何后端都可以使用 GPU 的“通用环境”,我们建议遵循 Colab 使用的依赖项版本(旨在解决这一确切问题)。您可以从这里安装 CUDA 驱动程序,然后通过遵循其各自的 CUDA 安装说明,使用 pip 安装后端:安装 JAX安装 TensorFlow安装 PyTorch

最稳定的 GPU 环境

如果您是 Keras 贡献者并正在运行 Keras 测试,建议使用此设置。它安装所有后端,但一次只允许一个后端访问 GPU,避免后端之间潜在的冲突依赖项要求。您可以使用以下特定于后端的 requirements 文件

这些通过 pip 安装所有启用 CUDA 的依赖项。它们要求预装 NVIDIA 驱动程序。我们建议为每个后端使用一个干净的 Python 环境,以避免 CUDA 版本不匹配。例如,以下是如何使用 Conda 创建一个 JAX GPU 环境

conda create -y -n keras-jax python=3.10
conda activate keras-jax
pip install -r requirements-jax-cuda.txt
pip install --upgrade keras

TensorFlow + Keras 2 向后兼容性

从 TensorFlow 2.0 到 TensorFlow 2.15(含),执行 pip install tensorflow 也会安装相应版本的 Keras 2——例如,pip install tensorflow==2.14.0 将安装 keras==2.14.0。然后该版本的 Keras 可以通过 import kerasfrom tensorflow import kerastf.keras 命名空间)进行访问。

从 TensorFlow 2.16 开始,执行 pip install tensorflow 将安装 Keras 3。当您拥有 TensorFlow >= 2.16 和 Keras 3 时,默认情况下 from tensorflow import keras (tf.keras) 将是 Keras 3。

同时,传统的 Keras 2 包仍在定期发布,并可在 PyPI 上以 tf_keras(或等效的 tf-keras——请注意在 PyPI 包名中 -_ 是等效的)的形式获取。要使用它,您可以通过 pip install tf_keras 进行安装,然后通过 import tf_keras as keras 进行导入。

如果您希望在升级到 TensorFlow 2.16+ 后,tf.keras 仍停留在 Keras 2 上,您可以配置 TensorFlow 安装,使 tf.keras 指向 tf_keras。要实现这一点

  1. 请确保安装 tf_keras。请注意,TensorFlow 默认不安装它。
  2. 导出环境变量 TF_USE_LEGACY_KERAS=1

有几种方法可以导出环境变量

  1. 您可以在启动 Python 解释器之前简单地运行 shell 命令 export TF_USE_LEGACY_KERAS=1
  2. 您可以将 export TF_USE_LEGACY_KERAS=1 添加到您的 .bashrc 文件中。这样,当您重新启动 shell 时,该变量仍会被导出。
  3. 您可以从以下内容开始您的 Python 脚本
import os
os.environ["TF_USE_LEGACY_KERAS"] = "1"

这些行需要放在任何 import tensorflow 语句之前。


兼容性矩阵

JAX 兼容性

以下 Keras + JAX 版本彼此兼容

  • jax==0.4.20 & keras~=3.0

TensorFlow 兼容性

以下 Keras + TensorFlow 版本彼此兼容

要使用 Keras 2

  • tensorflow~=2.13.0 & keras~=2.13.0
  • tensorflow~=2.14.0 & keras~=2.14.0
  • tensorflow~=2.15.0 & keras~=2.15.0

要使用 Keras 3

  • tensorflow~=2.16.1 & keras~=3.0

PyTorch 兼容性

以下 Keras + PyTorch 版本彼此兼容

  • torch~=2.1.0 & keras~=3.0