どうも、nippa です。
画像生成AIのstable-diffusionをmacOSで利用してみたいと思います。
stable-diffusion-webuiが便利そうなので、今回こちらを利用してWebUIで画像生成を行ってみます。
環境
インストール
まずは、stable-diffusion-webuiをインストールするのに必要なソフトウェアをインストールします。
brew install cmake protobuf rust python@3.10 git wget
stable-diffusion-webuiのソースコードをgitで取得します。
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
stable-diffusion-webuiをインストールします。
cd stable-diffusion-webui
./webui.sh
必要なソフトウェアをインストールしてくれます。以下のような表示がされればインストール完了です。
LatentDiffusion: Running in eps-prediction mode DiffusionWrapper has 859.52 M params. Running on local URL: http://127.0.0.1:7860
stable-diffusion-webuiを使ってみる
ブラウザからhttp://127.0.0.1:7860
にアクセスます。
下記のような画面が表示されます。
Banana
というワードで、v1-5-pruned-emaonly.safetensors
モデルで画像生成してみます。
モデルの追加方法
ckptやsafetensorsファイルをダウンロードし、stable-diffusion-webui/models/Stable-diffusion
に保存することで、利用可能になります。
試しに、実写や写真系のリアルな画像生成を得意とするrealistic-vision
を追加してみます。
https://huggingface.co/SG161222
にアクセスします。
今回、v2.0を利用してみます。
モデルページに遷移し、Files and versions
からRealistic_Vision_V2.0.safetensors
を選択してダウンロードします。
ダウンロードしたファイルをstable-diffusion-webui/models/Stable-diffusion
に保存します。
mv ~/Download/Realistic_Vision_V2.0.safetensors [インストールディレクトリ]/stable-diffusion-webui/models/Stable-diffusion
stable-diffuison-webuiを再起動すると、Stable Diffusion checkpoint
からモデル選択できるようになります。
画像生成のエラーが発生した場合
画像生成時に、下記のようなエラーが発生する場合があります。
RuntimeError: "upsample_nearest2d_channels_last" not implemented for 'Half'
これは単精度による高速化オプションが有効になっており、対応していない場合に発生します。
この場合、以下のように起動時の読み込みファイルを修正することで、回避できます。
cd stable-diffusion-webui
vim webui-macos-env.sh
export COMMANDLINE_ARGS
の部分を以下のように修正します。
# 修正前 export COMMANDLINE_ARGS="--skip-torch-cuda-test --upcast-sampling --no-half-vae --use-cpu interrogate" # 修正後 export COMMANDLINE_ARGS="--skip-torch-cuda-test --upcast-sampling --no-half --use-cpu interrogatei"
修正後に再度、stable-diffusion-webuiを起動します。
./webui.sh
これで画像生成が行えるようになります。
感想
stable-diffusion-webuiを利用すると簡単に画像生成AIが利用できるようになります。
試しに使ってみてはいかがでしょうか?
ではでは、また次回。