校验配置并提交监控 SLURM 集群训练作业
30.8/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/10 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
自动兼容检查未通过:仓库根目录及浅层子目录均无 dsh 插件清单,无法用 dsh 插件安装命令安装。以下命令仍可尝试,但可能失败。
无法用 dsh 插件命令安装(仓库内无 dsh 插件清单)
git clone https://github.com/muyangplus/slurm-train-skill.git按该仓库 README 的原生方式安装;若作者另行发布了 DSH 插件包,请以其文档为准
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:需留意
是什么
dsh 原生插件 · dev
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 21 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装仓库根目录及浅层子目录均无 dsh 插件清单,无法用 dsh 插件安装命令安装
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包slurm-train-skill(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✗入口文件缺少入口声明
源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/12 08:17:28
安全扫描自动 · 静态分析源码v2.7.0⚪ 扫描:无法判定尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0已尝试扫描但取不到可分析的源码:仓库或包不存在、已删除,或为非 JS/TS 实现、未随包发布源码。无法判定,不代表安全。
- · 包内无可扫 JS
- · TS 源码(可能为非 JS 实现或未发布源码),无法判定
扫描于 2026/10/31(1 天前) · 范围 全包扫描(包内未声明入口) · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 校验训练配置
- 渲染提交脚本
- 同步代码
面向任意 SLURM GPU 集群的训练工作流 Skill:配置校验、脚本渲染、代码同步、作业提交、监控与结果回收
README
由 DeepSeek 最新模型翻译生成SLURM 训练技能
面向任意 SLURM GPU 集群的训练工作流技能。它把本地项目、登录节点和计算节点的职责明确分开,提供配置校验、脚本渲染、代码同步、作业提交、监控、结果回收和 CSV 指标分析。
该项目不绑定特定学校、网络、GPU、分区、训练框架或模型。YOLO 配置仅作为完整示例;任意框架都可通过命令参数数组接入。
前提
- Python 3.11 或更高版本。
- 本机已安装并能调用 OpenSSH ssh 与 scp。
- 集群登录节点提供 sbatch、squeue、scontrol、sacct 和 scancel。
- 已从管理员获得 SSH 主机或别名、工作目录、分区、账户/QoS、模块和 Conda 激活方式。
- 若集群计算节点无外网,必须在登录节点完成依赖、数据和模型权重准备。
目录
SKILL.md Claude Code Skill 入口 config/ 可复制 JSON 配置样例 scripts/slurm_train.py 本地编排 CLI,仅使用 Python 标准库 templates/ 通用 SLURM 模板 tests/ 离线 unittest 测试
快速开始
1. 建立私有集群配置。
展开完整文档(README 剩余 1 节)
SLURM 训练技能
面向任意 SLURM GPU 集群的训练工作流技能。它把本地项目、登录节点和计算节点的职责明确分开,提供配置校验、脚本渲染、代码同步、作业提交、监控、结果回收和 CSV 指标分析。
该项目不绑定特定学校、网络、GPU、分区、训练框架或模型。YOLO 配置仅作为完整示例;任意框架都可通过命令参数数组接入。
前提
- Python 3.11 或更高版本。
- 本机已安装并能调用 OpenSSH ssh 与 scp。
- 集群登录节点提供 sbatch、squeue、scontrol、sacct 和 scancel。
- 已从管理员获得 SSH 主机或别名、工作目录、分区、账户/QoS、模块和 Conda 激活方式。
- 若集群计算节点无外网,必须在登录节点完成依赖、数据和模型权重准备。
目录
SKILL.md Claude Code Skill 入口 config/ 可复制 JSON 配置样例 scripts/slurm_train.py 本地编排 CLI,仅使用 Python 标准库 templates/ 通用 SLURM 模板 tests/ 离线 unittest 测试
快速开始
1. 建立私有集群配置。
Copy-Item config/cluster.example.json config/cluster.json
Copy-Item config/experiment.single.example.json config/experiment.local.json
2. 编辑 config/cluster.json。填写登录节点、用户名、远端工作目录、分区和 Conda 设置。主机可写 SSH Config alias;不要填密码或私钥内容。
3. 编辑实验配置。inputs.data、inputs.model、output_dir 都相对于 remote.workspace,train_command 必须是字符串数组,不要传入整段 shell。
4. 先打印诊断命令并确认无误,再执行真实连接诊断。
python scripts/slurm_train.py --cluster config/cluster.json --dry-run doctor
python scripts/slurm_train.py --cluster config/cluster.json doctor
5. 渲染并审核训练脚本。
python scripts/slurm_train.py --cluster config/cluster.json render --experiment config/experiment.local.json --output rendered/baseline.slurm
6. 同步源代码,上传并提交已审核的脚本。
python scripts/slurm_train.py --cluster config/cluster.json sync --source .
python scripts/slurm_train.py --cluster config/cluster.json submit --script rendered/baseline.slurm
7. 使用返回的 job ID 查看状态或取消作业。
python scripts/slurm_train.py --cluster config/cluster.json status 12345
python scripts/slurm_train.py --cluster config/cluster.json cancel 12345
8. 拉取结果并分析 CSV。
python scripts/slurm_train.py --cluster config/cluster.json fetch --remote-path runs/baseline-2gpu --destination .\runs
python scripts/slurm_train.py analyze .\runs\baseline-2gpu\results.csv --output .\runs\baseline-summary.json
配置
集群配置
config/cluster.example.json 的字段:
| 字段 | 作用 |
| connection | 登录节点、用户、端口和可选私钥路径。认证由 OpenSSH/agent 管理。 |
| remote | 远端工作目录及代码、数据、权重、结果、日志和 staging 的相对目录。 |
| slurm | 默认分区、账户、QoS、资源、模块和 Conda 设置。 |
| policy.compute_nodes_have_internet | 默认 false;阻止训练命令包含安装、下载和 clone 行为。 |
| policy.allow_remote_delete | 默认 false;只有管理员同意后才允许远端删除。 |
所有 remote 子路径必须是相对 POSIX 路径,remote.workspace 必须是绝对 POSIX 路径。实验名和 trial 名仅允许字母、数字、点、下划线和连字符。
训练实验
mode: single 为一个 Slurm 任务配置一个或多个 GPU。推荐使用 2 GPU + batch 32 获得最佳训练吞吐(~280 img/s)。命令参数支持 {data}、{model}、{name}、{output_dir}、{output_parent} 和 {best_model} 占位符。
并行实验矩阵
mode: parallel 的 trials 是独立实验数组。工具从 trial 数量生成 --ntasks,并为每个任务分配 --gpus-per-task 张 GPU。每个 trial 名必须唯一。模板交给 Slurm 的 CUDA_VISIBLE_DEVICES 处理隔离,绝不把 SLURM_PROCID 当物理显卡编号。
trial 参数可在命令中以 {batch}、{epochs} 等占位符使用。
数据集检查
YOLO 数据集可用示例 profile 离线检查目录和标签配对:
python scripts/slurm_train.py check-dataset --dataset . --profile config/dataset.yolo.example.json
它检查 train/val 的图片与标签目录,以及每张图片是否存在同名 .txt 标签。远端数据集应在登录节点以相同规则检查,并确保数据配置引用集群上的绝对路径。
作业脚本约束
渲染出的脚本会:
- 使用 set -euo pipefail。
- 创建日志目录、加载模块、初始化/激活 Conda、切换工作目录。
- 在分配到计算节点后检查数据和权重文件是否存在。
- 不在计算节点执行 pip、conda install、wget、curl 或 git clone。
- 使用 %x-%j 或 %x-%j-%t 命名日志。
- 并行任务使用 srun --exclusive --gpus-per-task。
- 多 GPU 作业包含 #SBATCH --gres-flags=enforce-binding 确保 GPU 独占。
依赖安装、模型下载和大规模数据准备应在登录节点完成,且最好由项目自己的环境管理脚本负责。
结果与分析
fetch 可以拉取任何工作区相对路径。它不默认删除远端结果。只有同时满足以下条件才会删除:
1. cluster.json 中 allow_remote_delete 为 true。
2. 显式提供 --delete-remote。
3. --confirm 与将删除的绝对远端路径完全一致。
analyze 读取一个或多个 CSV 并输出 JSON。对 YOLO/Ultralytics 常见列名自动识别 mAP50、mAP50-95、Precision 和 Recall,给出最佳值、对应 epoch 和最终值。
命令参考
python scripts/slurm_train.py --help
python scripts/slurm_train.py --cluster config/cluster.json doctor
python scripts/slurm_train.py --cluster config/cluster.json sync --source PATH
python scripts/slurm_train.py --cluster config/cluster.json render --experiment PATH [--output PATH]
python scripts/slurm_train.py --cluster config/cluster.json submit --script PATH
python scripts/slurm_train.py --cluster config/cluster.json status JOB_ID
python scripts/slurm_train.py --cluster config/cluster.json cancel JOB_ID
python scripts/slurm_train.py --cluster config/cluster.json fetch --remote-path PATH --destination PATH
python scripts/slurm_train.py check-dataset --dataset PATH --profile PATH
python scripts/slurm_train.py analyze RESULT.csv [MORE.csv ...] [--output REPORT.json]
安全
- 使用 SSH key、agent 或企业 SSO,不把密码放入配置或命令行。
- 保持 config/cluster.json、私钥、实验产物和日志不入库。
- 使用 --dry-run 审阅所有外部命令。
- 先 render 后 submit,避免把未经审核的命令送入队列。
- 没有集群管理员批准时,不猜测分区、账户、QoS、GPU 型号、模块名或网络访问路径。
验证
python -m unittest discover -s tests -v
诊断顺序
发生问题时按以下顺序检查:
1. 本地 SSH 连接、主机别名、端口和认证。
2. 登录节点上的工作目录、模块、Conda 环境、数据和模型权重。
3. status JOB_ID 输出中的 Slurm Pending 原因、状态与退出码。
4. 作业 stdout/stderr 和框架自己的结果文件。
5. CUDA 兼容性、显存、数据加载吞吐和恢复 checkpoint。
不要通过直接 SSH 到假定的 GPU 节点或手动指定物理 GPU 来绕过 Slurm。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
muyangplus/slurm-train-skill
校验配置并提交监控 SLURM 集群训练作业
相关插件 · 开发 / 工程
隐私简历生成器reactive-resume/reactive-resume
Reactive Resume 已迁至 GitHub 上的…
★ 45,125已汉化MCP
71.7
AI 架构文档生成器sopaco/deepwiki-rs
🚀 Litho 已进化为 Terrain —— 给你的 AI 智能体一张会呼吸的代码库地图。
★ 3,157已汉化DSH
70.8
长时任务执行闭环AMAP-ML/LongHorizon-Harness
面向 Computer-Use Agent 的 Loop Engineering
★ 1,764已汉化DSH
70.5
AI 编程纪律方法包GanyuanRan/Aegis
让 AI 编程 agent 变得可信:少返工、更安全、说“完成”前先给证据。
★ 1,384已汉化DSH
69.6
多代理编排运行时Enderfga/claw-orchestrator
面向编程智能体的运行时。把 Claude Code、Codex、Antigravity、Grok…
★ 586已汉化MCP
69.4
记忆进化插件csyangwen/dsh-memory-evolve
dsh-memory-evolve 使用场景指南
★ 461已汉化DSH
67.9