autodl-train

Polar Sponsor
爱发电 赞助
.NET 9.0

在 AutoDL Linux 服务器上通过 SSH 远程运行模型训练任务。适用于启动训练、检查训练是否仍在进行、查看 GPU 使用情况等。

操作 AutoDL 训练

功能概述

操作 AutoDL 训练是一项面向实际任务的技能,主要用于将这一技能用于 AutoDL Linux 服务器上的远程训练操作;它的设计是围绕“ 启动训练、 监视进度、 检查 r” 的高频工作流程。

核心要点

  • 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
  • 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
  • 该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。

使用与执行

从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;

结果检查与注意事项

若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。

运行 AutoDL 训练

该技能用于在 AutoDL Linux 服务器上执行远程训练操作,专为高频工作流设计,涵盖“启动训练、监控进度、检查资源使用、读取日志、诊断失败原因、决定后续操作”等环节,且所有执行严格限定于一个已配置的项目目录内。

该技能的功能

  • 通过 SSH 在目标项目目录中启动已配置的训练命令。
  • 激活远程 Python 环境(优先使用 Conda,不支持时自动回退至 virtualenv)。
  • 综合进程状态、GPU 使用情况及日志更新时间等信号,判断训练是否仍在运行。
  • 汇总 GPU、CPU、内存和磁盘压力指标,而非直接输出原始命令结果。
  • 读取近期日志,并提取典型训练指标,例如 epoch、step、loss、lr、grad_norm、val_loss、accuracy、mAP 和 F1。
  • 检测常见训练失败类型,包括 CUDA OOM、NCCL 错误、NaN 值、磁盘空间耗尽、超时及段错误(segmentation fault)。
  • 生成面向人类可读的训练摘要,并推荐下一步操作:继续训练、调参优化,或从检查点恢复(resume)。

必需输入项

运行任何脚本前,请先收集或确认以下参数值:

  • host:AutoDL 服务器主机名或 IP 地址。
  • port:SSH 端口,默认为 22。
  • username:远程 Linux 用户名。
  • project_path:远程服务器上的绝对项目路径,例如 /root/autodl-tmp/your-project。
  • 环境配置三选一:env_name(Conda 环境名)、env_activate(自定义激活命令)、或 venv_path(virtualenv 路径)。
  • train_command:训练启动命令,如 python train.py、python -m torch.distributed.run ... 或 bash scripts/train.sh。
  • 可选密码模式:当无法使用 SSH 密钥登录时,可通过环境变量 AUTOCLAW_TRAIN_SSH_PASSWORD 或本地 .env 文件提供密码。

推荐将 config.example.json 复制为实际配置文件(如 config.json),或基于 .env.example 设置环境变量。

安全规则

  • 所有操作仅限于已配置的 project_path 目录内。
  • 不得虚构缺失的 SSH 凭据或密钥信息。
  • 禁止将明文密码写入任何文件。
  • 优先使用 SSH 密钥或环境变量方式认证。
  • 拒绝明显具有破坏性的启动命令,例如 rm -rf、reboot、shutdown、mkfs 或 fork bomb。
  • 不得终止无关进程,也不得执行全局性破坏性恢复命令。

工作流

1. 确认配置

阅读 config.example.json 和 references/usage.md 以了解所需字段。若存在缺失值,请向用户明确询问,切勿自行猜测。

2. 启动或恢复训练

运行 scripts/remote_train.py 启动后台训练任务,或生成恢复命令:

python scripts/remote_train.py --config config.json
python scripts/remote_train.py --config config.json --resume-from outputs/checkpoints/last.ckpt

当用户提出“启动训练”、“中断后重新启动”或“从检查点恢复”等请求时,使用此步骤。

3. 检查实时状态

当用户询问训练是否仍在运行时,运行 scripts/check_status.py:

python scripts/check_status.py --config config.json

该脚本结合进程匹配、nvidia-smi 输出与日志更新时间,将训练状态归类为 running、stopped、failed 或 unknown。

