stable-diffusion-webui - 安定した拡散 Web UI

(Stable Diffusion web UI)

Created at: 2022-08-24 18:43:48
Language: Python
License: AGPL-3.0

Colab で開く

WindowsLinux、またはGoogle Colabのインストール手順

問題がありますか?

貢献したいですか?

Gradio バージョン (安定版)

dev
ブランチで新しいプル リクエストを開いてください。

Gradioについては、ドキュメントをチェックして貢献してください

Gradio に関する問題や機能のリクエストがありますか? サポートのために github で問題/機能のリクエストを開きます: https://github.com/gradio-app/gradio/issues

Gradio のサポートがさらに必要ですか?

gradio-stable-diffusion
グラディオの作成者との Q&A を求めるディスコード チャンネルがあります。参加するには、このリンクhttps://discord.gg/Qs8AsnX7Jdを使用してから、グラディオに移動し
role-assignment
てクリックして
gradio
チャンネルに参加してください。

GradioまたはStreamlitバージョンに新機能を追加可能

機能、トラブルシューティング、一般的な問題に関するドキュメントがまもなく追加されます

ドキュメンテーションを手伝いたいですか?何かを文書化しましたか?ディスカッションを使用する

重要

🔥新着!webui.cmd は environment.yaml ファイルの変更に合わせて更新されるため、新しい environment.yaml ファイルを取得する限り、環境は常に最新の状態になります。🔥

🔥環境を削除し、src フォルダーを削除して再度作成する必要はありません。はるかに簡単です。🔥


アップスケーラーについての質問?

最適化モードについて質問がありますか?

コマンド ライン オプションに関する質問はありますか?


特徴:

  • Gradio GUI: txt2img と img2img の両方を生成するための完全な機能を備えた、ばかばかしくないフロントエンド
  • パラメーターを手動で入力する必要はもうありません。プロンプトを作成してスライダーを調整するだけです。
  • GFPGAN 顔補正🔥:モデルをダウンロードします ビルトインの GFPGAN オプションで歪んだ顔を自動的に修正し、0.5 秒以内に修正します
  • RealESRGAN アップスケーリング🔥:モデルをダウンロードします 組み込みの RealESRGAN オプションで画像の解像度を高めます
  • 💻CPU サポートの esrgan/gfpgan💻
  • テキスト反転🔥:情報- 有効にする必要があります。こちらを参照してください。スクリプトは有効にしなくても通常どおり動作します
  • 高度な img2img エディター🎨 🔥 🎨
  • 🔥🔥マスクとトリミング🔥🔥
  • マスク塗装(NEW)🖌️: 変更したい画像の特定の部分だけを再生成するための強力なツール
  • その他の k_diffusion サンプラー🔥🔥: デフォルトのサンプラーよりはるかに高品質の出力、歪みが少なく、より正確
  • txt2img サンプラー: 「DDIM」、「PLMS」、「k_dpm_2_a」、「k_dpm_2」、「k_euler_a」、「k_euler」、「k_heun」、「k_lms」
  • img2img サンプラー: 「DDIM」、「k_dpm_2_a」、「k_dpm_2」、「k_euler_a」、「k_euler」、「k_heun」、「k_lms」
  • ループバック (新規): 最後に生成されたサンプルを自動的に img2img に戻します
  • プロンプト加重 (NEW)🏋️: プロンプト内のさまざまな用語の強さを調整します
  • 🔥--gpu で選択可能な GPU デバイス 🔥
  • メモリ監視🔥:出力後のVRAM使用量と生成時間を表示します。
  • 単語の種🔥: シード番号の代わりに単語を使用する
  • CFG: 分類子のないガイダンス スケール、出力を微調整するための機能
  • ランチャー自動👑🔥モデルをロードするためのショートカット。Conda で入力する必要はもうありません。
  • Vram のライター: 512x512 img2img および txt2img は 6GB で動作テスト済み
  • と ????

安定した拡散 Web UI

Stable Diffusion の Gradio ライブラリに基づくブラウザ インターフェイス。

Gradio UI を使用したオリジナルのスクリプトは、親切な匿名ユーザーによって作成されました。これは修正です。

GFPGAN

生成された顔を改善するために GFPGAN を使用する場合は、別途インストールする必要があります。GFPGANv1.3.pthをダウンロードし、

/stable-diffusion-webui/src/gfpgan/experiments/pretrained_models
ディレクトリに配置します。

RealESRGAN

RealESRGAN_x4plus.pthRealESRGAN_x4plus_anime_6B.pthをダウンロードします。それらを

stable-diffusion-webui/src/realesrgan/experiments/pretrained_models
ディレクトリに入れます。

LDSR

  • LDSR project.yamlをダウンロードし、 last.cpktをモデル化します。last.ckpt の名前を model.ckpt に変更し、両方を stable-diffusion-webui/src/latent-diffusion/experiments/pretrained_models/ の下に配置します。

