本文档全面介绍了 Keras 3,这是一个多后端深度学习框架。它涵盖了 Keras 3 的目的、架构和关键特性,为理解整个代码库奠定了基础。
有关安装和配置后端详细信息,请参阅安装和设置和后端配置。有关 API 结构的具体信息,请参考API 结构。
Keras 3 是一个多后端深度学习框架,旨在与 JAX、TensorFlow、PyTorch 和 OpenVINO(仅限推理)配合使用。它提供了一致的高级 API,用于在这些不同的后端引擎上构建和训练机器学习模型,使开发人员无需更改代码即可利用每个后端的优势。
该框架支持广泛的应用,包括
来源:README.md1-5
Keras 3 提供了多项优势,使其成为强大的深度学习工具
来源:README.md7-12 README.md112-123
Keras 3 建立在多后端架构之上,该架构抽象了后端特定的实现细节,在不同框架中提供了一致的 API。
图表:Keras 3 高层架构
来源:README.md3-5
Keras 3 围绕几个关键组件构建,这些组件协同工作以提供一个全面的深度学习框架
图表:Keras 3 组件交互
后端系统负责根据配置的后端将操作分派到适当的后端实现。这使得相同的 Keras 代码无需修改即可在不同的框架上运行。
图表:后端配置与选择
后端必须在导入 Keras 之前配置,且导入包后无法更改。可用的后端选项有
"tensorflow": TensorFlow 后端"jax": JAX 后端"torch": PyTorch 后端"numpy": NumPy 后端(主要用于测试)"openvino": OpenVINO 后端(仅限推理)Keras 3 具有统一的操作系统,提供与后端无关的数学和神经网络操作。正是这个系统使得 Keras 模型能够在任何受支持的后端上运行。
图表:Keras 操作系统
该操作系统包括
来源:有关操作的更多详细信息,请参阅操作。
Keras 3 旨在在使用 TensorFlow 后端时,作为 tf.keras 的直接替代品。这种兼容性延伸到
| 功能 | 描述 |
|---|---|
| 模型加载 | 以最少改动加载现有的 tf.keras 模型 |
| 数据集格式 | 可与 tf.data.Dataset、PyTorch DataLoaders 或原始 NumPy 数组配合使用 |
| 自定义组件 | 将自定义的 tf.keras 组件转换为与后端无关的实现 |
| 原生框架集成 | 在原生的 TensorFlow、JAX 或 PyTorch 工作流中使用 Keras 模型 |
TensorFlow 兼容层通过keras.api._tf_keras模块提供,该模块模拟了原始 tf.keras 实现的 API。
要开始使用 Keras 3,您需要
安装 Keras 包
pip install keras --upgrade
安装至少一个后端包
pip install tensorflow # or jax, torch
在导入 Keras 之前配置您的后端
有关安装和设置(包括 GPU 支持)的更详细说明,请参阅安装和设置。
来源:README.md16-32 README.md73-92
Keras 3 是一个多功能的深度学习框架,它在多个后端之间提供统一的 API。其架构使开发人员能够编写一次代码,并在 TensorFlow、JAX、PyTorch 或 OpenVINO 上运行,从而利用每个后端的优势。凭借其兼容性特性、可扩展性和性能优势,Keras 3 成为研究和生产环境的强大工具。
有关 Keras 3 特定方面的更多详细信息,请参阅以下维基页面