見出し画像

【Stable Diffusion】M1 macではCPUによる画像生成ですが、内臓GPUを活用して画像生成する方法

注意事項

  • 記事記載時点で、「torch」のバージョンが、2.0.0で公式サポートしているらしく、StableDifusionの導入時期によっては、すでにGPUが使用されている設定になっている場合もありますので、ご注意ください

ユーティリティ > アクティビティーモニタ.appを起動しておき、画像生成時に下記のように、Pythonの行で%GPUの値が0じゃない場合、変更する必要がありません

メリット

  • CPU使用率が下がるので、画像生成中に他のアプリケーション動作について、もっさりした感じが軽減される

デメリット

  • 画像生成速度の向上は望めません

本記事の対象者

  • macのコマンドライン操作に慣れている方

  • 個人見解による設定変更を含むため、導入結果については自己責任とし、自己修復が可能な方

  • M1/M2 macを使用している方

  • ローカル環境に、Stable Diffusion Web UIを導入している方

必要なツール類

特に必要はないですが、webuiの起動パラメタを変更するため、下記の知識があると良いです

  • viやsed等、テキストファイルの編集が出来る

  • vscode等のテキストエディタを導入し編集が出来る

実施手順

環境の構築

  • ユーティリティ >  ターミナル.appを起動するか、インストール済みのコンソール系アプリを起動し、stable diffusionインストールディレクトリに移動する

cd /インストール済みのディレクトリ/stable-diffusion-webui
  • Pythonのvenv環境に入る

source venv/bin/activate
  • PyTorchを更新する

PyTorchの公式サイトを開き、導入に必要なコマンドラインを得る

pip uninstall torch
pip3 install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cpu

念のため、「pip uninstall torch」で削除しており、Nighty版(開発バージョン)を導入する。ERRORで終わる事があるが、他の関連ライブラリの依存バージョンと異なるための警告であり、要求バージョンより、インストール済みバージョンが上なら、一旦OKとする

pip list | grep torch

導入済みのバージョンを確認し、上がっている事を確認する

  • TensorFlowを更新

pip uninstall tensorflow
pip install tensorflow
pip list | grep tensorflow

uninstall時に消去するか尋ねられるので「y」を回答し消去する事

  • 使用していた、ターミナルやコンソールを一度終了する


起動パラメタの変更

  • 「stable-diffusion-webui」ディレクトリ直下に入っている「webui-macos-env.sh」を編集する

  • 起動パラメタの「--use-cpu interrogate」を削除する

#export COMMANDLINE_ARGS="--skip-torch-cuda-test --upcast-sampling --no-half-vae --use-cpu interrogate"
export COMMANDLINE_ARGS="--skip-torch-cuda-test --upcast-sampling --no-half-vae"

上記の様に、COMMANDLINE_ARGSが記載されている行の先頭に#を入れてコメントにし、新たに行を追加して、削除する事をお勧めします


起動確認

冒頭の注意事項に記載した通り、設定変更後に画像生成し、%GPUが0じゃなくなっている事が確認できたらOKです

*期待するほどの劇的な変化はないですが、もっさり感が減ってストレス減るだけですが、体感してみてください


この記事が気に入ったらサポートをしてみませんか?