M1 MacでStable Diffusionを使ってみる
必要なソフトウェアインストール
Homebrewが入っている前提です。
動かすのに必要なソフトウェアは以下のとおりです。
- Python 3.10.0以上
- cmake
- protobuf
- rust
- miniconda
ご自身のMacに入っていないものをHomebrewでインストールします。
brew install python cmake protobuf rust miniconda
Stable Diffusionのソースコード取得
少し調べると複数のリポジトリがあるようですが、今回は https://github.com/bfirsh/stable-diffusion.git
を使用します。
git clone -b apple-silicon-mps-support https://github.com/bfirsh/stable-diffusion.git
cd stable-diffusion
mkdir -p models/ldm/stable-diffusion-v1
依存モジュールのインストール
miniconda
を使用して Stable Diffusion
が依存するモジュールをインストールします。
まずは実行環境を構築します。
conda env create -f environment-mac.yaml
conda init zsh
ターミナルの先頭に (base)
がついていることを確認して以下のコマンドを実行します。
conda activate ldm
実行後にターミナルの先頭が (ldm)
に変わったら以下のコマンドを実行します。
pip install -r requirements.txt
画像生成に使用するwight取得
Hugging Faceが提供する画像生成に必要なwightを取得する を参考に学習済みのwight(sd-v1-4.ckpt)を取得します。
models/ldm/stable-diffusion-v1
にダウンロードした sd-v1-4.ckpt
を移動し、 model.ckpt
にリネームします。
サンプル画像作成
以下のコマンドを実行してサンプル画像を作成します。
python scripts/txt2img.py --prompt "a red juicy apple floating in outer space, like a planet" --n_samples 1 --n_iter 1 --plms
作成が完了すると outputs/txt2img-samples
に画像ファイルが出力されます。
実行時に Intel MKL FATAL ERROR
が発生する場合は次の記事を参考にしてください。
Stable Diffusionのサンプルを動かそうとしてIntel MKL FATAL ERROR
参考
M1 Mac に Stable Diffusion をインストールする - Qiita
https://qiita.com/centipede/items/d0126bdeab0e2b1abd64