SuperAPI AI 工具集

marimo-batch-mlflow

智能体与模型

查看项目

更新于 10-15 20:33

技能介绍

用途:把 marimo 笔记本变成双模式工具——交互式 UI 用于快速迭代,同一文件也能通过 uv run notebook.py --epochs 50 作为批处理/扫描任务入口,无需复制代码。

主要能力:1) 双模式模式:以 mo.app_meta().mode == "script" 分支一次,脚本模式用 tyro.cli(ModelParams) 构建参数,UI 模式用表单填充,下游单元格统一消费 params。2) Tyro CLI:字段名生成 --epochs、--batch-size 等,字段下 PEP 257 文档字符串成为 --help 文本,自动生成 --help 与类型转换、校验;主用 dataclass,Pydantic BaseModel 为备选(需 Tyro v0.8+,Field(description=...) 变帮助文本)。3) MLflow 追踪:训练循环包在 mlflow.start_run() 中,读取 MLFLOW_TRACKING_URI,未设置时回退 ./mlruns/,设置 params.mlflow_experiment = "" 可完全关闭日志。4) 实时训练组件:UI 模式下嵌入 mlflow_widgets.MlflowChart 显示 loss 曲线,脚本模式关闭;比较历史运行可用 MlflowRunTable 或 MlflowParallelCoordinates。5) EnvConfig 单元格:用 wigglystuff.EnvConfig 检查 MLFLOW_TRACKING_URI 与 MLFLOW_TRACKING_TOKEN,置于导入之后、参数表单之前。6) 列布局约定:保留 @app.cell(column=N, hide_code=True),建议 column=0 描述与环境变量、1 参数表单、2 数据、3 模型、4 训练循环与实时图表。7) 网格搜索:references/grid.py 默认 dry-run 打印组合,--launch 提交任务,--count N、--seed S 控制采样,后端为 Hugging Face Jobs(huggingface_hub.run_uv_job),需要 HF_TOKEN 与 MLFLOW_TRACKING_URI,可替换为 Modal、RunPod 或本地 subprocess。

使用方式:确认需要 MLflow + Tyro 变体,确定暴露为 CLI 的参数,选择 dataclass 或 Pydantic,决定是否启用实时图表;应用单元格级改动前与用户确认,保留列标记;需要扫描时复制 grid.py 并修改 SEARCH_SPACE。

适用场景:已有自托管 MLflow 服务器(或本地 ./mlruns)并偏好强类型 CLI 的用户。若用户已用 W&B,应选上游 marimo-batch。

限制:属于 marimo-team/skills/marimo-batch 的分支,需相应 marimo、Tyro、MLflow、wigglystuff、mlflow-widgets 环境;具体版本、收费、平台支持等资料暂未提供。