5.1 KiB
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 包的形式提供。
- 安装
keras:
pip install keras --upgrade
- 安装后端包。
要使用 keras,您还需要安装所选的后端:tensorflow、jax 或 torch。此外,
openvino 后端可用,但仅支持模型推理。
本地安装
最小安装
Keras 3 兼容 Linux 和 macOS 系统。对于 Windows 用户,我们建议使用 WSL2 运行 Keras。 要安装本地开发版本:
- 安装依赖:
pip install -r requirements.txt
- 从根目录运行安装命令。
python pip_build.py --install
- 在创建更新
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 发布公告. 中了解更多