10
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

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

Last updated at Posted at 2022-09-06

はじめに

  • 2022年8月に書いた以下の記事が古くなったので書き直し
  • Macbook Air M2 (mem16GB)利用。GPU(MPS)利用。1画像出力で3分くらい。使用メモリーはおよそ13GBくらい。

参考ページ

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

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 以下
    00003.png

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

% python3 scripts/dream.py --web

スクリーンショット 2022-09-06 16.14.32.png

10
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?