ウェブ UI

起動時に、一部のウェイトが使用されていないことに関連する非常に長い警告メッセージが表示される場合があります。無視しても構いません。しばらくすると、次のようなメッセージが表示されます。

Running on local URL:  http://127.0.0.1:7860/

ブラウザで URL を開くと、準備完了です。

特徴

このスクリプトは、Stable Diffusion の txt2img および img2img スクリプト用の Web UI を作成します。以下は、元のスクリプトにない追加機能です。

GFPGAN

GFPGAN モデルを使用して写真の顔を改善できます。すべてのタブには 100% で GFPGAN を使用するためのチェックボックスがあり、効果の強さを制御するスライダーを使用して、任意の写真で GFPGAN を使用できる別のタブもあります。

RealESRGAN

生成された画像の解像度を 2 倍にできます。すべてのタブに RealESRGAN を使用するためのチェックボックスがあり、通常のアップスケーラーとアニメ バージョンのどちらかを選択できます。任意の画像で RealESRGAN を使用するための別のタブもあります。

サンプリング方法の選択

txt2img サンプラー: "DDIM", "PLMS", 'k_dpm_2_a', 'k_dpm_2', 'k_euler_a', 'k_euler', 'k_heun', 'k_lms' img2img サンプラー: "DDIM", 'k_dpm_2_a', 'k_dpm_2', ' k_euler_a'、'k_euler'、'k_heun'、'k_lms'

プロンプト マトリックス

文字を使用して複数のプロンプトを分離する

|
と、システムはそれらのすべての組み合わせに対してイメージを生成します。たとえば、
a busy city street in a modern city|illustration|cinematic lighting
prompt を使用する場合、可能な組み合わせは 4 つあります (prompt の最初の部分は常に保持されます)。

  • a busy city street in a modern city
  • a busy city street in a modern city, illustration
  • a busy city street in a modern city, cinematic lighting
  • a busy city street in a modern city, illustration, cinematic lighting

4 つの画像がこの順序で生成されます。すべて同じシードで、それぞれに対応するプロンプトがあります。

別の例として、今回は 5 つのプロンプトと 16 のバリエーションがあります。

この機能を使用する場合、生成する画像の数はプロンプトに依存するため、バッチ カウントは無視されますが、バッチ サイズは引き続き機能します (複数の画像を同時に生成して速度を少し上げます)。

フラグ付け (UI が gradio.Blocks() に変更された後に破損。新しい UI にフラグ ボタンが表示されない を参照)

出力セクションの下にある [フラグ] ボタンをクリックすると、生成された画像がディレクトリに保存され、生成パラメーターがディレクトリ内の

log/images
csv ファイルに追加されます。
log/log.csv
/sd

すべての画像が保存されますが、なぜこれが必要なのですか?

あなたが私のような人なら、プロンプトや設定を何度も試してみて、保存する価値のある画像はごくわずかです。ブラウザで右クリックして保存することはできますが、画像を作成した正確なプロンプトがわからないため、後で再現することはできません。フラグ ボタンを使用すると、生成パラメータが csv ファイルに書き込まれ、ファイル名を検索することで画像のパラメータを簡単に見つけることができます。

コピペ生成パラメータ

テキスト出力は、簡単に共有できるように、コピーと貼り付けが簡単な形式で生成パラメーターを提供します。

複数の画像を生成する場合、表示されるシードは最初のシードになります。

バッチの正しいシード

1000 のシードを使用して、それぞれ 2 つの画像の 2 つのバッチを生成すると、生成された 4 つの画像にシードが含まれます

1000, 1001, 1002, 1003
。以前のバージョンの UI
1000, x, 1001, x
では が生成されます。x はシードによって生成できない iamge です。

サイズ変更

img2img モードで入力画像のサイズを変更するには、次の 3 つのオプションがあります。

  • サイズ変更のみ - ソース画像のサイズをターゲット解像度に変更するだけで、アスペクト比が正しくなくなります
  • 切り抜きとサイズ変更 - 縦横比を維持したままソース画像のサイズを変更して、ターゲット解像度全体が占有されるようにし、はみ出した部分を切り取ります
  • サイズ変更と塗りつぶし - 縦横比を維持したままソース画像のサイズを変更して、ターゲット解像度に完全に適合するようにし、ソース画像の行/列で空のスペースを埋めます

例:

読み込み中

Gradio のローディング グラフィックは、ニューラル ネットワークの処理速度に非常に悪影響を及ぼします。私の RTX 3090 では、グラデーションのタブがアクティブでない場合、画像が約 10% 速くなります。デフォルトでは、UI はロードの進行状況のアニメーションを非表示にし、静的な "Loading..." テキストに置き換えます。これにより、同じ効果が得られます。--no-progressbar-hiding コマンドライン オプションを使用して、これを元に戻し、読み込み中のアニメーションを表示します。