4. 检查资源压力

运行 scripts/monitor_resources.py 汇总 GPU/CPU/内存/磁盘使用情况:

python scripts/monitor_resources.py --config config.json

请优先采用输出中的人类可读瓶颈分析结果;除非用户明确要求原始数据,否则不应直接粘贴原始命令输出。

5. 读取日志与摘要

以以下任一模式运行 scripts/summarize_log.py:

python scripts/summarize_log.py --config config.json --action read --tail 200
python scripts/summarize_log.py --config config.json --action detect-failure --tail 400
python scripts/summarize_log.py --config config.json --action summarize --tail 400

使用 read 获取近期日志片段与指标;使用 detect-failure 进行异常诊断;使用 summarize 获取简洁、面向人类的收敛评估及后续操作建议。

脚本映射表

  • scripts/remote_train.py:启动训练;支持可选的恢复模板生成;返回结构化启动结果。
  • scripts/check_status.py:基于进程、GPU 及日志状态判断训练运行状态。
  • scripts/monitor_resources.py:汇总 GPU/CPU/内存/磁盘使用率,并提供瓶颈提示。
  • scripts/summarize_log.py:读取日志、检测失败原因、汇总收敛趋势并给出下一步建议。
  • scripts/common.py:共享功能模块,包括配置加载、SSH 执行封装、安全路径校验及远程辅助函数。
  • scripts/log_utils.py:可复用的日志解析、失败检测、趋势分析与推荐逻辑。

参考资料

  • 阅读 references/usage.md 了解部署步骤、示例配置与命令用法。
  • 当 SSH 连接、环境激活、日志读取或训练恢复失败时,查阅 references/troubleshooting.md。

智能体行为指引

  • 始终优先执行侵入性最小、且能直接回应用户请求的操作。
  • 当用户提出是非型状态问题(如“训练还在跑吗?”)时,应优先运行 scripts/check_status.py,而非直接读取长日志。
  • 当用户询问“训练为何停止”,应先运行 scripts/check_status.py,再运行 scripts/summarize_log.py --action detect-failure。
  • 当用户询问“是否应继续训练”,应运行 scripts/summarize_log.py --action summarize,并将脚本输出中的建议完整纳入最终响应。
  • 当用户提供检查点路径时,应优先使用 scripts/remote_train.py --resume-from ...,确保恢复命令显式、可审计。

相关专题

更多
Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

2026.10.22

0

11

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

2026.10.22

0

10

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

2026.10.22

0

15

Gradle怎么构建Java项目
Gradle怎么构建Java项目

本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。

2026.10.22

0

10

PHP时间戳漏洞修复教程
PHP时间戳漏洞修复教程

本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。

2026.10.22

0

25

Golangci-lint配置文件与规则设置
Golangci-lint配置文件与规则设置

本专题聚焦Golangci-lint YAML配置文件,讲清运行参数、规则启停、目录排除、问题过滤及严重级别设置,便于团队统一检查标准。

2026.10.22

0

15

Golangci-lint安装与入门教程
Golangci-lint安装与入门教程

本专题讲解Golangci-lint的安装、初始化、基础命令和首次代码检查,覆盖本地环境、Docker及多平台用法,帮助Go开发者快速上手。

2026.10.22

0

15

PHP2Shell高危漏洞修复教程
PHP2Shell高危漏洞修复教程

PHP2Shell漏洞是什么,哪些PHP版本和运行环境会受到影响,服务器应该如何检测与修复?本专题提供版本自查脚本、Linux与Docker升级命令、PHP-FPM和Apache排查步骤,以及修复验证、临时缓解和应急响应方案。

2026.10.22

0

12

剧云人物设定与关系管理教程
剧云人物设定与关系管理教程

本专题介绍剧云人物设定与关系管理,讲解角色小传、性格职业、人物目标、背景资料和关系网络的创建及维护方法。

2026.10.22

0

16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.9万人学习