Stable Diffusion WebUI安装的文件夹有启动主程序的脚本(script),称为启动脚本。Linux/macOS的环境变量与启动脚本参数是写在webui-user.sh
,接著使用者以终端机执行webui.sh
,它会读取webui-user.sh
里面写的变数与设定值,將其传给launch.py
,然后启动WebUI。Windows也是类似,不过环境变量与启动脚本参数是写在webui-user.bat
批处理文件,然后使用者以终端机执行此批处理文件即会启动主程式。因此要修改启动参数,您应该改的是webui-user.sh
,而不是webui.sh
。
1. 环境变量与命令行参数的设定方法
- Linux/macOS:编辑
webui-user.sh
,填入export 变数=数值
- Windows:编辑
webui-user.bat
,填入set 变数=数值
例如,Windows对webui-user.bat
按右键以记事本编辑,加入这行命令列引数:
set COMMANDLINE_ARGS=--xformers --no-half-vae --medvram
2. 环境变量
可在启动脚本使用这些环境变量(environment variables):
名称 | 说明 |
---|---|
PYTHON | 设定Python执行文件路径。 |
VENV_DIR | 设定Python虚拟环境的路径。预设值为venv 。该值为- 时则不建立虚拟环境,直接执行Python程序。 |
COMMANDLINE_ARGS | 主程式的额外命令行参数。 |
IGNORE_CMD_ARGS_ERRORS | 设定为任意值,使程序遇到未知的命令行参数退出时不显示错误 |
REQS_FILE | 启动launch.py 安装依赖套件使用的requirements.txt文件名。预设值为requirements_versions.txt |
TORCH_COMMAND | 安装PyTorch的指令 |
INDEX_URL | pip的--index-url 参数 |
TRANSFORMERS_CACHE | Transformer函式库下载的路径,以及CLIP模型相关文件的路径。 |
CUDA_VISIBLE_DEVICES | 如果电脑有多个GPU,使用此引数选取要使用的GPU,例如set CUDA_VISIBLE_DEVICES=0 。 |
SD_WEBUI_LOG_LEVEL | 输出日志格式。有效值为Pyhton內建的logging 模组数值。预设为INFO 。 |
SD_WEBUI_CACHE_FILE | 缓存文件路径,预设值为根目录下的cache.json 。 |
SD_WEBUI_RESTAR | 由启动脚本(webui.sh 或webui.bat )设定的值,告诉WebUI可以使用重启功能。 |
SD_WEBUI_RESTARTING | 检测WebUI是否正在重启或重新载入的內部数值,可以用来关闭自动开启浏览器的功能。设为1 即不要自动开启浏览器。设为0 的话,即使WebUI正在重启也自动开启浏览器。 |
3. 命令行参数
命令行参数(command line arguments)为启动WebUI时使用的选项,写在启动脚本的COMMANDLINE_ARGS=
后面。
注意下面命令行参数是二条横线「- -」
引数指令 | 数值 | 预设值 | 说明 |
---|---|---|---|
设定值 | |||
-h, –help | None | False | 显示此帮助讯息並退出。 |
–exit | 安装后终止程式。 | ||
–data-dir | DATA_DIR | ./ | 使用者资料储存的路径。 |
–config | CONFIG | configs/stable-diffusion/v1-inference.yaml | 建构模型设定档的路径。 |
–ckpt | CKPT | model.ckpt | Stable Diffusion模型的存档点模型路径。一旦指定,该模型会加入至存档点模型列表並载入。 |
–ckpt-dir | CKPT_DIR | None | 存放Stable Diffusion模型存档点模型的路径。 |
–no-download-sd-model | None | False | 即使找不到模型,也不自动下载SD1.5模型。 |
–vae-dir | VAE_PATH | None | VAE的路径。 |
–gfpgan-dir | GFPGAN_DIR | GFPGAN/ | GFPGAN路径 |
–gfpgan-model | GFPGAN_MODEL | GFPGAN模型档名 | |
–codeformer-models-path | CODEFORMER_MODELS_PATH | models/Codeformer/ | Codeformer模型档的路径。 |
–gfpgan-models-path | GFPGAN_MODELS_PATH | models/GFPGAN | GFPGAN模型档的路径。 |
–esrgan-models-path | ESRGAN_MODELS_PATH | models/ESRGAN | ESRGAN模型档的路径。 |
–bsrgan-models-path | BSRGAN_MODELS_PATH | models/BSRGAN | BSRGAN模型档的路径。 |
–realesrgan-models-path | REALESRGAN_MODELS_PATH | models/RealESRGAN | RealESRGAN模型档的路径。 |
–scunet-models-path | SCUNET_MODELS_PATH | models/ScuNET | ScuNET模型档的路径。 |
–swinir-models-path | SWINIR_MODELS_PATH | models/SwinIR | SwinIR和SwinIR v2模型档的路径。 |
–ldsr-models-path | LDSR_MODELS_PATH | models/LDSR | 含有LDSR模型档的路径。 |
–lora-dir | LORA_DIR | models/Lora | 含有LoRA模型档的路径。 |
–clip-models-path | CLIP_MODELS_PATH | None | 含有CLIP模型档的路径。 |
–embeddings-dir | EMBEDDINGS_DIR | embeddings/ | Textual inversion的embeddings路径 (预设: embeddings) |
–textual-inversion-templates-dir | TEXTUAL_INVERSION_TEMPLATES_DIR | textual_inversion_templates | Textual inversion范本的路径 |
–hypernetwork-dir | HYPERNETWORK_DIR | models/hypernetworks/ | Hypernetwork路径 |
–localizations-dir | LOCALIZATIONS_DIR | localizations/ | 在地化翻译路径 |
–styles-file | STYLES_FILE | styles.csv | 风格档名 |
–ui-config-file | UI_CONFIG_FILE | ui-config.json | UI设定档档名 |
–no-progressbar-hiding | None | False | 取消隱藏Gradio UI的进度条 (我们之所以將其隱藏,是因为在瀏览器启动硬体加速的状况下,进度条会降低机器学习的效能) |
–max-batch-count | MAX_BATCH_COUNT | 16 | UI的最大批次数值 |
–ui-settings-file | UI_SETTINGS_FILE | config.json | UI设定值画面的档名 |
–allow-code | None | False | 允许在WebUI执行自订指令稿 |
–share | None | False | 使用此引数在启动后会產生Gradio网址,使WebUI能从外部网路存取 |
–listen | None | False | 以0.0.0.0主机名称启动Gradio,使其能回应连线请求 |
–port | PORT | 7860 | 以给定的通讯埠启动Gradio。1024以下的通讯埠需要root权限。如果可用的话,预设使用7860通讯埠。 |
–hide-ui-dir-config | None | False | 在WebUI隱藏设定档目录。 |
–freeze-settings | None | False | 停用编辑设定。 |
–enable-insecure-extension-access | None | False | 无视其他选项,强制启用扩充功能页籤。 |
–gradio-debug | None | False | 使用 –debug选项启动Gradio |
–gradio-auth | GRADIO_AUTH | None | 设定Gardio授权,例如”username:password”,或是逗號分隔值形式”u1:p1,u2:p2,u3:p3″ |
–gradio-auth-path | GRADIO_AUTH_PATH | None | 设定Gardio授权档案路径。 例如 “/路径/” 再加上--gradio-auth 的格式。 |
–disable-console-progressbars | None | False | 不在终端机显示进度条。 |
–enable-console-prompts | None | False | 在使用文生图和图生图的时候,於终端机印出提示词 |
–api | None | False | 以API模式启动WebUI |
–api-auth | API_AUTH | None | 设定API授权,例如”username:password”,或是逗號分隔值形式”u1:p1,u2:p2,u3:p3″ |
–api-log | None | False | 启用所有API请求的纪录档 |
–nowebui | None | False | 仅启动API, 不启动WebUI |
–ui-debug-mode | None | False | 不载入模型,以更快启动WebUI |
–device-id | DEVICE_ID | None | 选择要使用的CUDA装置 (例如在启动指令稿使用export CUDA_VISIBLE_DEVICES=0或1) |
–administrator | None | False | 使用系统管理员权限 |
–cors-allow-origins | CORS_ALLOW_ORIGINS | None | 允许跨来源资源共用,列表以逗號分隔,不可有空格 |
–cors-allow-origins-regex | CORS_ALLOW_ORIGINS_REGEX | None | 允许跨来源资源共用,后面加上单一正规表达式 |
–tls-keyfile | TLS_KEYFILE | None | 部份启用TLS,,需要配合–tls-certfile才能正常运作 |
–tls-certfile | TLS_CERTFILE | None | 部份启用TLS,需要配合–tls-keyfile才能正常运作 |
–server-name | SERVER_NAME | None | 设定伺服器主机名称 |
–skip-version-check | None | False | 不检查torch和xformers的版本 |
–no-hashing | None | False | 停用计算存档点模型的sha256杂凑值,加快载入速度 |
–skip-version-check | None | False | 不检查torch与xformers版本。 |
–skip-version-check | None | False | 不检查Python版本。 |
–skip-torch-cuda-test | None | False | 不检查CUDA是否正常运作。 |
–skip-install | None | False | 跳过安装套件。 |
–loglevel | None | None | 日誌纪录等级,有效值为CRITICAL, ERROR, WARNING, INFO, DEBUG |
–log-startup | None | False | 在启动程式时输出launch.py的详细执行內容。 |
–api-server-stop | None | False | 允许透过API通讯停止/重启/强制停止主程式。 |
–timeout-keep-alive | int | 30 | 设定uvicorn的timeout_keep_alive数值。 |
性能相关 | |||
–xformers | None | False | 给cross attention layers启用xformers |
–reinstall-xformers | None | False | 强制重装xformers,升级时很有用。但为避免不断重装,升级后將会移除。 |
–force-enable-xformers | None | False | 强制给cross attention layers启用xformers 此选项无法运作的话请勿回报bug |
–xformers-flash-attention | None | False | 给xformers启用Flash Attention,提昇再现能力 (仅支援SD2.x或以此为基础的模型) |
–opt-split-attention | None | False | 强制启用Doggettx的cross-attention layer最佳化。有CUDA的系统预设启用此选项。 |
–opt-split-attention-invokeai | None | False | 强制启用InvokeAI的cross-attention layer最佳化。无CUDA的系统预设启用此选项。 |
–opt-split-attention-v1 | None | False | 启用旧版的split attention最佳化,防止佔用全部可用的VRAM, |
–opt-sub-quad-attention | None | False | 启用增进记忆体效率的sub-quadratic cross-attention layer最佳化 |
–sub-quad-q-chunk-size | SUB_QUAD_Q_CHUNK_SIZE | 1024 | sub-quadratic cross-attention layer最佳化使用的序列化区块大小 |
–sub-quad-kv-chunk-size | SUB_QUAD_KV_CHUNK_SIZE | None | sub-quadratic cross-attention layer最佳化使用的kv区块大小 |
–sub-quad-chunk-threshold | SUB_QUAD_CHUNK_THRESHOLD | None | sub-quadratic cross-attention layer最佳化过程中,区块化使用的VRAM閾值 |
–opt-channelslast | None | False | 启用4d tensors使用的alternative layout,或许可以加快推理速度 仅適用搭载Tensor核心的Nvidia显示卡(16xx系列以上) |
–disable-opt-split-attention | None | False | 强制停用cross-attention layer的最佳化 |
–disable-nan-check | None | False | 不检查生成图像/潜在空间是否有nan。在CI模式无使用存档点模型的时候很有用。 |
–use-cpu | {all, sd, interrogate, gfpgan, bsrgan, esrgan, scunet, codeformer} | None | 让部份模块使用CPU作为PyTorch的装置 |
–no-half | None | False | 不將模型转换为半精度浮点数 |
–precision | {full,autocast} | autocast | 使用此精度评估 |
–no-half-vae | None | False | 不將VAE模型转换为半精度浮点数 |
–upcast-sampling | None | False | 向上取样。搭配 –no-half使用则无效。生成的结果与使用–no-half引数相近,效率更高,使用更少记忆体。 |
–medvram | None | False | 启用Stable Diffusion模型最佳化,牺牲速度,换取较小的VRAM佔用。 |
–lowvram | None | False | 启用Stable Diffusion模型最佳化,大幅牺牲速度,换取更小的VRAM佔用。 |
–lowram | None | False | 將Stable Diffusion存档点模型的权重载入至VRAM,而非RAM |
–disable-model-loading-ram-optimization | None | False | 停用模型载入时降低RAM佔用的优化。 |
功能 | |||
–autolaunch | None | False | 启动WebUI后自动开启系统预设的瀏览器 |
–theme | None | Unset | 使用指定主题启动WebUI (light或dark),无指定则使用瀏览器预设主题。 |
–use-textbox-seed | None | False | 在WebUI的种子栏位使用textbox (没有上下,但可以输入长的种子码) |
–disable-safe-unpickle | None | False | 不检查PyTorch模型是否有恶意程式码 |
–ngrok | NGROK | None | Ngrok授权权杖, –share引数的替代品。 |
–ngrok-region | NGROK_REGION | us | 选择启动Ngrok的区域 |
–update-check | None | None | 启动时检查有无新版本。 |
–update-all-extensions | None | None | 在启动WebUI的时候自动更新所有扩充功能。 |
–reinstall-xformers | None | False | 强制重新安装xformers,適用於更新程式之后执行。更新完之后记得移除此引数。 |
–reinstall-torch | None | False | 强制重新安装touch,適用於更新程式之后执行。更新完之后记得移除此引数。 |
–tests | TESTS | False | 执行功能测试,確认WebUI正常运作。 |
–no-tests | None | False | 即使有--test 引数也不要执行功能测试。 |
–dump-sysinfo | None | False | 倾印系统讯息並退出程式(不包括扩充功能) |
–disable-all-extensions | None | False | 停用所有扩充功能,包含內建的扩充功能。 |
–disable-extra-extensions | None | False | 停用所有扩充功能。 |
已经无效的选项 | |||
–show-negative-prompt | None | False | 无作用 |
–deepdanbooru | None | False | 无作用 |
–unload-gfpgan | None | False | 无作用 |
–gradio-img2img-tool | GRADIO_IMG2IMG_TOOL | None | 无作用 |
–gradio-inpaint-tool | GRADIO_INPAINT_TOOL | None | 无作用 |
–gradio-queue | None | False | 无作用 |
–add-stop-route | None | False | 无作用 |
–always-batch-cond-uncond | None | False | 无作用 |