2011年以降のMacに画像生成AIのStable diffusion WebUI AUTOMATIC1111 と Forgeをインストールする方法を紹介します。
今どきのマシンから見たら生成時間は比較にならない遅さですが、それでも遊びなら許される程度まで頑張りました。
想定スペックは、CPUがCore i5 または i7 、 RAMが 8GB以上です。
OSはMonterey以降でないとPythonインストール時にエラーが発生する恐れがあります。
OCLP等で最近のOSをインストールされることをお勧めします。
生成時間が短いForgeの使用をお勧めしますが、継続した開発には不安があるため、ストレージに余裕があるなら両方インストールしてもいいかと思います。
さらにComfyUIをインストールする手順も紹介しています。
AUTOMATIC1111インストール
1.ターミナルウィンドウを開きます。
2.Homebrew がインストールされていない場合は、 https://brew.shの手順に従ってインストールしてください。Homebrewインストール終了時に表示される「Next steps」の指示に従って Homebrew を PATH に追加します。
3.ターミナルウィンドウでPythonインストールを実行します。
brew install cmake protobuf rust python@3.10 git wget
4.次のコマンドを実行して、Web UI リポジトリのクローンを作成します。
cd ~
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
5.使用するStable Diffusion モデル/チェックポイントをstable-diffusion-webui/models/Stable-diffusionに配置します。古いマシンでは画像サイズが大きくなると生成時間を多く必要としますので、SD1.5ベースのモデルを推奨します。
6.古い世代のIntel MacではGPUを使えませんのでOFFにします。
(ユーザ)/stable-diffusion-webui/webui-macos-env.shをエディタで開きます。
COMMANDLINE_ARGSの設定を以下のように変更します。
export COMMANDLINE_ARGS="--skip-torch-cuda-test --no-half --use-cpu all"
7.Web UIの起動
cd ~/stable-diffusion-webui
./webui.sh
を実行します。 Python 仮想環境は venv を使用して作成およびアクティブ化され、残りの不足している依存関係は自動的にダウンロードされてインストールされます。
終了するときはターミナルウィンドウで ctrl + cキーを押下します。
Web UI を再起動するには、./webui.shを再度実行します。またWeb UIを自動更新するには、git pullをWeb UI起動前に実行します。
cd ~/stable-diffusion-webui
git pull
./webui.sh
SD Forgeインストール
すでにAUTOMATIC1111をインストール済みなら手順3まで省略し、手順4から始めてください。
1.ターミナルウィンドウを開きます。
2.Homebrew がインストールされていない場合は、 https://brew.shの手順に従ってインストールしてください。Homebrewインストール終了時に表示される「Next steps」の指示に従って Homebrew を PATH に追加します。
3.ターミナルウィンドウでPythonインストールを実行します。
brew install cmake protobuf rust python@3.10 git wget
4.次のコマンドを実行して、Web UI リポジトリのクローンを作成します。
cd ~
git clone https://github.com/lllyasviel/stable-diffusion-webui-forge
5.使用するStable Diffusion モデル/チェックポイントをstable-diffusion-webui/models/Stable-diffusion-forge
に配置します。古いマシンでは画像サイズが大きくなると生成時間を多く必要としますので、SD1.5ベースのモデルを推奨します。
なお、すでにAUTOMATIC1111で使用のモデル等は、環境を共用する指定をすることでForgeでも使用できます。指定方法は後述
6.Web UIの起動
Python 仮想環境は venv を使用して作成およびアクティブ化され、残りの不足している依存関係は自動的にダウンロードされてインストールされます。
--always-cpu オプションで実行します。
cd ~/stable-diffusion-webui-forge
./webui.sh --always-cpu
AUTOMATIC1111環境を共用する場合は--forge-ref-a1111-homeオプション後にディレクトリ指定します。
cd ~/stable-diffusion-webui-forge
./webui.sh --always-cpu --forge-ref-a1111-home /Users/(ユーザ)/stable-diffusion-webui
ディレクトリの記述は環境に合わせて変更してください。
終了するときはターミナルウィンドウで ctrl + cキーを押下します。
Web UI を再起動するには、./webui.shを再度実行します。またWeb UIを自動更新するには、git pullをWeb UI起動前に実行します。
cd ~/stable-diffusion-webui-forge
git pull
./webui.sh --always-cpu --forge-ref-a1111-home /Users/(ユーザ)/stable-diffusion-webui
起動用実行ファイルの作成
ターミナルを開いてコマンドを入力して起動する手順をスクリプトにして、アイコンをダブルクリックで簡単に起動できるようにします。
1.テキストエディタでシェルスクリプトを作成し、ファイル名(例): SDForge.command で保存します。
#!/bin/sh
cd ~/stable-diffusion-webui-forge
git pull
./webui.sh --always-cpu --forge-ref-a1111-home /Users/(ユーザ)/stable-diffusion-webui
2.実行可能にパーミッションを変更します。
chmod u+x SDForge.command
3.SDForge.commandをダブルクリックで実行します。また、エイリアスを作成しデスクトップ等に配置できます。
LCM LoRAの使用
SD1.5ベースモデルの生成でLCM LoRAを使い、ステップ数を削減して生成時間を大幅に短縮します。
1.latent-consistency/lcm-lora-sdv1-5 at main から pytorch_lora_weights.safetensors をダウンロードします。
2.stable-diffusion-webui(-forge)/models/Loraに配置します。
3.生成プロンプトに追加します。
Loraタブを開き、LCM LoRAをクリックでプロンプトに追加できます。
4.生成パラメータを変更します。
- Sampling method : LCM、Eulerなど。Euler が安定感あり生成もいくらか速い
- Sampling steps : 2 から 8、イラスト系は5、実写系は8おすすめ
- CFG Scale : 1.0 から 2.0 の間、おすすめは1.0
- LCM_LoRA_Weights : 1、実写系でサンプラーEulerは 0.7 あたりがおすすめ
実行結果
iMac 2011 21.5inch Core i7 RAM16GB、SD Forge、LCM LoRA使用
detailed, woman, cosy cafe <lora:LCM_LoRA_Weights_SD15:1>
Steps: 5, Sampler: Euler, CFG scale: 1, Seed: 2522311664, Size: 512x512, Model hash: 48757d16e7, Model: sakuramix_v70, Lora hashes: "LCM_LoRA_Weights_SD15: aaebf6360f7d", Version: f0.0.17v1.8.0rc-latest-276-g29be1da7
Time taken: 1 min. 44.3 sec.
detailed, woman, cosy cafe <lora:LCM_LoRA_Weights_SD15:0.7>
Steps: 8, Sampler: Euler, CFG scale: 1, Seed: 3925495437, Size: 512x512, Model hash: 48c4cec131, Model: chilled_remix_v2, Lora hashes: "LCM_LoRA_Weights_SD15: aaebf6360f7d", Version: f0.0.17v1.8.0rc-latest-276-g29be1da7
Time taken: 1 min. 58.5 sec.