Windows で GUI を使用してローカルで Stable Diffusion を実行する方法

公開: 2022-09-18

ヘッダー画像。奇妙なハゲタカ、かわいい灰色の猫、サイバネティック メデューサ。

Stable Diffusion を PC にローカルにインストールすることもできますが、一般的なプロセスでは、インストールして使用するためにコマンド ラインで多くの作業を行う必要があります。 幸運なことに、Stable Diffusion コミュニティがその問題を解決してくれました。 グラフィカル ユーザー インターフェイスを使用してローカルで実行されるバージョンの Stable Diffusion をインストールする方法は次のとおりです。

目次

安定拡散とは?
このバージョンの Stable Diffusion を実行するには何が必要ですか?
GUI を使用して Stable Diffusion をインストールする方法
最初に Python をインストールします
Git をインストールして GitHub リポジトリをダウンロードする
すべてのチェックポイントをダウンロード
GUI で安定拡散を使用して画像を生成する方法
作成した画像をマスクして修復する方法
「CUDA Out Of Memory」エラーを修正する方法

安定拡散とは?

Stable Diffusion は、MidJourney や DALL-E 2 のように、テキスト プロンプトから画像を生成したり、既存の画像をテキスト プロンプトで変更したりできる AI モデルです。2022 年 8 月に Stability.ai によって最初にリリースされました。 それは何千もの異なる単語を理解し、あなたの想像力がほぼすべてのスタイルで想起できるほぼすべてのイメージを作成するために使用できます.

ただし、Stable Diffusion を他の一般的な AI アート ジェネレーターのほとんどと区別する 2 つの重要な違いがあります。

  • PCでローカルに実行できます
  • オープンソースプロジェクトです
Stable Diffusion はローカル AI アート生成を PC にもたらします
関連Stable Diffusion はローカル AI アート生成を PC にもたらします

最後の点は、ここで本当に重要な問題です。 従来、Stable Diffusion はコマンドライン インターフェイスを介してインストールおよび実行されていました。 それは機能しますが、不格好で直感的ではない可能性があり、そうでなければ興味を持つ人々にとって参入への重大な障壁です. しかし、これはオープン ソース プロジェクトであるため、コミュニティはすぐにそのためのユーザー インターフェイスを作成し、ビデオ RAM (VRAM) の使用を最小限に抑え、アップスケーリングとマスキングを組み込むための最適化など、独自の拡張機能を追加し始めました。

このバージョンの Stable Diffusion を実行するには何が必要ですか?

このバージョンの Stable Diffusion は、Stability.ai によって作成および管理されているメイン リポジトリ (レポ) のフォーク (分派) です。 グラフィカル ユーザー インターフェイス (GUI) を備えており、コマンド ライン インターフェイスしかない通常の Stable Diffusion よりも使いやすくなっています。また、ほとんどのセットアップを自動的に処理するインストーラーも備えています。

関連: PC で Stable Diffusion を実行して AI 画像を生成する方法

警告:いつものように、GitHub で見つけたソフトウェアのサードパーティ フォークには注意してください。 私たちはこれをしばらく問題なく使用してきましたが、他の何千人もの人々がそうであるため、安全であると言う傾向があります. 幸いなことに、ここでのコードと変更は、オープンソース プロジェクトのいくつかのフォークに比べて小さいものです。

このフォークには、RAM の少ない PC で実行できるようにするさまざまな最適化、GFPGAN、ESRGAN、RealESRGAN、および CodeFormer を使用したビルトインのアップスケーリングとフェイシャル機能、およびマスキングも含まれています。 マスキングは非常に重要です。これにより、他の部分を歪めることなく、画像の特定の部分に AI 画像生成を選択的に適用することができます。このプロセスは通常修復と呼ばれます。

  • ハードドライブに最低 10 ギガバイトの空き容量
  • 6 GB の RAM を搭載した NVIDIA GPU (ただし、4 GB を動作させることができる場合があります)
  • Windows 11、Windows 10、Windows 8.1、または Windows 8 を実行している PC
  • AUTOMATIC1111 による WebUI GitHub リポジトリ
  • Python 3.10.6 (新しいバージョンとほとんどの古いバージョンでも問題ありません)
  • The Stable Diffusion 公式チェックポイント (9 月下旬の v1.5 チェックポイントにご注意ください!)
  • GFPGAN v1.3チェックポイント (v1.4 も機能する可能性があります)
  • 必要な追加の ESRGAN モデル。 必要な数だけ使用できます。

