2
1

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.

【Stable Diffusion WebUI】遭遇したRuntimeErrorの解決方法(Mac M1)

Posted at

概要

Stable Diffusion WebUIをMac(M1チップ)にインストールしました。
実行にあたって遭遇したエラーの解決方法を記載します。

前提(Mac環境)

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

①RuntimeError: "upsample_nearest2d_channels_last" not implemented for 'Half'

まずは以下のエラーに遭遇しました。

    RuntimeError: "upsample_nearest2d_channels_last" not implemented for 'Half'

解決方法は、webui-macos-env.shCOMMANDLINE_ARGS--no-halfを追加すると解決しました。

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

特定のプログラムまたはライブラリ(おそらくPyTorchや関連するライブラリ)でHalf(16ビット浮動小数点数)データ型に対してNearest Neighborアップサンプリング操作を実行しようとした場合に発生しているらしい。

以下のissuecomment通りにしたら解決しました。
[Bug]: Remove of --no-half cause errors under MacOS with any Torch version, but almost all samplers produce only noise with it and latest nightly builds

②RuntimeError: MPS backend out of memory

modelによっては実行後に以下のエラーになりました。

RuntimeError: MPS backend out of memory (MPS allocated: 17.21 GB, other allocations: 290.12 MB, max allowed: 18.13 GB). Tried to allocate 720.00 MB on private pool. Use PYTORCH_MPS_HIGH_WATERMARK_RATIO=0.0 to disable upper limit for memory allocations (may cause system failure).

--medvramオプションを追加すると改善される場合があるとのことで、追加。
上述のものも含めてCOMMANDLINE_ARGSは以下になりました。

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

これで実行中に上記エラーが出ることは無くなりました。
まだエラーがでている場合は、一度バッチを閉じてから、再度開くと直ることもあります。
(自分の場合はサイズを一定以上大きくしすぎるとこのエラーになったりしました)

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?