【簡単】Stable Diffusionを「M1/M2」の「MacBook」で動かす方法
こんにちは、マナブです。
Stable Diffusionの「インストール方法」を解説します。
下記の方法にて、MacBookのローカル環境で動かせます。
- 手順①:Pythonをインストールする
- 手順②:Homebrewのインストール
- 手順③:Repositoryをクローンする
- 手順④:必要なツールをインストール
- 手順⑤:Stable Diffusionを実行する
上記ですが、僕は「謎のエラー」で苦しみました。
なので、エラーの「解決方法」もセットで解説します。
Stable Diffusionの稼働に必要なスペック
- M1 or M2以上のチップを搭載している
- メモリは16GB RAM(8GBだと重たい)
- OSのバージョンを「12.3 以上」にする
なお、今回の記事は「Run Stable Diffusion on your M1 Mac’s GPU」の記事を参考にしつつ、加筆する形で書いています。元記事の著者に感謝です。
手順①:Pythonをインストールする
まずは、下記のコマンドを実行してください。
$ python3 -V 表示結果:Python 3.10.6
Pythonのバージョンは「3.10 以上
」が必須です。
インストールできていない場合は、手順②に進みます。
手順②:Homebrewのインストール
すでにPythonがインストール済みなら、ここが不要です。
インストール済みじゃない人は、下記を実行してください。
$ brew update $ brew install python
上記を実行します。Homebrewが初めてなら、下記からインストール可能です。
» Homebrew – The Missing Package Manager for macOS
上記の実行後に、再度下記を実行してください
$ python3 -V 表示結果:Python 3.10.6
PythonがインストールされていたらOKです。
それでは、次のステップに進みましょう。
手順③:Repositoryをクローンする
続いては、Stable Diffusionをクローンします。
$ git clone -b apple-silicon-mps-support https://github.com/bfirsh/stable-diffusion.git $ cd stable-diffusion $ mkdir -p models/ldm/stable-diffusion-v1/
上記のコマンドを、順番に実行したらOKです。
ここは簡単ですね。なに問題は起こらないはず。
手順④:必要ツールをインストール
バーチャル環境の構築の為に、下記をインストールします。
$ python3 -m pip install virtualenv $ python3 -m virtualenv venv
続いて、下記コマンドでバーチャル環境を実行できます。
$ source venv/bin/activate
Stable Diffusionを実行する際には、その都度で「上記のコマンド」が必須です。このコマンドを打つと、ターミナル上で「バーチャル環境」が発動します。
その後に、下記コマンドを実行してください。
$ pip3 install -r requirements.txt
なお、上記の実行で「Failed building wheel for onnx
」のようなエラーが発生した場合は、下記で解決できます。
$ brew install cmake protobuf rust
というわけで、以上が準備です。次ステップで最後です。
手順⑤:Stable Diffusionを実行する
Stable Diffusionの実行には、ライセンス同意が必須です。なので「Hugging Face」のサイトに行き、そして「Access repository
」のボタンをクリックします。
すると、必要ファイル(sd-v1-4.ckpt
)をダウンロードできます。そのファイルを「models/ldm/stable-diffusion-v1/model.ckpt
」のディレクトリに設置します。
これで「Stable Diffusion」を実行できます
というわけで、お疲れさまでした。下記を実行します。
$ python3 scripts/txt2img.py --n_samples 1 --n_iter 1 --plms --prompt "fake version of Doraemon"
すると、AIが画像を生成してくれます。
上記では「偽物のドラえもん」の画像を生成しています。
実行結果がこちら(※文章がシンプルなので、精度は低いです)
なお、画像は「outputs/txt2img-samples
」の中に保存されています。
というわけで以上なのですが、よくあるエラーについても書いておきます。
エラー①:ModuleNotFoundError: No module named ‘cv2’
Stable Diffusionの実行後に、下記が出てきたりします。
File "/Users/stable-diffusion/scripts/txt2img.py", line 2, inimport cv2 ModuleNotFoundError: No module named 'cv2'
上記の場合は、Pythonのバージョン指定が問題かもです。
下記の2つを実行してみてください。
・選択肢①:$ python3 scripts/txt2img.py –n_samples 1 –n_iter 1 –plms –prompt "fake version of Doraemon" ・選択肢②:$ python scripts/txt2img.py –n_samples 1 –n_iter 1 –plms –prompt "fake version of Doraemon"
僕の環境だと「$ python3 scripts/txt2img.py
」で実行すると、エラーが解消されました。同じエラーが出た人は、ぜひ参考にどうぞ。
エラー②:FileNotFoundError: ‘model.ckpt’
Stable Diffusionの実行後に、下記が出てきたりします。
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
上記でOKです。というわけで、解説は以上です。
エラーが解決しないなら、Discord内でググろう
Stable Diffusionに関しては、ネット上の情報が少ないです。
なので、専用の「コミュニティ内」で検索をすると、効率的です。
上記は「Replicate」という組織が運営するDiscordで、Stable Diffusionの質問も可能です。とはいえ質問しなくても、Discord内で検索したら、大半の必要情報にリーチできるはずです。
また、StableDiffusionの「Reddit」も有益なので、リンクを貼っておきます。ネット内に情報が少ない場合は、特化コミュニティ内から学ぶのが良いですね。
というわけで、以上です。Stable Diffusionを楽しみましょう😌
※P.S:無料メルマガで発信中:過去の僕は「ブログ発信で5億円」を稼ぎました。次は「30億円」を目指します。挑戦しつつ、裏側の思考を「メルマガ」から発信します。不満足なら1秒で解約できます。無料登録は「こちら」です。