菜单

概述

相关源文件

本文档全面介绍了 Keras 3,这是一个多后端深度学习框架。它涵盖了 Keras 3 的目的、架构和关键特性,为理解整个代码库奠定了基础。

有关安装和配置后端详细信息,请参阅安装和设置后端配置。有关 API 结构的具体信息,请参考API 结构

Keras 3 是什么?

Keras 3 是一个多后端深度学习框架,旨在与 JAX、TensorFlow、PyTorch 和 OpenVINO(仅限推理)配合使用。它提供了一致的高级 API,用于在这些不同的后端引擎上构建和训练机器学习模型,使开发人员无需更改代码即可利用每个后端的优势。

该框架支持广泛的应用,包括

  • 计算机视觉
  • 自然语言处理
  • 音频处理
  • 时间序列预测
  • 推荐系统

来源:README.md1-5

主要特性与优势

Keras 3 提供了多项优势,使其成为强大的深度学习工具

  1. 后端无关性:一次编写代码,即可在任何支持的后端(TensorFlow、JAX、PyTorch 或 OpenVINO)上运行
  2. 加速开发:通过高级 API 和易于调试的运行时,更快地交付深度学习解决方案
  3. 最先进的性能:为特定模型架构选择最佳后端
  4. 可扩展性:从本地开发无缝扩展到大型 GPU/TPU 集群
  5. 向后兼容性:在使用 TensorFlow 后端时,可作为 tf.keras 的直接替代品
  6. 框架互操作性:在原生的 TensorFlow、JAX 或 PyTorch 工作流中使用 Keras 模型

来源:README.md7-12 README.md112-123

架构概述

Keras 3 建立在多后端架构之上,该架构抽象了后端特定的实现细节,在不同框架中提供了一致的 API。

图表:Keras 3 高层架构

来源:README.md3-5

核心组件

Keras 3 围绕几个关键组件构建,这些组件协同工作以提供一个全面的深度学习框架

图表:Keras 3 组件交互

  1. 模型:用于构建、训练和使用神经网络的核心类
  2. :神经网络的构建块(如 Dense、Conv2D、LSTM 等)
  3. 优化器:用于更新模型权重的算法(如 SGD、Adam 等)
  4. 损失:用于计算模型误差的函数(如 categorical_crossentropy、MSE 等)
  5. 度量:用于评估模型性能的函数(如 accuracy、precision 等)
  6. 操作:与后端无关的数学运算
  7. 回调:用于自定义训练过程的工具

来源:README.md112-123

后端系统

后端系统负责根据配置的后端将操作分派到适当的后端实现。这使得相同的 Keras 代码无需修改即可在不同的框架上运行。

图表:后端配置与选择

后端必须在导入 Keras 之前配置,且导入包后无法更改。可用的后端选项有

  • "tensorflow": TensorFlow 后端
  • "jax": JAX 后端
  • "torch": PyTorch 后端
  • "numpy": NumPy 后端(主要用于测试)
  • "openvino": OpenVINO 后端(仅限推理)

来源:README.md73-96

操作系统

Keras 3 具有统一的操作系统,提供与后端无关的数学和神经网络操作。正是这个系统使得 Keras 模型能够在任何受支持的后端上运行。

图表:Keras 操作系统

该操作系统包括

  1. NumPy 兼容操作:类似于 NumPy 的标准数学运算
  2. 神经网络操作:用于神经网络的专用操作,如激活、卷积等
  3. 符号执行和即时执行:操作在模型构建(符号)和直接计算(即时)期间均可工作

来源:有关操作的更多详细信息,请参阅操作

兼容性特性

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。

来源:README.md98-111

快速入门

要开始使用 Keras 3,您需要

  1. 安装 Keras 包

    pip install keras --upgrade
    
  2. 安装至少一个后端包

    pip install tensorflow  # or jax, torch
    
  3. 在导入 Keras 之前配置您的后端

有关安装和设置(包括 GPU 支持)的更详细说明,请参阅安装和设置

来源:README.md16-32 README.md73-92

总结

Keras 3 是一个多功能的深度学习框架,它在多个后端之间提供统一的 API。其架构使开发人员能够编写一次代码,并在 TensorFlow、JAX、PyTorch 或 OpenVINO 上运行,从而利用每个后端的优势。凭借其兼容性特性、可扩展性和性能优势,Keras 3 成为研究和生产环境的强大工具。

有关 Keras 3 特定方面的更多详细信息,请参阅以下维基页面

来源:README.md1-13 README.md112-124