GUI を使用して Stable Diffusion をインストールする方法

インストール プロセスは大幅に簡素化されましたが、インストーラーを使用する前に手動で行う必要がある手順がいくつかあります。

最初に Python をインストールします

最初にすべきことは、リポジトリの作成者が推奨するバージョンの Python 3.10.6 をインストールすることです。 そのリンクに移動し、ページの下部に向かってスクロールして、[Windows インストーラー (64 ビット)] をクリックします。

ダウンロードした実行可能ファイルをクリックして、プロンプトに従います。 既に Python をインストールしている場合 (そして間違いなくインストールしている場合)、[アップグレード] をクリックしてください。 それ以外の場合は、推奨されるプロンプトに従います。

注: Python 3.10.6 のオプションがある場合は、PATH に Python 3.10.6 を追加してください。

Git をインストールして GitHub リポジトリをダウンロードする

Stable Diffusion インストーラーを実行する前に、Git を Windows にダウンロードしてインストールする必要があります。 64 ビットの Git 実行可能ファイルをダウンロードして実行し、特定のことを念頭に置いていない限り、推奨設定を使用するだけです。

関連: Windows に Git をインストールする方法

次に、GitHub リポジトリからファイルをダウンロードする必要があります。 緑色の「Code」ボタンをクリックし、メニューの下部にある「Download ZIP」をクリックします。

ファイル エクスプローラーまたは任意のファイル アーカイブ プログラムで ZIP ファイルを開き、必要な場所にコンテンツを抽出します。 フォルダーは、Stable Diffusion を実行するために必要な場所であることに注意してください。 この例では、それらを C:\ ディレクトリに抽出しましたが、これは必須ではありません。

「stable-diffusion-webui-master」フォルダを好きな場所にドラッグします。

注: 「stable-diffusion-webui-master」を空のスペースではなく別のフォルダーに誤ってドラッグしないように注意してください。ドラッグすると、意図した親フォルダーではなく、そのフォルダーにドロップされます。

すべてのチェックポイントをダウンロード

これが機能するために必要なチェックポイントがいくつかあります。 最初の最も重要なチェックポイントは、安定拡散チェックポイントです。 チェックポイントをダウンロードするにはアカウントを作成する必要がありますが、アカウントに必要なものはそれほど多くありません。必要なのは名前とメール アドレスだけで、準備は完了です。

注:チェックポイントのダウンロードは数ギガバイトです。 それが即座に行われることを期待しないでください。

前のセクションから「sd-v1-4.ckpt」をコピーして「stable-diffusion-webui-master」フォルダーに貼り付け、「sd-v1-4.ckpt」を右クリックして名前を変更します。 テキスト フィールドに「model.ckpt」と入力し、Enter キーを押します。 それが「model.ckpt」であることを十分に確認してください。これ以外の場合は機能しません。

注:名前の変更機能は、Windows 11 のアイコンです。

GFPGAN チェックポイントもダウンロードする必要があります。 私たちが使用しているリポジトリの作成者は、GFPGAN v1.3 チェックポイントを要求しましたが、試してみたい場合は v1.4 を使用できる場合があります。 ページを下にスクロールし、「V1.3 モデル」をクリックします。

そのファイル「GFPGANv1.3.pth」を、「sd-v1-4.ckpt」ファイルで行ったのと同じように「stable-diffusion-webui-master」フォルダーに配置しますが、名前を変更しないでください。 「stable-diffusion-webui-master」フォルダーには、次のファイルが含まれているはずです。

これは、Stable Diffusion モデルの名前を変更し、GFPGAN モデルを追加した後のフォルダーの外観です。

また、必要な数の ESRGAN チェックポイントをダウンロードすることもできます。 通常、ZIP ファイルとしてパッケージ化されています。 ダウンロード後、ZIP ファイルを開き、「.pth」ファイルを「ESRGAN」フォルダに抽出します。 次に例を示します。

ESRGAN モデルの場所。

ESRGAN モデルはより具体的な機能を提供する傾向があるため、魅力的なモデルをいくつか選んでください。

