2
4

More than 1 year has passed since last update.

【Mac M1】Stable Diffusionをローカル環境で実行する方法(brew/python/venv)

Last updated at Posted at 2023-01-27

概要

  • 以下環境のPCでStable Diffusionを動かすことができたので、その構築手順を残します。
    • brew/python/venv だけなので多分一番楽の構築手順かなと思います
    • ちなみにIntelチップのMacも持っているのですが、そちらではうまくできませんでした...

Mac

  • 機種ID:MacBookPro18,3
  • macOS:Monterey
  • チップ:Apple M1 Pro
  • メモリ:16GB

参考記事

手順

①Homebrewのインストール
②python3のインストール
③リポジトリのクローン
④バーチャル環境の構築
⑤学習済みモデルのダウンロード
⑥Stable Diffusionの実行

①Homebrewのインストール

  • 以下コマンドでまずはHomebrewが入っているか確認できます。
    • Homebrewとは、ソフトウェアの導入をシンプルに行うことができるパッケージ管理システム。
$ brew --version
Homebrew 3.6.20
Homebrew/homebrew-core (git revision 2f7330fe49b; last commit 2023-01-26)
  • 自分の場合は3.6.20でupdateしていました。
  • updateする方は以下のコマンドを実行してください。
$ brew update
  • まだインストールされていない場合は、公式サイトのHomebrewの指示に従ってインストールしてください

②python3のインストール

  • 続いて、以下コマンドでPythonが入っているか確認できます。
$ python3 -V
Python 3.10.9
  • 自分の場合は3.10.9でupdateしていました。
  • まだインストールされていない方は、以下のコマンドを実行してください。
    • Pythonのバージョンは3.10以上が必須らしいです。
$ brew install python
  • 自分の場合は3.10.9でupdateしていました。

③リポジトリのクローン

  • 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/
  • 一番最後のディレクトリを作成したのは、この後必要ファイルを格納するためです。

④バーチャル環境の構築

  • Stable Diffsionディレクトリ直下で、以下コマンドによりvirtualenvをインストールしvenvを作ります。これらのソフトウェア(ライブラリ)が仮想環境を構築するのに必要になります。
$ python3 -m pip install virtualenv
$ python3 -m virtualenv venv
  • 下記コマンドでバーチャル環境を実行できます。
$ source venv/bin/activate
  • プロンプトが変わったことを確認できると思います。頭に(venv) とついているはずです。
  • venvの状態で以下を実行します。以下により指定されたライブラリがインストールされますが、venv環境下で行った方がほかパッケージの相性やアップデートによる影響が少ないので、venvで行なっています。
$ pip3 install -r requirements.txt

⑤学習済みモデルのダウンロード

  • Stable Diffusionの実行には、学習済みモデルをダウンロードする必要があります。
    • アカウント登録や同意確認が必要という記事が多いですが、2023/1/26時点では、アカウントの登録など不要のよう?
  • Hugging Face」のサイトに行き、「Download the weights」から「sd-v1-4.ckpt」をダウンロードします。
  • そのファイルを「models/ldm/stable-diffusion-v1/model.ckpt」のディレクトリに設置します。
    • 4.27GBあるのでダウンロードは少し時間がかかります

⑥Stable Diffusionの実行

  • これで準備は整いました。以下を実行してみましょう。
$ python3 scripts/txt2img.py --n_samples 1 --n_iter 1 --plms --prompt "beautiful galaxy"
  • デフォルトの512x512であれば1枚2分くらいで終わります。
  • 他にもパラメータを付けることができますので、詳細調べてみると面白いかもしれません。

[Errno 2] No such file or directoryエラー

  • 自分の場合は以下のエラーが表示されましたので、その解決方法も記します。
FileNotFoundError: [Errno 2] No such file or directory: 'models/ldm/stable-diffusion-v1/model.ckpt'
  • こちらも上記参考記事に記載がありましたが、先ほどダウンロードしたファイル名を変えてあげれば解決します。

変更前:models/ldm/stable-diffusion-v1/sd-v1-4.ckpt
変更後:models/ldm/stable-diffusion-v1/model.ckpt

Enjoy!!

2
4
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
2
4