迅速な検証

Stable Diffusion には、入力テキストの長さに制限があります。プロンプトが長すぎる場合、テキスト出力フィールドに警告が表示され、テキストのどの部分が切り捨てられ、モデルによって無視されたかが示されます。

ループバック

出力画像を次のバッチの入力として自動的にフィードできる img2img のチェックボックス。出力画像を保存し、入力画像をそれで置き換えることと同じです。バッチ カウント設定は、取得する反復回数を制御します。

通常、これを行うとき、次の反復のために多くの画像から 1 つを自分で選択するため、この機能の有用性は疑わしいかもしれませんが、私は取得できなかった非常に優れた出力を得ることができましたそれ以外は。

例: (厳選された結果; anonによる原画)

- ヘルプ

optional arguments:
  -h, --help            show this help message and exit
  --outdir [OUTDIR]     dir to write results to
  --outdir_txt2img [OUTDIR_TXT2IMG]
                        dir to write txt2img results to (overrides --outdir)
  --outdir_img2img [OUTDIR_IMG2IMG]
                        dir to write img2img results to (overrides --outdir)
  --save-metadata       Whether to embed the generation parameters in the sample images
  --skip-grid           do not save a grid, only individual samples. Helpful when evaluating lots of samples
  --skip-save           do not save indiviual samples. For speed measurements.
  --n_rows N_ROWS       rows in the grid; use -1 for autodetect and 0 for n_rows to be same as batch_size (default:
                        -1)
  --config CONFIG       path to config which constructs model
  --ckpt CKPT           path to checkpoint of model
  --precision {full,autocast}
                        evaluate at this precision
  --gfpgan-dir GFPGAN_DIR
                        GFPGAN directory
  --realesrgan-dir REALESRGAN_DIR
                        RealESRGAN directory
  --realesrgan-model REALESRGAN_MODEL
                        Upscaling model for RealESRGAN
  --no-verify-input     do not verify input to check if it's too long
  --no-half             do not switch the model to 16-bit floats
  --no-progressbar-hiding
                        do not hide progressbar in gradio UI (we hide it because it slows down ML if you have hardware
                        accleration in browser)
  --defaults DEFAULTS   path to configuration file providing UI defaults, uses same format as cli parameter
  --gpu GPU             choose which GPU to use if you have multiple
  --extra-models-cpu    run extra models (GFGPAN/ESRGAN) on cpu
  --esrgan-cpu          run ESRGAN on cpu
  --gfpgan-cpu          run GFPGAN on cpu
  --cli CLI             don't launch web server, take Python function kwargs from this file.

安定拡散

Stable Diffusion は、 Stability AIおよびRunwayとのコラボレーションのおかげで可能になり、以前の作業に基づいて構築されました。

潜在拡散モデルによる高解像度画像合成
Robin Rombach * 、 Andreas Blattmann *、 Dominik Lorenz Patrick Esser Björn Ommer

CVPR '22 口頭

これはGitHubで入手できます。PDF はarXivにあります。プロジェクトページもご覧ください。

txt2img-stable2 Stable Diffusionは、潜在的なテキストから画像への拡散モデルです。Stability AIからの寛大なコンピューティング寄付とLAIONからのサポートのおかげで、 LAION-5Bデータベースのサブセットからの 512x512 画像で潜在拡散モデルをトレーニングすることができました。Google のImagenと同様に、このモデルは凍結された CLIP ViT-L/14 テキスト エンコーダーを使用して、テキスト プロンプトでモデルを調整します。860M UNet と 123M テキスト エンコーダーを備えたこのモデルは比較的軽量で、少なくとも 10GB の VRAM を搭載した GPU で実行されます。以下のこのセクションとモデル カードを参照してください。

安定拡散 v1

Stable Diffusion v1 は、拡散モデルに 860M UNet および CLIP ViT-L/14 テキスト エンコーダーを備えたダウンサンプリング ファクター 8 オートエンコーダーを使用するモデル アーキテクチャの特定の構成を指します。モデルは 256x256 画像で事前トレーニングされてから、512x512 画像で微調整されました。

*注: Stable Diffusion v1 は一般的なテキストから画像への拡散モデルであるため、トレーニング データに存在するバイアスや (誤解) 概念を反映しています。トレーニング手順とデータの詳細、およびモデルの使用目的は、対応するモデル カードに記載されています。

コメント

ビブテックス

@misc{rombach2021highresolution,
      title={High-Resolution Image Synthesis with Latent Diffusion Models}, 
      author={Robin Rombach and Andreas Blattmann and Dominik Lorenz and Patrick Esser and Björn Ommer},
      year={2021},
      eprint={2112.10752},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}