开发自定义训练模板

模板结构概述

一个典型的自定义训练模板应包含必要的配置文件和训练脚本。以 YOLOv5 目标检测训练模板(例如,training-object-detection-ultralytics)为例,其目录结构通常包括:

  • 核心训练脚本: 负责模型训练逻辑。
  • 工具脚本: 提供与平台交互的辅助函数。
  • 配置文件: 指定训练环境和参数。

核心职责与脚本要求

用户的主要任务是实现自定义训练脚本(通常命名为 run.sh)。为了确保您的自定义脚本能够被正确集成并与 Alauda AI 平台子任务协同工作,请严格遵守以下三项关键要求:

导入平台工具脚本:

您的主训练脚本(例如 run.sh)必须在开头执行以下命令以加载平台提供的工具函数:

#!/usr/bin/env bash

set -ex
SCRIPT_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" &>/dev/null && pwd -P)
source ${SCRIPT_DIR}/util.sh

目的:util.sh 脚本封装了平台标准能力,如参数获取、路径解析和日志记录。请参考提供的示例,确保您的脚本正确利用系统内置参数和控制流程。

模型输出路径通知机制:

在训练函数正常退出前,必须执行以下命令,将模型输出路径传递给后续任务(如模型上传任务):

echo "${MODEL_PATH}/${OUTPUT_DIR}" > ${TASK_META_OUTPUT_PATH_FILE}

目的:此步骤是平台识别并收集最终训练输出的关键机制。请确保路径构造正确(基础模型路径 + 相对输出目录)。

脚本执行权限:

在将模板上传至 GitLab 模型仓库前,确保所有 Bash 脚本文件——尤其是 run.sh 及其依赖的 .sh 文件——均具有可执行权限。 操作:通过运行 chmod +x *.sh 或针对特定文件执行该命令设置权限。

关键参数参考表

在实现训练模板时,请仔细查看下表,了解模板目录结构和脚本中涉及的核心参数及其含义。这些参数定义了基础模型、数据集和平台环境的关联方式。 建议:在开始编写前,务必学习我们提供的官方示例模板,以更好地理解参数在实际训练流程中的调用和使用。

config.yaml模板 YAML 文件

util.sh工具脚本

run.sh模板执行脚本