Determined AI 教程:如何查看基于周期的训练指标

Determined AI 教程:如何查看基于周期的训练指标

determined Determined is an open-source machine learning platform that simplifies distributed training, hyperparameter tuning, experiment tracking, and resource management. Works with PyTorch and TensorFlow. determined 项目地址: https://gitcode.com/gh_mirrors/de/determined

前言

在机器学习模型训练过程中,监控训练进度和验证性能是至关重要的。Determined AI 提供了一个强大的平台,可以帮助开发者有效地跟踪和分析模型训练过程中的各项指标。本文将详细介绍如何在 Determined 平台上查看基于训练周期(epoch)的指标数据,帮助开发者更好地理解模型训练过程。

准备工作

环境搭建

在开始之前,您需要确保已经搭建好 Determined 的运行环境:

  1. 确保您的机器上已经安装了 Docker 并正在运行
  2. 通过以下命令安装 Determined 库:
pip install determined
  1. 根据您的硬件配置启动本地集群:
# 有 GPU 的机器
det deploy local cluster-up

# 无 GPU 的机器
det deploy local cluster-up --no-gpu

获取示例文件

为了演示如何查看基于周期的指标,我们需要使用一个示例项目。您可以从官方资源获取 PyTorch MNIST 示例文件,其中包含:

  • model_def.py:模型定义脚本
  • const.yaml:实验配置文件

实现基于周期的指标报告

基本原理

在 Determined 平台中,默认情况下会报告基于训练步数(steps)的指标。但很多时候,开发者更习惯以训练周期(epoch)为单位来观察模型性能的变化。通过 Core API,我们可以轻松实现这一功能。

代码修改

我们需要对训练脚本进行两处关键修改:

  1. 训练方法修改
partial_epoch = batches_completed / len(training_loader)
core_context.train.report_training_metrics(
    steps_completed=batches_completed + epoch_idx * len(train_loader),
    metrics={"train_loss": loss.item(), "epochs": epoch_idx + partial_epoch},
)

这段代码实现了:

  • 计算当前完成的周期比例(partial_epoch)
  • 报告训练损失和周期指标
  • 确保steps_completed正确累计
  1. 验证方法修改
epochs_completed = epoch_idx + 1
core_context.train.report_validation_metrics(
    steps_completed=steps_completed,
    metrics={"test_loss": test_loss, "epochs": epochs_completed},
)

这段代码实现了:

  • 报告验证损失
  • 记录完整的周期数

运行实验

修改完成后,使用以下命令运行实验:

det e create metrics.yaml .

在WebUI中查看周期指标

实验运行后,您可以按照以下步骤查看周期指标:

  1. 打开 Determined WebUI
  2. 选择您的实验
  3. 导航到"Metrics"标签页
  4. 在X轴选项中选择"Epochs"
  5. 查看基于周期的指标图表

图表将清晰展示训练损失和验证损失随训练周期变化的趋势,帮助您更直观地理解模型的学习过程。

技术要点解析

周期计算原理

在实现周期指标时,我们需要注意:

  1. 部分周期计算:由于训练过程中可能在一个周期内多次报告指标,我们需要计算部分完成的周期比例
  2. 步数累计:确保steps_completed正确累计,避免图表中出现重复或跳跃的点
  3. 验证周期:验证通常在完整周期结束时进行,因此使用整数周期计数

性能考虑

当实现周期指标报告时,应考虑以下性能因素:

  1. 报告频率:过于频繁的报告会影响性能
  2. 数据精度:确保报告的指标值具有足够的精度
  3. 内存使用:大量指标数据可能会占用较多内存

最佳实践

  1. 一致性:保持训练和验证指标的周期计算方式一致
  2. 清晰命名:使用明确的指标名称,如"train_loss"和"val_loss"
  3. 适当频率:根据训练规模调整指标报告频率
  4. 文档记录:在代码中添加注释说明指标计算方式

常见问题解决

  1. 图表显示异常

    • 检查steps_completed是否正确累计
    • 确认周期计算逻辑是否正确
  2. 指标缺失

    • 验证报告代码是否被正确执行
    • 检查指标名称是否一致
  3. 性能问题

    • 减少不必要的指标报告
    • 考虑使用批量报告方式

总结

通过本文,您已经学会了如何在 Determined 平台中实现和查看基于训练周期的指标。这一功能对于深入理解模型训练过程、识别潜在问题以及优化训练策略都非常有帮助。

进阶学习

掌握了基础周期指标查看后,您可以进一步探索:

  1. 自定义指标计算方式
  2. 实现更复杂的训练监控策略
  3. 结合其他 Determined 功能进行全面的训练分析

Determined 平台提供了丰富的工具和API,支持开发者构建和管理复杂的机器学习工作流程。通过充分利用这些功能,您可以显著提高模型开发效率和质量。

determined Determined is an open-source machine learning platform that simplifies distributed training, hyperparameter tuning, experiment tracking, and resource management. Works with PyTorch and TensorFlow. determined 项目地址: https://gitcode.com/gh_mirrors/de/determined

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

资源下载链接为: https://pan.quark.cn/s/502b0f9d0e26 在当下互联网蓬勃发展的时代,流媒体技术已然成为多媒体内容传播与分享的关键手段,而 m3u8 格式凭借其基于 HTTP Live Streaming (HLS) 的特性,在在线视频、直播等诸多领域被广泛应用。不过,普通用户若想把 m3u8 链接下载下来,再转换成像 MP4 这样的本地离线观看文件,往往离不开一款专业的工具——m3u8 下载器。本文将深入剖析 m3u8 下载器的功能特点,以及其如何助力用户实现多任务下载、突破速度限制、将 ts 文件合并为 MP4 格式,还有处理加密视频等诸多功能。 m3u8 下载器核心功能是能从 m3u8 播放列表里解析出 TS 分片文件,并进行批量下载。TS 即传输流,是流媒体传输中常见的数据包形式。该下载器支持多任务下载,用户可同时操作多个 m3u8 链接,对于有大量视频下载需求的用户而言,这大大提升了下载效率。而且,m3u8 下载器在合法合规的前提下,通过优化下载策略,突破了常规网络环境下部分网站对下载速度的限制,让用户能更快速地获取所需多媒体资源。 此外,m3u8 下载器还能把 TS 文件合并成 MP4 文件。TS 文件是流媒体数据的片段,MP4 则是一种通用且便于存储、播放的格式。下载器会自动按顺序将所有 TS 文件合并,生成完整的 MP4 文件,极大简化了用户操作。更关键的是,它支持处理采用 AES-128-CBC 加密的 TS 文件。AES 是广泛使用的加密标准,CBC 是其工作模式之一,对于这类加密的 m3u8 视频,下载器能自动识别并解密,保障用户正常下载、播放加密内容。 m3u8 下载器还对错误进行了修正,优化了性能,有效解决了下载中断等问题,确保下载过程稳定。同时,软件在设计时将安全性作为重点,注重保护用户隐私,规避下载过程中的安全风
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

俞凯润

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值