Files
keras-team--keras/README.md
T
2026-07-13 10:09:45 +00:00

5.1 KiB
Raw Blame History

Note

本文档由 WeHub 基于上游 README 翻译整理,属于社区翻译,非官方中文文档。
English · 原始项目 · 上游 README
原作者、版权与许可证归属以原始项目及本仓库 LICENSE 文件为准。

Keras 3:面向人类的深度学习

Keras 3 是一个多后端深度学习框架,支持 JAX、TensorFlow、PyTorch 和 OpenVINO(仅用于推理)。 可轻松构建并训练用于计算机视觉、自然语言处理、音频处理、 时间序列预测、推荐系统等领域的模型。

  • 加速模型开发:借助 Keras 的高级用户体验,以及 PyTorch 或 JAX 急切执行(eager execution)等易于调试的运行时,更快交付深度学习解决方案。
  • 业界领先的性能:选择最适合您模型架构的后端(通常是 JAX!),相比其他框架可获得 20% 至 350% 的加速。基准测试在这里.
  • 数据中心级训练:自信地从笔记本电脑扩展到大型 GPU 或 TPU 集群。

与近三百万开发者一起,从新兴初创公司到全球企业,共同发挥 Keras 3 的威力。

安装

使用 pip 安装

Keras 3 在 PyPI 上提供为 keras。请注意,Keras 2 仍以 tf-keras 包的形式提供。

  1. 安装 keras
pip install keras --upgrade
  1. 安装后端包。

要使用 keras,您还需要安装所选的后端:tensorflowjaxtorch。此外, openvino 后端可用,但仅支持模型推理。

本地安装

最小安装

Keras 3 兼容 Linux 和 macOS 系统。对于 Windows 用户,我们建议使用 WSL2 运行 Keras。 要安装本地开发版本:

  1. 安装依赖:
pip install -r requirements.txt
  1. 从根目录运行安装命令。
python pip_build.py --install
  1. 在创建更新 keras_export 公共 API 的 PR 时,运行 API 生成脚本:
./shell/api_gen.sh

后端兼容性表

下表列出了最新稳定版 Keras(v3.x)对各后端的最低支持版本:

后端 最低支持版本
TensorFlow 2.16.1
JAX 0.4.20
PyTorch 2.1.0
OpenVINO 2025.3.0

添加 GPU 支持

requirements.txt 文件将安装仅 CPU 版本的 TensorFlow、JAX 和 PyTorch。如需 GPU 支持,我们还 为 TensorFlow、JAX 和 PyTorch 提供了单独的 requirements-{backend}-cuda.txt。这些会通过 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
python pip_build.py --install

配置后端

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

export KERAS_BACKEND="jax"

在 Colab 中,您可以:

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

import keras

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

注意: OpenVINO 后端是仅推理后端,意味着它仅设计用于通过 model.predict() 方法运行模型预测。

向后兼容

Keras 3 旨在作为 tf.keras 的直接替代(使用 TensorFlow 后端时)。只需拿出现有的 tf.keras 代码,确保对 model.save() 的调用使用最新的 .keras 格式,即可完成。

如果您的 tf.keras 模型不包含自定义组件,您可以立即在 JAX 或 PyTorch 上运行它。

如果确实包含自定义组件(例如自定义层或自定义 train_step()),通常只需几分钟即可将其转换为与后端无关的实现。

此外,无论使用哪个后端,Keras 模型都可以使用任何格式的数据集: 您可以使用现有的 tf.data.Dataset 流水线或 PyTorch DataLoaders 训练模型。

为何使用 Keras 3

  • 在任何框架之上运行高级 Keras 工作流——按需受益于各框架的优势, 例如 JAX 的可扩展性与性能,或 TensorFlow 的生产生态系统选项。
  • 编写可在任何框架的低级工作流中使用的自定义组件(例如层、模型、指标)。
    • 您可以获取 Keras 模型,并在用原生 TF、JAX 或 PyTorch 从头编写的训练循环中训练它。
    • 您可以获取 Keras 模型,将其作为 PyTorch 原生 Module 的一部分,或作为 JAX 原生模型函数的一部分。
  • 通过避免框架锁定,让您的 ML 代码面向未来。
  • 作为 PyTorch 用户:终于可以使用 Keras 的强大功能与易用性!
  • 作为 JAX 用户:终于可以使用功能齐全、久经考验、文档完善的建模与训练库。

Keras 3 发布公告. 中了解更多