M2 MacにStable Diffusion web UIをインストールし、動かしてみます。
はじめに
手元のM2 MacでStable Diffusionを動かしたくなりました。
Stable Diffusionで遊ぶときははもともとStabilityAIのHugging Face Spaceを使っていたのですが、最近停止されてしまいました。
ローカルでStable Diffusionを動かす方法を少し調べてみると、Stable Diffusion web UIを使うのが最も簡単そうです。
ということで今回は、M2 MacでStable Diffusion web UIを動かす手順を整理します。
Stable Diffusionをローカルで動かしてみたので備忘録
— BioErrorLog (@bioerrorlog) August 5, 2023
M2 MacでStable Diffusionを動かす | Stable Diffusion web UI - BioErrorLog Tech Blog https://t.co/QCjnekHWDZ
# 作業環境
Macbook Air
チップ: Apple M2
メモリ: 16GB
M2 MacでStable Diffusion web UIを動かす
基本的には公式のWikiにあるインストール手順に従っていきます。
1. 必要ライブラリのインストール
まずはライブラリをHomebrewでインストールします。
※ もしまだHomebrewがインストールされていない場合は、こちらの手順に従ってインストールしてください。
下記のコマンドをターミナルから実行し、必要ライブラリをインストールします。
brew install cmake protobuf rust python@3.10 git wget
Rosetta 2が走っている場合は、下記のようなエラーが出るかもしれません。
Error: Cannot install under Rosetta 2 in ARM default prefix (/opt/homebrew)! To rerun under ARM use: arch -arm64 brew install ... To install under x86_64, install Homebrew into /usr/local.
その場合は、コマンド冒頭にarch -arm64
を付けて再実行します。
arch -arm64 brew install cmake protobuf rust python@3.10 git wget
無事インストールが終了したら完了です。
2. Stable Diffusion web UIのソースコードをcloneする
次は、下記コマンドを実行してStable Diffusion web UIのソースコードレポジトリをローカルにcloneします。
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
3. Stable Diffusionモデルを配置する
git cloneしたレポジトリのディレクトリstable-diffusion-webui/models/Stable-diffusion
に、Stable Diffusionモデルを配置します。
今回は、モデルstabilityai/stable-diffusion-xl-base-1.0
を使ってみます。
下記のページにアクセスし、downloadボタンからモデルをダウンロードしてください。
sd_xl_base_1.0_0.9vae.safetensors · stabilityai/stable-diffusion-xl-base-1.0 at main
ダウンロードできたら、先ほどgit cloneしてきたレポジトリのstable-diffusion-webui/models/Stable-diffusion
ディレクトリ配下に、モデル配置します。
Finderから手動でファイルを移動させてもいいですし、下記のようにコマンドでファイル移動しても大丈夫です。
mv ~/Downloads/sd_xl_base_1.0_0.9vae.safetensors ./stable-diffusion-webui/models/Stable-diffusion
4. Stable Diffusion web UIを起動する
ここまで来たら準備は完了です。
cloneしてきたソースコードにあるshellスクリプトwebui.sh
を実行すれば、Stable Diffusion web UIを起動することができます。
cd stable-diffusion-webui ./webui.sh # Stable Diffusion web UIを起動
ターミナルで下のように待機状態になったら、起動完了です。
Model loaded in 56.8s (calculate hash: 4.0s, load weights from disk: 0.6s, create model: 4.3s, apply weights to model: 21.9s, apply half(): 17.9s, move model to device: 3.1s, load textual inversion embeddings: 0.4s, calculate empty prompt: 4.5s).
ブラウザから、http://127.0.0.1:7860/
にアクセスすると、Stable Diffusion web UIを使うことができます。
試しに適当なプロンプトを入れて"Generate"ボタンを押してみると、無事画像が生成されました。
おわりに
M2 MacにStable Diffusion web UIをインストールし、動かしてみるまでの手順をまとめました。
プロンプトだけでなく、変更可能なパラメータが山ほどあって遊びがいがありそうです。
以上、どなたかの参考になれば幸いです。
[関連記事]
参考
GitHub - AUTOMATIC1111/stable-diffusion-webui: Stable Diffusion web UI
Installation on Apple Silicon · AUTOMATIC1111/stable-diffusion-webui Wiki · GitHub
stabilityai/stable-diffusion at main
Features · AUTOMATIC1111/stable-diffusion-webui Wiki · GitHub
sd_xl_base_1.0_0.9vae.safetensors · stabilityai/stable-diffusion-xl-base-1.0 at main