核心框架提供了在 TensorFlow Model Garden 中训练和评估机器学习模型的底层基础架构。它将常见的机器学习工作流抽象为一组标准化的组件,负责数据摄取、模型构建、训练、评估和配置管理。本页文档介绍了此框架的架构和组件。
有关在此框架之上构建的特定模型实现的更多信息,请参阅 NLP 模型、计算机视觉模型 和 推荐模型 的页面。
核心框架由多个关键组件组成,它们协同工作,提供灵活、可配置的训练流水线。
来源
该框架使用分层配置系统,可轻松进行参数管理和实验配置。
配置系统使用 Python 数据类构建,支持类型检查和 IDE 自动补全。配置可以以编程方式创建,也可以从 JSON/YAML 文件加载。
来源
配置示例(代码中)
来源
Task 类是一个核心抽象,它定义了如何构建模型、创建数据集、计算损失和评估性能。
用户通过继承 Task 并实现所需方法来实施其特定任务。这提供了一个一致的接口,同时允许实现细节的灵活性。
来源
来源
输入流水线负责从各种来源读取数据、预处理数据,并创建用于训练和评估的批处理数据集。
InputReader 类提供了一个灵活的接口,用于从各种来源读取数据、应用转换和创建批处理数据集。
来源
来源
训练框架将所有组件整合在一起,以运行完整的训练和评估循环。其核心是 Trainer 类,它处理内部训练循环,而 Orbit 的 Controller 则管理外部循环。
来源
该框架支持多种执行模式:
train:训练模型直到达到指定的步数。eval:在验证数据集上评估模型。train_and_eval:交错训练和评估。continuous_eval:持续监视新检查点并对其进行评估。来源
核心框架与 Orbit 库集成,用于管理训练循环并提供标准化的抽象。
Orbit 在内部训练/评估循环和外部循环管理之间提供了清晰的隔离。核心框架扩展并实现了这些抽象,以提供完整的训练和评估流程。
来源
Orbit 的 Controller 管理外部训练和评估循环,负责处理
来源
StandardTrainer 和 StandardEvaluator 类提供了抽象的训练器和评估器接口的结构化实现
来源
下图说明了运行训练实验时的执行流程
来源
核心框架通过 run_experiment 函数支持多种执行模式
示例工作流程
来源
TensorFlow Model Garden 中的核心框架为实现、训练和评估机器学习模型提供了一个全面的基础。关键组件包括:
这些组件共同提供了一种结构化、可配置的机器学习实验方法,同时允许在实现细节上具有灵活性。
来源