次に、プライマリ「stable-diffusion-webui-master」フォルダーにある「webui-user.bat」ファイルをダブルクリックするだけです。 コンソール ウィンドウが表示され、他のすべての重要なファイルの取得、Python 環境の構築、および Web ユーザー インターフェイスの設定が開始されます。 次のようになります。

注:これを初めて実行するときは、少なくとも数分かかると予想してください。 インターネットからたくさんのものをダウンロードする必要があります。 1 つのステップで不当に長い時間ハングしているように見える場合は、コンソール ウィンドウを選択して Enter キーを押してみてください。

すべてのアセットをダウンロードしてインストールする WebUI クライアント。

完了すると、コンソールに次のように表示されます。

 ローカル URL で実行: http://127.0.0.1:7860
公開リンクを作成するには、`launch()` で `share=True` を設定します。

関連: 127.0.0.1 IP アドレスとは何ですか? どのように使用しますか?

GUI で安定拡散を使用して画像を生成する方法

これで、Stable Diffusion の WebUI バリアントがインストールされました。コンソールには、「ローカル URL: http://127.0.0.1:7860 で実行中」と表示されます。

注:正確には、何が起こっているのでしょうか? 127.0.0.1 は localhost アドレスで、コンピューターが自身に与える IP アドレスです。 このバージョンの Stable Diffusion は、独自の IP アドレスを介してアクセスできるローカル PC にサーバーを作成しますが、正しいポート (7860) を介して接続する場合に限ります。

ブラウザを開き、アドレスバーに「127.0.0.1:7860」または「localhost:7860」と入力して、Enter キーを押します。 これは txt2img タブに表示されます。

Google Chrome の WebUI クライアントのフロント ページ。

以前に Stable Diffusion を使用したことがある場合、これらの設定はおなじみですが、最も重要なオプションの意味を簡単に説明します。

  • プロンプト:作成したいものの説明。
  • ロール ボタン:ランダムなアーティスティック スタイルをプロンプトに適用します。
  • サンプリング ステップ:出力を受け取る前に画像を調整する回数。 一般的には多いほど良いですが、利益は減少します。
  • サンプリング方法: サンプリングの処理方法を管理する基礎となる数学。 これらのどれでも使用できますが、euler_a と PLMS が最も一般的なオプションのようです。 PLMS の詳細については、このホワイト ペーパーを参照してください。
  • 顔の復元: GFPGAN を使用して、不気味な顔や歪んだ顔を修正しようとします。
  • バッチ数:生成される画像の数。
  • バッチサイズ: 「バッチ」の数。 膨大な量の VRAM がない限り、これを 1 に保ちます。
  • CFG スケール: Stable Diffusion が与えられたプロンプトにどれだけ注意深く従うか。 数字が大きいほど、非常に注意深く従うことを意味しますが、数字が小さいほど、より創造的な自由が得られます。
  • 幅:生成する画像の幅。
  • 高さ:生成する画像の幅。
  • シード:乱数ジェネレーターの初期入力を提供する数値。 -1 のままにすると、新しいシードがランダムに生成されます。

プロンプトに基づいて 5 つの画像を生成しましょう: 「魔法の森にいるハイランド牛、35mm フィルム写真、シャープ」、PLMS サンプラー、50 のサンプリング ステップ、および 5 の CFG スケールを使用して得られるものを見てみましょう。

ヒント:ジョブに時間がかかりすぎる場合は、いつでも [中断] ボタンをクリックして生成を停止できます。

出力ウィンドウは次のようになります。

ハイランド牛に関するプロンプトの出力。ハイランド牛 5 頭、白黒 2 頭。

注:画像は異なります。

上の中央の画像は、後でマスキングを試すために使用するものです。 この特定の選択には、個人的な好み以外の理由はありません。 お好きな画像をどうぞ。

森の中の愛らしいハイランド牛。

それを選択し、「Send to Inpaint」をクリックします。

作成した画像をマスクして修復する方法

修復は素晴らしい機能です。 通常、Stable Diffusion はプロンプトからイメージ全体を作成するために使用されますが、修復ではイメージの一部を選択的に生成 (または再生成) できます。 ここには 2 つの重要なオプションがあります: inpaint masked と inpaint not masked です。

マスクされたインペイントはプロンプトを使用して、強調表示した領域内に画像を生成しますが、マスクされていないインペイントは正反対のことを行い、マスクした領域のみが保持されます。

