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

Next Post
No Comment
コメントする
comment url