昨年から大きな話題となったイラスト生成AIを使ってみたくなり、オープンソースのデファクトスタンダード
「Stable Diffusion Web UI」
をローカルPCに導入してみました。
本格的に使うならNVIDIA製のグラボが必要とのことですが、お試しに触ってみるのであれば、グラボ無しでCPUのみでも画像生成できます。
環境構築から実際に使ってみるまで、初見では結構苦労させられたので、備忘録・共有のため記事としてアップします。
Stable Diffusion の技術的な内容は、以下のサイトが参考になります。
世界に衝撃を与えた画像生成AI「Stable Diffusion」を徹底解説! - Qiita
ハードウェア環境
・グラボ無しデスクトップPC・Intel第12世代CPU のみで実行
・メモリ64GB(16GB程度でも動きますが、割とメモリが逼迫してしまうので増設しました)
OS・ソフトウェア環境(前提条件)
・Windows11・Python 3.10系
・Git for Windows
Stable Diffusion インストール
(1) Stable Diffusion Web UI AUTOMATIC1111 ダウンロードgit clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
(2) モデルファイルのダウンロード
・定番と言われるAbyssOrangeMixをDL
・WarriorMama777/OrangeMixs at main (huggingface.co)
⇒いずれかの.safetensors ファイルをダウンロード
・以下のディレクトリに配置
stable-diffusion-webui\models\Stable-diffusion
(3) VAEファイルのダウンロード
・AbyssOrangeMixの配布ページにあるVAEファイル(orangemix.vae.pt)をDL
WarriorMama777/OrangeMixs at main (huggingface.co)
・以下のディレクトリに配置
stable-diffusion-webui\models\VAE
CPU設定
(1) launch.py の一部変更
torch_command = os.environ.get('TORCH_COMMAND', "pip install torch==2.0.0 torchvision==0.15.1 --extra-index-url https://download.pytorch.org/whl/cu118")
↓
torch_command = os.environ.get('TORCH_COMMAND', "pip install torch torchvision torchaudio")
(2) webui-user.bat の変更
set COMMANDLINE_ARGS=--autolaunch --use-cpu all --no-half --no-half-vae --skip-torch-cuda-test
起動
(1) webui-user.bat をダブルクリック
(2) ブラウザに↓のような画面が開く
※ ↑は拡張機能を色々インストールしているので、はじめてインストールした際の画面とは異なります。
拡張機能(Extensions)
Stable Diffusionを便利にする拡張機能をいくつか使ってみたところ、以下が有用だなと。・Image Browser
・a1111-sd-webui-tagcomplete:Danbooru
・Config-Presets
・sd-webui-ar
・Tiled Diffusion with Tiled VAE
・controlnet
・OpenPoseEditor
・ADetailer
LoRa
・特定のキャラや構図を描きたいときは、LoRaと呼ばれる追加モデルを civitai などからダウンロードし、以下のディレクトリに配置stable-diffusion-webui\models\Lora
画像生成してみた
プロンプト(いわゆる呪文)に以下のワードを入力して、生成(Generate)ボタンを押下。・プロンプト(上側:これを描け)
masterpiece, best quality, 1girl, school uniform, upper body,
・ネガティブプロンプト(下側:これは描くな)
(worst quality, low quality, medium quality:1.4), nsfw,
できました!!!512 x 512 のステップ数16で
生成時間は7m 8.45s でした。
高性能なグラボがあれば数十秒くらいでできるのでしょうが、CPUのみでもメモリを十分詰んでおけば、他の作業をやったり動画でも見ながら裏で画像生成を進めるなど、工夫できそうですね!
Stable Diffusion Web UI、しばらく遊んでみたいと思います。