💭

Macbook Air M2(mem16GB)のローカル環境でStable Diffusionを動かす(2022.9.6版)

2022/09/06に公開

はじめに

参考ページ

事前に学習済みモデルをダウンロードしておくこと

brew でインストール

  • python3が必要
  • インストール: git, cmake, protobuf, rust
% python3 -V
Python 3.8.9

% brew install git cmake protobuf rust
表示省略

minicondaのインストール

% brew install miniconda
表示省略

% conda -V
conda 4.12.0

% conda init zsh
表示省略

% source ~/.zshrc
  • 「conda init <SHELL_NAME>」で、うちはzsh使っているため。
  • 「~/.zshrc」を生成してくれるので、読み込む。
  • % プロンプトの前に(base)と表示されることを確認

repo. をクローンしてそのディレクトリで作業

(base) % git clone https://github.com/lstein/stable-diffusion.git
表示省略

(base) % cd stable-diffusion

ダウンロードしたモデルファイルを指定位置に配置・ファイル名変更

(base) % mkdir -p models/ldm/stable-diffusion-v1/

(base) % mv ~/Downloads/sd-v1-4.ckpt ./models/ldm/stable-diffusion-v1/model.ckpt

Pythonパッケージのインストール

(base) % PIP_EXISTS_ACTION=w CONDA_SUBDIR=osx-arm64 conda env create -f environment-mac.yaml
大量表示省略

(base) % conda activate ldm
  • 以降、%プロンプトの前は(base)から(ldm)に変わる

一回だけ実行しよう

(ldm) % python3 scripts/preload_models.py
succcessなどの数行の表示

enjoy!

(ldm) % python3 scripts/orig_scripts/txt2img.py --n_samples 1 --plms --prompt "a photograph of a space cat"
  • 「--n_samples 1」にして一度に出力する画像数を減らすと処理が早く終わる
  • だいたい3分30秒くらい。
  • 標準だと縦横512x512サイズの画像だけど、横幅を「--W 256」に小さくするともっと早い。なお縦横ともにサイズは64の倍数である必要

どこに画像出力?

  • ./outputs/txt2img-samples 以下

毎回CUIでパラメータやprompt入力するのが面倒なら

(ldm) % python3 scripts/dream.py --web

Discussion