【2023年12月最新】Stable Diffusion エラー対策 NotImplementedErrorについて

最近Stable Diffusionをグーグルコラボで起動させると、

起動後の画像生成のタイミングで「NotImplementedError」
というエラーメッセージが表示され画像生成が行うことが
できない現象が発生しています。

対処方法を解説しているので上記エラーが発生している方は
参考にしてみてください。

また「NotImplementedError」以外のエラーで画像生成ができなく
なっている場合は下記のエラー対策を試してみてください。

Pytorchが原因で起こるエラー対策
https://yomutoku.website/2023/10/22/stable-error-10gatu/

謎のエラーが起こったら真っ先に試すこと
https://yomutoku.website/2023/10/10/stable-diffusion-error2/

エラーの解消方法

グーグルコラボの最初にこちらのコードを追加し、
実行してください。

コード:「!pip install -U xformers –index-url https://download.pytorch.org/whl/cu121

※「」は不要なので!から121までの部分をコピペして貼り付けてください。

コード追加し、実行した後は今まで通りの方法で起動させて
ください。

今回の「NotImplementedError」に該当する場合は
この方法で恐らく解消され、画像生成が行えるはずです。

なんでエラーが起こったの?

今回のようなエラーが発生する原因は、
Stable Diffusionを起動させる際に、

「xformars」という処理を高速化させる
機能も起動させているんですけど、

「xformars」のような画像生成関連は「CUDA」という
プログラミング言語が担当していて、

1、グーグルコラボと「CUDA」の間にバージョンにズレがでる
(片方だけバージョンアップする等)

2、この状態で画像生成しようとすると生成過程で高速化機能の
「xformars」の出番が来た際に、

「私の主であるCUDAはこのバージョン対応していないからできません、
みんなにはNotImplementedErrorって伝えといたらたぶんわかるはず」

3、「NotImplementedError」が表示されて生成ができない状況が発生する



このような内部事情になっています。

ややこしいのが高速化担当の「xformars」ではなく上司ポジションの
画像生成担当の「CUDA」の方が原因というところですね。

「上がだめっていっているからできません、そういう決まりだから
できません」

みたいなどこかで見聞きしたことがあるような言い分ですね。

まあそういうわけで「CUDA」のバージョンを変更して
あげる必要があって、変更してあげる指示文が、

「!pip install -U xformers –index-url https://download.pytorch.org/whl/cu121

になります、

最後の「cu121」っていうところが「CUDA」のバージョンを121にしてください
みたいな意味合いになります。

まとめ:免疫をつけましょう

Stable Diffusionで画像生成時に発生するNotImplementedError
の原因と解消方法について説明しました。

エラーが起こると焦ったり不安になりがちですが、
定期的に起こるものなので免疫をつけるイメージで
慣れた方が精神的に楽なように思います。

「また起こったな、まあ対処方法はあるはずだからゆっくり考えるか」

くらいの気持ちでエラーと付き合っていきましょう。