最初にマスクされた Inpaint について少し説明します。 左クリックしたまま画像上でマウスをドラッグすると、画像の上に白いレイヤーが表示されます。 置き換えたい部分の形を描き、必ず全体を塗りつぶしてください。 あなたは地域を一周しているのではなく、地域全体を覆っています。

ヒント:既存の画像に何かを追加するだけの場合は、マスクされた領域を、作成しようとしているおおよその形状に合わせると役立つ場合があります。 たとえば、円が必要なときに三角形をマスクすると、逆効果になります。

ハイランド牛の例を挙げて、彼にシェフの帽子を与えましょう. シェフの帽子の形に近い領域をマスクし、「バッチ サイズ」を 1 以上に設定してください。理想的な (っぽい) 結果を得るには、おそらく複数のサイズが必要になるでしょう。

さらに、「Fill」、「Original」、または「Latent Nothing」ではなく、「Latent Noise」を選択する必要があります。 シーン内にまったく新しいオブジェクトを生成する場合に、最良の結果が得られる傾向があります。

注:帽子の左端で角の一部が削除されていることに注意してください。 これは、「マスクぼかし」の設定が少し高すぎたためです。 画像にそのようなものがある場合は、「マスク ブラー」の値を下げてみてください。
シェフの帽子をかぶったハイランド牛。
プロンプト: シェフの帽子 設定: Inpaint Masked、Latent Diffusion、CFG 9.5、ノイズ除去強度 0.75、Sampling Steps = 50、Sampling Method = Euler_A

わかりました—シェフの帽子はハイランド牛に適していないかもしれません. あなたのハイランド カウは 20 世紀初頭の雰囲気に浸っているので、山高帽を贈りましょう。

山高帽をかぶったハイランド牛。
プロンプト: Bwel ハット設定: Inpaint Masked、Latent Diffusion、CFG 9.5、ノイズ除去強度 0.75、Sampling Steps = 50、Sampling Method = Euler_A

なんて積極的にダッパー。

もちろん、Inpaint Not Masked を使用して正反対のことを行うこともできます。 定義する領域が逆になっていることを除けば、概念的には似ています。 変更したい領域をマークする代わりに、保持したい領域をマークします。 小さなオブジェクトを別の背景に移動したい場合に便利です。

「CUDA Out Of Memory」エラーを修正する方法

作成するイメージが大きいほど、より多くのビデオ メモリが必要になります。 最初に試す必要があるのは、より小さな画像を生成することです。 Stable Diffusion は、256×256 で非常に異なるものの、良好な画像を生成します。

512×512 の画像に問題がないコンピューターでより大きな画像を作成したい場合、またはさまざまな「メモリ不足」エラーが発生している場合は、設定にいくつかの変更が役立つはずです。

「webui-user.bat」をメモ帳またはその他のプレーン テキスト エディターで開きます。 「webui-user.bat」を右クリックし、「編集」をクリックして、メモ帳を選択します。 set COMMANDLINE_ARGS=を読み取る行を特定します。 これは、Stable Diffusion の実行方法を最適化するコマンドを配置する場所です。

関連: Windows でバッチ スクリプトを作成する方法

大きな画像を作成したいだけの場合、または GTX 10XX シリーズの GPU で RAM が不足している場合は、最初--opt-split-attention試してください。 次のようになります。

次に、[ファイル] > [保存] をクリックします。 または、キーボードで Ctrl+S を押すこともできます。

それでもメモリ エラーが発生する場合は、コマンド ライン引数 (COMMANDLINE_ARGS) のリストに--medvramを追加してみてください。

--always-batch-cond-uncondを追加して、以前のコマンドが役に立たなかった場合に追加のメモリの問題を修正することができます。 --lowvramの代わりに、VRAM の使用量をさらに削減する--medvramもありますが、実際に機能するかどうかは証明できません。

ユーザー インターフェイスの追加は、この種の AI 駆動型ツールを誰もが利用できるようにするための重要な一歩です。 可能性はほぼ無限であり、AI アートに特化したオンライン コミュニティを一目見ただけでも、その技術が初期段階であっても、いかに強力であるかがわかります。 もちろん、ゲーム用コンピューターを持っていない場合、またはセットアップについて心配したくない場合は、オンラインの AI アート ジェネレーターのいずれかをいつでも使用できます。 エントリが非公開であるとは想定できないことに注意してください。