找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 206|回复: 0

stable-diffusion-webui 命令行参数和设置

[复制链接]

983

主题

83

回帖

5万

积分

管理员

积分
53122
发表于 2023-6-15 23:44:22 | 显示全部楼层 |阅读模式

  R1 x1 q, h8 o, C2 {
& S. B8 z( H7 A' S. k7 Y7 Fusage: launch.py [-h] [--update-all-extensions] [--skip-python-version-check] [--skip-torch-cuda-test]7 d' h* d- t$ O7 @, }4 g
                 [--reinstall-xformers] [--reinstall-torch] [--update-check] [--test-server]
4 Q& U! J( g& c' s: T                 [--skip-prepare-environment] [--skip-install] [--data-dir DATA_DIR] [--config CONFIG] [--ckpt CKPT]/ s: J/ P$ f$ C
                 [--ckpt-dir CKPT_DIR] [--vae-dir VAE_DIR] [--gfpgan-dir GFPGAN_DIR] [--gfpgan-model GFPGAN_MODEL]5 }) T) Y/ L2 ]7 a: e) _
                 [--no-half] [--no-half-vae] [--no-progressbar-hiding] [--max-batch-count MAX_BATCH_COUNT]
* Y6 z0 v* h8 d& V% b                 [--embeddings-dir EMBEDDINGS_DIR] [--textual-inversion-templates-dir TEXTUAL_INVERSION_TEMPLATES_DIR]. @5 u7 I! J! U, X, o" ]
                 [--hypernetwork-dir HYPERNETWORK_DIR] [--localizations-dir LOCALIZATIONS_DIR] [--allow-code]( {: x6 X& z: J& H
                 [--medvram] [--lowvram] [--lowram] [--always-batch-cond-uncond] [--unload-gfpgan]
* @# v/ B' i  O. E* b3 f. ]                 [--precision {full,autocast}] [--upcast-sampling] [--share] [--ngrok NGROK]
! k! i. L6 ?' B# D& P8 _                 [--ngrok-region NGROK_REGION] [--ngrok-options NGROK_OPTIONS] [--enable-insecure-extension-access]
5 w0 G. v6 n: ?" |2 k. W9 L                 [--codeformer-models-path CODEFORMER_MODELS_PATH] [--gfpgan-models-path GFPGAN_MODELS_PATH]
3 o0 ~# F  u" ~+ E- }                 [--esrgan-models-path ESRGAN_MODELS_PATH] [--bsrgan-models-path BSRGAN_MODELS_PATH]4 _, z% K9 x# V/ ^' h# |2 Q! Z
                 [--realesrgan-models-path REALESRGAN_MODELS_PATH] [--clip-models-path CLIP_MODELS_PATH] [--xformers]) y3 R- u' k0 |- i# D& {0 r
                 [--force-enable-xformers] [--xformers-flash-attention] [--deepdanbooru] [--opt-split-attention]
1 `# ^% _0 c, s                 [--opt-sub-quad-attention] [--sub-quad-q-chunk-size SUB_QUAD_Q_CHUNK_SIZE]
! l- Q$ g! P6 E- Z5 m1 X                 [--sub-quad-kv-chunk-size SUB_QUAD_KV_CHUNK_SIZE]
1 I1 u% P' V* ]2 w' X4 @; S. q                 [--sub-quad-chunk-threshold SUB_QUAD_CHUNK_THRESHOLD] [--opt-split-attention-invokeai]
2 \" Z; H" j2 j6 q4 v5 |* R4 g                 [--opt-split-attention-v1] [--opt-sdp-attention] [--opt-sdp-no-mem-attention], x6 e. }! W/ X& [' q' U6 Z9 E
                 [--disable-opt-split-attention] [--disable-nan-check] [--use-cpu USE_CPU [USE_CPU ...]] [--listen]
- Z4 ^  r6 J( i8 J9 l) m1 w                 [--port PORT] [--show-negative-prompt] [--ui-config-file UI_CONFIG_FILE] [--hide-ui-dir-config]  p3 c$ J# a2 y
                 [--freeze-settings] [--ui-settings-file UI_SETTINGS_FILE] [--gradio-debug]
8 e/ p- l7 E- u7 [1 m                 [--gradio-auth GRADIO_AUTH] [--gradio-auth-path GRADIO_AUTH_PATH]
% K" N# A: ?8 i# {& w                 [--gradio-img2img-tool GRADIO_IMG2IMG_TOOL] [--gradio-inpaint-tool GRADIO_INPAINT_TOOL]
# s) Z2 q; I/ x, [$ e! O                 [--gradio-allowed-path GRADIO_ALLOWED_PATH] [--opt-channelslast] [--styles-file STYLES_FILE], i4 d/ ^4 @+ z- H: \- w2 z
                 [--autolaunch] [--theme THEME] [--use-textbox-seed] [--disable-console-progressbars]$ G# Y! c% S& U" [4 Y* n
                 [--enable-console-prompts] [--vae-path VAE_PATH] [--disable-safe-unpickle] [--api]
  N$ c. s$ L6 P6 K                 [--api-auth API_AUTH] [--api-log] [--nowebui] [--ui-debug-mode] [--device-id DEVICE_ID]# r# @* z% O2 N/ j
                 [--administrator] [--cors-allow-origins CORS_ALLOW_ORIGINS]& G5 [2 h* A2 _
                 [--cors-allow-origins-regex CORS_ALLOW_ORIGINS_REGEX] [--tls-keyfile TLS_KEYFILE]
! @) o9 \# g% k9 J% K                 [--tls-certfile TLS_CERTFILE] [--disable-tls-verify] [--server-name SERVER_NAME] [--gradio-queue]
+ y# Q6 l# k  ?8 n                 [--no-gradio-queue] [--skip-version-check] [--no-hashing] [--no-download-sd-model]# T9 k  C% |+ Q) r8 q7 _
                 [--subpath SUBPATH] [--add-stop-route] [--ldsr-models-path LDSR_MODELS_PATH] [--lora-dir LORA_DIR]
* |* H& b4 r( {5 V7 ]/ ?, t: S                 [--scunet-models-path SCUNET_MODELS_PATH] [--swinir-models-path SWINIR_MODELS_PATH]) ?: P' l: u' ?4 U' I, X! W% X
1 l' h2 R: X6 J6 i$ w( ^+ G

5 h) _. U, [7 [+ J& K8 r- T
命令行参数解释
--opt-sdp-attention速度比使用 xformer 更快,仅适用于手动将 Torch 2.0 安装到其 venv 的用户。(非确定性)
--opt-sdp-no-mem-attention速度比使用 xformer 更快,仅适用于手动将 Torch 2.0 安装到其 venv 的用户。(确定性,略慢于--opt-sdp-attention)
--xformers使用]xformers库。内存消耗和速度有了很大的改进。只会在配置的一小部分上启用,因为这就是我们有二进制文件的目的。
--force-enable-xformers启用上面的 xformers,无论程序是否认为您可以运行它。不要报告运行此内容的错误。
--opt-split-attention交叉关注层优化显著减少了内存使用,几乎没有成本(有些人报告说它提高了性能)。黑魔法。
( _$ Y# p8 \! v, E, Y( v. s4 x默认启用 ,包括 NVidia 和 AMD 卡。torch.cuda
--disable-opt-split-attention禁用上述优化。
--opt-sub-quad-attention次二次注意,一种内存高效的交叉注意层优化,可以显着减少所需的内存,有时以轻微的性能成本。如果使用 xformers 不起作用的硬件/软件配置获得较差的性能或失败的代次,则建议使用。在macOS上,这也将允许生成更大的图像。
--opt-split-attention-v1使用上述优化的旧版本,该版本不会占用大量内存(它将使用更少的 VRAM,但对您可以制作的最大图片大小的限制会更多)。
--medvram通过将稳定扩散模型拆分为三部分,使稳定扩散模型消耗更少的 VRAM:cond(用于将文本转换为数字表示)、first_stage(用于将图片转换为潜在空间并返回)和 unet(用于实际去噪潜在空间)并使其始终只有一个在 VRAM 中,将其他部分发送到 CPU RAM。降低性能,但仅降低一点 - 除非启用了实时预览。
--lowvram对上述内容进行了更彻底的优化,将unet拆分为许多模块,并且只有一个模块保留在VRAM中。对性能具有破坏性。
*do-not-batch-cond-uncond防止在采样期间对正提示和负提示进行批处理,这实质上允许您以 0.5 批大小运行,从而节省大量内存。降低性能。不是命令行选项,而是使用 或 隐式启用的优化。--medvram--lowvram
--always-batch-cond-uncond禁用上述优化。只有与或一起才有意义--medvram--lowvram
--opt-channelslast更改割炬存储类型,以便稳定扩散到通道。效果没有仔细研究。
--upcast-sampling对于英伟达和AMD卡平时强制运行,应该会提高生成速度。--no-half
额外提示 (Windows):
优化器和标志的内存和性能影响
这是一个使用特定硬件和配置的示例测试,您的里程可能会有所不同9 w& o5 `8 C# a. x0 o# W. a. J
使用 nVidia RTX3060 和 CUDA 11.7 进行测试
交叉注意批量大小为 1/2/4/8/16 的峰值内存初始它/秒峰值它/秒注意
没有4.1 / 6.2 / OOM / OOM / OOM4.24.6缓慢和早期的内存不足
v12.8 / 2.8 / 2.8 / 3.1 / 4.14.14.7速度慢但内存使用率最低,有时不需要有问题的 xformer
调用人工智能3.1 / 4.2 / 6.3 / 6.6 / 7.05.56.6与默认优化器几乎相同
道格特克斯3.1 / 4.2 / 6.3 / 6.6 / 7.15.46.6违约
道格特克斯2.2 / 2.7 / 3.8 / 5.9 / 6.24.16.3使用预设可以节省大量内存,而不会对性能造成巨大影响medvram
道格特克斯0.9 / 1.1 / 2.2 / 4.3 / 6.41.06.3由于不断交换,使用预设的速度非常慢lowvram
Xformers2.8 / 2.8 / 2.8 / 3.1 / 4.16.57.5最快和低内存
Xformers2.9 / 2.9 / 2.9 / 3.6 / 4.16.47.6与和cuda_alloc_confopt-channelslast
笔记:
  • 批量大小 1 时的性能约为峰值性能的 ~70%
  • 峰值性能通常在批量大小 8 左右1 d# V4 z, p$ u- [
    之后,如果您有额外的 VRAM,它会增长几个百分点,然后由于 GC 启动而开始下降
  • 预设的性能在批处理大小 8 以下非常低,到那时内存节省不是那么大lowvram
    " U* }; \7 {" \: ~( M* ~, \

    0 e7 g" d0 J: d% c
其他可能的优化:
  • 添加6 d6 p5 \$ p) Z8 H' }) g* a2 Y- d4 V
    不影响性能,并稍微增加初始内存占用量,但长期运行时减少内存碎片set PYTORCH_CUDA_ALLOC_CONF=garbage_collection_threshold:0.9,max_split_size_mb:512webui-user.bat
  • opt-channelslast
    # F- X$ }6 b; g' \- @, x. h9 _命中和未命中:批量大小较大时性能似乎略有提高,而小批量大小时性能较慢,但差异在误差范围内
    ) m+ C& G' y! r5 m" c
    7 v# ^7 |4 Y9 M. D9 a2 t0 d7 ]  Y

- f: b+ Y/ T3 g' Z0 L+ C# e
这是稳定扩散网页UI维基。维基主页
+ L7 l) L3 y1 l+ q  b8 W8 h! c- b

. @8 y- D; f: k1 y1 U/ Z
% e5 M3 D6 n# H9 l4 m, s( @- N) v
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|返回首页

GMT+8, 2024-12-23 21:02 , Processed in 0.087287 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表