arboria.toml
This content is not available in your language yet.
arboria.toml 在主 worktree 的根目录,由 arb init 生成,应该由你提交到仓库。已存在时 arb init 不覆盖它,只在缺 [project] id 时补上这一项。
| 键 | 默认 | 作用 |
|---|---|---|
default_machine |
"" |
没有 --machine 时用的 clusters.toml profile |
[project] id |
arb init 生成 |
进作业名、远程目录、ARBORIA_WANDB_ID 和审核单哈希;有 run 在集群上时不要改 |
[budget] total_su |
0 |
项目总预算(SU);0 = 没设,审核单上会提醒 |
[claudemd] autocommit |
true |
更新 CLAUDE.md 区块后,是否只提交这一个文件 |
[watch] observation_minutes |
10 |
观察期长度(分钟) |
[watch] fail_patterns |
见下 | 观察期内匹配就取消的正则 |
[wandb] entity、project |
"" |
两个都填了,arb submit 才记下 wandb 链接;notebook 里读曲线也用它们 |
[run] command |
"python train.py" |
没有 -- CMD 时(以及 lab.run)的训练命令 |
[run] override_style |
"hydra" |
--set k=v 的拼法:hydra → k=v,argparse / tyro → --k v |
[claude] push |
true |
命令待办是否尽力推给正在运行的 Claude Code 会话 |
[review] checklist |
三条示例 | 提交前审稿的检查清单(还没被读取,留给以后的审稿人) |
default_machine = "deltaai"
[project]id = "myproj-3f2a"
[budget]total_su = 400
[wandb]entity = "my-team"project = "lm"
[run]command = "python train.py"override_style = "hydra"
[watch]observation_minutes = 10fail_patterns = ['(?i)\bloss\b[^\n]{0,40}\bnan\b', '(?i)\bnan\b[^\n]{0,40}\bloss\b', 'CUDA out of memory', 'torch\.OutOfMemoryError'][watch]
Section titled “[watch]”- 没有
[watch]表时用上面的默认值;写了fail_patterns就完全替换默认列表。 - 正则按 Python
re语法逐行匹配日志末尾 50 行。加载时就检查,写错了会直接报出是第几条。 - 默认只认 loss 为 NaN 和 CUDA OOM,
0 NaN batches skipped这样的行不会触发。
没有 [wandb] / [run] 的旧文件也能用:只有真正需要时(例如没给 -- CMD 又没有 [run] command)才报错。没有 [project] id 时,submit、approve、poll、watch、logs、remote、cancel 会拒绝并提示运行 arb init 补上。
| 变量 | 默认 | 作用 |
|---|---|---|
ARBORIA_CONFIG_DIR |
~/.config/arboria |
clusters.toml 和全局命令库的位置 |
ARBORIA_HOME |
~/arboria |
种子园的位置 |