用途:diffusers-cli 是 diffusers 仓库 src/diffusers/commands/ 中随包发布的命令行工具,面向在终端运行 DiffusionPipeline 或 ModularPipeline 的场景,例如一次性生成、批量任务、新模型冒烟测试,以及通过 --remote 在 HF Sandbox/HF Jobs 硬件上运行。
主要子命令:run 运行任意流水线,原样转发 --pipeline-kwargs,按运行时类型保存输出,可选 --remote 远程执行;schema 打印流水线仓库的输入 schema(参数名、类型、默认值、描述),只下载小型索引文件、不下载权重;custom_blocks 将本地 ModularPipelineBlocks 子类打包上传到 Hub;env 打印 diffusers、torch、transformers、accelerate、safetensors 版本及 CUDA、GPU 信息,用于排查环境、精度支持或撰写 bug 报告。
使用方式:多数工作通过 run 完成,构造命令前建议先读对应参考文件 run.md,其中涵盖 --pipeline-kwargs 语义与 shell 引号陷阱、--lora、优化参数(--dtype、--cpu-offload、--attention-backend、--vae-tiling/slicing)、输出处理与 --push-to 上传、--remote HF Jobs 全流程(镜像、容器命令、日志流、计时信息、产物下载)以及 --context-parallel。其余命令可用 diffusers-cli <command> --help 查看。输出格式由顶层 --format {auto, human, agent, json} 控制,须放在子命令之前;human 为终端默认,agent 在检测到智能体环境变量时自动启用,json 适合脚本解析;stdout 输出数据,stderr 输出提示与进度。
限制:多阶段、需要在流水线之间操作中间张量的工作流应改用 Python;CLI 只覆盖推理,不支持训练或微调;需要 quantization_config 等 CLI 未暴露的底层加载参数时应写 Python(device_map 已通过 --device-map 暴露)。若安装后 diffusers-cli 不在 PATH,可用 pip install -e . --force-reinstall --no-deps 重装并检查 which diffusers-cli;若缺少新功能(如出现 unrecognized arguments: --lora),同样需要重装。