132 lines
5.1 KiB
Markdown
132 lines
5.1 KiB
Markdown
<!-- WEHUB_ZH_README -->
|
||
> [!NOTE]
|
||
> 本文档由 WeHub 基于上游 README 翻译整理,属于社区翻译,非官方中文文档。
|
||
> [English](./README.en.md) · [原始项目](https://github.com/keras-team/keras) · [上游 README](https://github.com/keras-team/keras/blob/HEAD/README.md)
|
||
> 原作者、版权与许可证归属以原始项目及本仓库 LICENSE 文件为准。
|
||
|
||
# Keras 3:面向人类的深度学习
|
||
|
||
Keras 3 是一个多后端深度学习框架,支持 JAX、TensorFlow、PyTorch 和 OpenVINO(仅用于推理)。
|
||
可轻松构建并训练用于计算机视觉、自然语言处理、音频处理、
|
||
时间序列预测、推荐系统等领域的模型。
|
||
|
||
- **加速模型开发**:借助 Keras 的高级用户体验,以及 PyTorch 或 JAX 急切执行(eager execution)等易于调试的运行时,更快交付深度学习解决方案。
|
||
- **业界领先的性能**:选择最适合您模型架构的后端(通常是 JAX!),相比其他框架可获得 20% 至 350% 的加速。[基准测试在这里](https://keras.io/getting_started/benchmarks/).
|
||
- **数据中心级训练**:自信地从笔记本电脑扩展到大型 GPU 或 TPU 集群。
|
||
|
||
与近三百万开发者一起,从新兴初创公司到全球企业,共同发挥 Keras 3 的威力。
|
||
|
||
|
||
## 安装
|
||
|
||
### 使用 pip 安装
|
||
|
||
Keras 3 在 PyPI 上提供为 `keras`。请注意,Keras 2 仍以 `tf-keras` 包的形式提供。
|
||
|
||
1. 安装 `keras`:
|
||
|
||
```
|
||
pip install keras --upgrade
|
||
```
|
||
|
||
2. 安装后端包。
|
||
|
||
要使用 `keras`,您还需要安装所选的后端:`tensorflow`、`jax` 或 `torch`。此外,
|
||
`openvino` 后端可用,但仅支持模型推理。
|
||
|
||
### 本地安装
|
||
|
||
#### 最小安装
|
||
|
||
Keras 3 兼容 Linux 和 macOS 系统。对于 Windows 用户,我们建议使用 WSL2 运行 Keras。
|
||
要安装本地开发版本:
|
||
|
||
1. 安装依赖:
|
||
|
||
```
|
||
pip install -r requirements.txt
|
||
```
|
||
|
||
2. 从根目录运行安装命令。
|
||
|
||
```
|
||
python pip_build.py --install
|
||
```
|
||
|
||
3. 在创建更新 `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 环境:
|
||
|
||
```shell
|
||
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 中,您可以:
|
||
|
||
```python
|
||
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 发布公告](https://keras.io/keras_3/). 中了解更多
|