2023/04/09(日) [n年前の日記]
#1 [cg_tools] 画像生成AI Stable Diffusion web UIを試用
画像生成AI、Stable Diffusion web UI を試してみたい。できれば、ローカル環境、手元のWindows10 x64 22H2上で動かしたい。
環境は以下。
巷の解説記事を眺めると、「ビデオカードのVRAMは 12GB以上を推奨」と書かれてるけど、自分の環境、VRAM 6GB で、はたして動くのかどうか…? 結果を先に書いておくけど、現行版の Stable Diffusion web UI なら VRAM 6GB でも動いてくれました。
一応ざっくりとインストール手順をメモ。ちなみに、「Stable Diffusion web UI インストール」でググれば解説記事がたくさん出てくる。ありがたや。
環境は以下。
- OS : Windows10 x64 22H2
- CPU : AMD Ryzen 5 5600X
- GPU : NVIDIA GeForce GTX 1060 6GB
- RAM : 16GB
巷の解説記事を眺めると、「ビデオカードのVRAMは 12GB以上を推奨」と書かれてるけど、自分の環境、VRAM 6GB で、はたして動くのかどうか…? 結果を先に書いておくけど、現行版の Stable Diffusion web UI なら VRAM 6GB でも動いてくれました。
一応ざっくりとインストール手順をメモ。ちなみに、「Stable Diffusion web UI インストール」でググれば解説記事がたくさん出てくる。ありがたや。
◎ Python と git が必要 :
Stable Diffusion web UI のインストールには、最低限、Python と git が必要らしい。Python 3.10.6 と git は既にインストール済み。
_Download Python | Python.org
Python 3.10.6 は、python-3.10.6-amd64.exe を入手して実行すればインストールできる。
今現在の Python の最新版は 3.11.x だけど、Python 3.10.6 で各種プログラムの動作確認が行われているらしいので、一応ソレに合わせておいた。
_Git for Windows
Git for Windows は、Git-2.40.0-64-bit.exe を入手して実行してインストール。
_Download Python | Python.org
Python 3.10.6 は、python-3.10.6-amd64.exe を入手して実行すればインストールできる。
今現在の Python の最新版は 3.11.x だけど、Python 3.10.6 で各種プログラムの動作確認が行われているらしいので、一応ソレに合わせておいた。
_Git for Windows
Git for Windows は、Git-2.40.0-64-bit.exe を入手して実行してインストール。
◎ CUDAをインストール :
NVIDIA CUDA toolkit 11.8 も一応インストールしてみる。今現在の Stable Diffusion web UI なら、最初にbatファイルを実行した際に自動でインストールしてくれるという話も見かけたけれど、CUDA関連のファイルサイズが大きいので、自分で状況を把握しつつインストールしてみることにした。
以下のページを参考にしつつ作業を進めた。ありがたや。
_WindowsへのNVIDIA CUDAのGPU環境構築 | 鷹の目週末プログラマー
_CUDA Toolkit 11.8 Downloads | NVIDIA Developer
_CUDA Toolkit Archive | NVIDIA Developer
cuda_11.8.0_522.06_windows.exe (3.0GB) をDLして実行。サイズが大きいので、DドライブのHDDにインストールした。インストール場所は以下。
環境変数 PATH に以下を追加。
CuDNNもインストール。入手には NVIDIAアカウントが必要らしい。このあたり、Stable Diffusion web UI のbatファイルで自動インストールする時はどうなるのだろう…?
_CUDA Deep Neural Network (cuDNN) | NVIDIA Developer
cudnn-windows-x86_64-8.8.1.3_cuda11-archive.zip (667MB) を入手して解凍。中には、bin, include, lib の3つのフォルダが入ってる。CUDA のインストールフォルダにコピーする。
環境変数を追加。
DOS窓(コマンドプロンプト, cmd.exe)を開いて、nvcc とやらが動きそうかどうかを確認。
以下のページを参考にしつつ作業を進めた。ありがたや。
_WindowsへのNVIDIA CUDAのGPU環境構築 | 鷹の目週末プログラマー
_CUDA Toolkit 11.8 Downloads | NVIDIA Developer
_CUDA Toolkit Archive | NVIDIA Developer
cuda_11.8.0_522.06_windows.exe (3.0GB) をDLして実行。サイズが大きいので、DドライブのHDDにインストールした。インストール場所は以下。
D:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\
環境変数 PATH に以下を追加。
D:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\bin D:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\libnvvp
CuDNNもインストール。入手には NVIDIAアカウントが必要らしい。このあたり、Stable Diffusion web UI のbatファイルで自動インストールする時はどうなるのだろう…?
_CUDA Deep Neural Network (cuDNN) | NVIDIA Developer
cudnn-windows-x86_64-8.8.1.3_cuda11-archive.zip (667MB) を入手して解凍。中には、bin, include, lib の3つのフォルダが入ってる。CUDA のインストールフォルダにコピーする。
環境変数を追加。
CUDA_PATH = D:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8 CUDA_PATH_V11_8 = D:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8 CUDNN_PATH = D:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8
DOS窓(コマンドプロンプト, cmd.exe)を開いて、nvcc とやらが動きそうかどうかを確認。
> nvcc -V nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2022 NVIDIA Corporation Built on Wed_Sep_21_10:41:10_Pacific_Daylight_Time_2022 Cuda compilation tools, release 11.8, V11.8.89 Build cuda_11.8.r11.8/compiler.31833905_0
◎ Stable Diffusion web UI をgitでクローン :
Stable Diffusion web UI を導入。以下の記事を参考にさせてもらってインストールした。
_Stable Diffusion webui(AUTOMATIC1111版)の導入解説|感想日記
_GitHub - AUTOMATIC1111/stable-diffusion-webui: Stable Diffusion web UI
今回は、D:\aiwork\ というディレクトリを作成して、その中に入れることにした。エクスプローラ上で D:\aiwork\ を右クリック → Git Bash。Bash のウインドウが開くので以下を打ち込む。
github から、Stable Diffusion web UI がクローンされて、D:\aiwork\stable-diffusion-webui\ に一式が入った。
_Stable Diffusion webui(AUTOMATIC1111版)の導入解説|感想日記
_GitHub - AUTOMATIC1111/stable-diffusion-webui: Stable Diffusion web UI
今回は、D:\aiwork\ というディレクトリを作成して、その中に入れることにした。エクスプローラ上で D:\aiwork\ を右クリック → Git Bash。Bash のウインドウが開くので以下を打ち込む。
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
github から、Stable Diffusion web UI がクローンされて、D:\aiwork\stable-diffusion-webui\ に一式が入った。
◎ モデルを入手 :
学習モデルデータを入手。コレが無いと画像を生成できない。
色んな種類の学習モデルデータがあちこちで配布されているけれど…。Stable Diffusion web UI の、インストールフォルダ\models\Stable-diffusion\ 以下に、.safetensors もしくは .ckpt ファイルを置けばいいらしい。
.safetensors のほうが、新しくて、高速に処理できて、危険性が少ないフォーマット、らしい。.ckpt は、中にスクリプトが入っていて実行できたりするそうで、身元不明のデータは何をするのか分からなくて危険だから注意するべし、と説明されてた。
ちなみに、1ファイルに付き、2〜7GBのファイルサイズ。あっという間にHDDの空き容量が減っていく…。
今回は、v2-1_768-ema-pruned.ckpt と、chilloutmix_.safetensors を入手させてもらった。後者は、Civitai というサービスにアカウントを作らないと入手できない。
_stabilityai/stable-diffusion-2-1 at main
_ChilloutMix | Stable Diffusion Checkpoint | Civitai
巷の解説記事によると、ほとんどの場合、Hugging Face、もしくは Civitai でモデルデータの入手はできるとのこと。
_Hugging Face - The AI community building the future.
_Civitai | Stable Diffusion models, embeddings, hypernetworks and more
どんなモデルが存在しているのか、そのあたりは以下のまとめ記事が参考になった。ありがたや。
_リアル系モデル比較・雑感 - NovelAI 5ch Wiki
_モデルについて - としあきdiffusion Wiki*
色んな種類の学習モデルデータがあちこちで配布されているけれど…。Stable Diffusion web UI の、インストールフォルダ\models\Stable-diffusion\ 以下に、.safetensors もしくは .ckpt ファイルを置けばいいらしい。
.safetensors のほうが、新しくて、高速に処理できて、危険性が少ないフォーマット、らしい。.ckpt は、中にスクリプトが入っていて実行できたりするそうで、身元不明のデータは何をするのか分からなくて危険だから注意するべし、と説明されてた。
ちなみに、1ファイルに付き、2〜7GBのファイルサイズ。あっという間にHDDの空き容量が減っていく…。
今回は、v2-1_768-ema-pruned.ckpt と、chilloutmix_.safetensors を入手させてもらった。後者は、Civitai というサービスにアカウントを作らないと入手できない。
_stabilityai/stable-diffusion-2-1 at main
_ChilloutMix | Stable Diffusion Checkpoint | Civitai
巷の解説記事によると、ほとんどの場合、Hugging Face、もしくは Civitai でモデルデータの入手はできるとのこと。
_Hugging Face - The AI community building the future.
_Civitai | Stable Diffusion models, embeddings, hypernetworks and more
どんなモデルが存在しているのか、そのあたりは以下のまとめ記事が参考になった。ありがたや。
_リアル系モデル比較・雑感 - NovelAI 5ch Wiki
_モデルについて - としあきdiffusion Wiki*
◎ Stable Diffusion をインストール :
中に入ってる、webui-user.bat を編集して、ビデオカードのVRAMが少ない環境でも少しは高速に処理ができるようになるという、xformers なるものをインストールするように指定。
xformers を導入すると処理時間が短くなるけれど、その代わり、処理の再現性が犠牲になるらしい。同じ呪文(プロンプト、と呼ばれているらしい)を打ち込んでも少し違う画像が生成されるようになるのだとか。
webui-user.bat をダブルクリックして実行。DOS窓が開いて、自動でインストール処理が進む。Python でAI関係の何かを処理できる、PyTorch (torch) というライブラリその他がインストールされる。
ちなみに、PyTorch は2GB以上のファイルだったので、処理が終わるまでそこそこ待たされる。
set COMMANDLINE_ARGS= --xformers
xformers を導入すると処理時間が短くなるけれど、その代わり、処理の再現性が犠牲になるらしい。同じ呪文(プロンプト、と呼ばれているらしい)を打ち込んでも少し違う画像が生成されるようになるのだとか。
webui-user.bat をダブルクリックして実行。DOS窓が開いて、自動でインストール処理が進む。Python でAI関係の何かを処理できる、PyTorch (torch) というライブラリその他がインストールされる。
ちなみに、PyTorch は2GB以上のファイルだったので、処理が終わるまでそこそこ待たされる。
◎ 使ってみる :
インストール処理が終わると、DOS窓上に、以下の文字列が表示される。
Google Chrome で上記URLを開く。ちなみに、Firefox で試そうとしたら、なんだかちょっと反応が妙な感じで…。おそらくこういうアレコレは、Google Chrome を使うことを前提にして作られているのだろうなと。
txt2img という、呪文を打ち込むと画像が生成されるツールで動作確認してみた。とりあえず、「Prompt」と表示されてる入力欄に、「1girl, cute」と打ち込めば、女の子の絵が生成されるらしい。
手元の環境は、Geforce GTX 1060 6GB ―― VRAMが6GBしかないからエラーが出るのかなと思ったけど、ちゃんと画像を生成してくれた。512 x 512 の画像一枚を、30秒以上かけて生成してくれている。
ちなみに、GeForce RTX 3060 12GB あたりを使えば、1枚6秒ぐらいで生成してくれるらしい…。まあ、お値段が5万円前後らしいけど…。
左上のリストボックス?で、モデルデータを切り替えることができる。自分の環境では、切り替える際に数分ぐらい待たされる。
http://127.0.0.1:7860/ローカル環境でWebサーバが立ち上がって、上記のURLにアクセスすれば使えるよ、と伝えてくれている。
Google Chrome で上記URLを開く。ちなみに、Firefox で試そうとしたら、なんだかちょっと反応が妙な感じで…。おそらくこういうアレコレは、Google Chrome を使うことを前提にして作られているのだろうなと。
txt2img という、呪文を打ち込むと画像が生成されるツールで動作確認してみた。とりあえず、「Prompt」と表示されてる入力欄に、「1girl, cute」と打ち込めば、女の子の絵が生成されるらしい。
手元の環境は、Geforce GTX 1060 6GB ―― VRAMが6GBしかないからエラーが出るのかなと思ったけど、ちゃんと画像を生成してくれた。512 x 512 の画像一枚を、30秒以上かけて生成してくれている。
ちなみに、GeForce RTX 3060 12GB あたりを使えば、1枚6秒ぐらいで生成してくれるらしい…。まあ、お値段が5万円前後らしいけど…。
左上のリストボックス?で、モデルデータを切り替えることができる。自分の環境では、切り替える際に数分ぐらい待たされる。
◎ 拡張機能をインストール :
拡張機能(Extensions)をいくつかインストールしてみた。UIを日本語化したり、キーワードの補完ができるようになるらしい。
_GitHub - journey-ad/sd-webui-bilingual-localization
_GitHub - Katsuyuki-Karasawa/stable-diffusion-webui-localization-ja_JP
_GitHub - DominikDoom/a1111-sd-webui-tagcomplete
Extensions → Install from URL、を選択して、URL for extension's git repository の欄に github の URL をコピペして、Installボタンをクリック。Installed タブを選択して、インストールした拡張にチェックを入れて有効化。
_GitHub - journey-ad/sd-webui-bilingual-localization
_GitHub - Katsuyuki-Karasawa/stable-diffusion-webui-localization-ja_JP
_GitHub - DominikDoom/a1111-sd-webui-tagcomplete
Extensions → Install from URL、を選択して、URL for extension's git repository の欄に github の URL をコピペして、Installボタンをクリック。Installed タブを選択して、インストールした拡張にチェックを入れて有効化。
[ ツッコむ ]
以上です。