メインコンテンツへスキップ
見出し画像

Stability Matrixで Automatic1111が起動しない…そんなときに試してほしいノウハウ #SD黄色本

    大好評の「画像生成AI Stable Diffusionスタートガイド」(通称 #SD黄色本 )ですが、GitHubでのソースコード公開に加えて、discordでのサポート、noteメンバーシップ向け掲示板でのサポートがあります。


    今回はStability Matrixを使ったローカルGPU、Windows11/Mac(Apple Silicon)環境を中心に discord AICUサーバー「SD黄色本サポート」チャンネルに寄せられたトラブルシューティングノウハウをお送りします。

    ❏書籍「画像生成AI Stable Diffusionスタートガイド」の詳細についてはこちら

    ❏Google ColabでのAUTOMATIC1111 xformers関連の不具合と解決方法について (2024/5/22)

    ❏Fooocus v2.4.0リリース & AICUによるColab無料版で動く日本語UI版も継続メンテナンス実施


    過去の #SD黄色本 記事についてはこちらをご参照ください


    Checkpointの切り替えに失敗する

    M3 MacBook Pro で報告されたケースですが、画像生成AIのモデル、つまり SD1.5やSDXL、もしくは bluePencilXL と言ったモデルの切り替えに失敗することがあります。
    エラーメッセージの例

    changing setting sd_model_checkpoint to bluePencilXL_v600.safetensors [83f960c769]: AttributeError

    Stability Matrixにはこのようなログが表示されます。

    Python 3.10.11 (main, May  7 2023, 17:32:05) [Clang 16.0.3 ]
    Version: v1.9.4
    Commit hash: feee37d75f1b168768014e4634dcb156ee649c05
    ControlNet init warning: Unable to install insightface automatically. Please try run `pip install insightface` manually.
    Launching Web UI with arguments: --medvram-sdxl --api --skip-torch-cuda-test --skip-python-version-check --no-half --gradio-allowed-path /Users/username/apps/StabilityMatrix/Images
    no module 'xformers'. Processing without...
    no module 'xformers'. Processing without...
    No module 'xformers'. Proceeding without it.
    Warning: caught exception 'Torch not compiled with CUDA enabled', memory monitor disabled
    ControlNet preprocessor location: /Users/username/apps/StabilityMatrix/Packages/Stable-Diffusion-WebUI/extensions/sd-webui-controlnet/annotator/downloads
    2024-06-11 08:11:57,602 - ControlNet - INFO - ControlNet v1.1.449
    Loading weights [1449e5b0b9] from /Users/username/apps/StabilityMatrix/Packages/Stable-Diffusion-WebUI/models/Stable-diffusion/animagineXLV31_v30.safetensors
    2024-06-11 08:11:57,929 - ControlNet - INFO - ControlNet UI callback registered.
    Running on local URL:  http://127.0.0.1:7860
    
    To create a public link, set `share=True` in `launch()`.
    Creating model from config: /Users/username/apps/StabilityMatrix/Packages/Stable-Diffusion-WebUI/repositories/generative-models/configs/inference/sd_xl_base.yaml
    /Users/username/apps/StabilityMatrix/Packages/Stable-Diffusion-WebUI/venv/lib/python3.10/site-packages/huggingface_hub/file_download.py:1132: FutureWarning: `resume_download` is deprecated and will be removed in version 1.0.0. Downloads always resume when possible. If you want to force a new download, use `force_download=True`.
      warnings.warn(
    Startup time: 8.8s (prepare environment: 0.4s, import torch: 3.3s, import gradio: 0.8s, setup paths: 1.1s, initialize shared: 0.2s, other imports: 0.9s, load scripts: 0.8s, create ui: 0.5s, gradio launch: 0.4s, add APIs: 0.5s).
    changing setting sd_model_checkpoint to bluePencilXL_v600.safetensors [83f960c769]: AttributeError
    Traceback (most recent call last):
      File "/Users/username/apps/StabilityMatrix/Packages/Stable-Diffusion-WebUI/modules/options.py", line 165, in set
        option.onchange()
      File "/Users/username/apps/StabilityMatrix/Packages/Stable-Diffusion-WebUI/modules/call_queue.py", line 13, in f
        res = func(*args, **kwargs)
      File "/Users/username/apps/StabilityMatrix/Packages/Stable-Diffusion-WebUI/modules/initialize_util.py", line 181, in <lambda>
        shared.opts.onchange("sd_model_checkpoint", wrap_queued_call(lambda: sd_models.reload_model_weights()), call=False)
      File "/Users/username/apps/StabilityMatrix/Packages/Stable-Diffusion-WebUI/modules/sd_models.py", line 860, in reload_model_weights
        sd_model = reuse_model_from_already_loaded(sd_model, checkpoint_info, timer)
      File "/Users/username/apps/StabilityMatrix/Packages/Stable-Diffusion-WebUI/modules/sd_models.py", line 793, in reuse_model_from_already_loaded
        send_model_to_cpu(sd_model)
      File "/Users/username/apps/StabilityMatrix/Packages/Stable-Diffusion-WebUI/modules/sd_models.py", line 662, in send_model_to_cpu
        if m.lowvram:
    AttributeError: 'NoneType' object has no attribute 'lowvram'
    
    Loading VAE weights specified in settings: /Users/username/apps/StabilityMatrix/Packages/Stable-Diffusion-WebUI/models/VAE/sdxl_vae.safetensors
    Applying attention optimization: sub-quadratic... done.
    Model loaded in 28.7s (load weights from disk: 0.8s, create model: 1.3s, apply weights to model: 10.7s, apply float(): 8.3s, load VAE: 2.0s, load weights from state dict: 0.1s, hijack: 0.6s, load textual inversion embeddings: 0.7s, calculate empty prompt: 3.9s).

    基本的にはこのようなログをChatGPTやClaude、Gemini、Perplexityなどに貼り付けていただけると解決する事も多いですのでぜひやってみてください。

    以下はChatGPT-4oでの上記のログの回答例です。

    AttributeError:

    • AttributeError: 'NoneType' object has no attribute 'lowvram': このエラーはsd_modelがNoneであることを示しています。つまり、モデルが正しくロードされていない可能性があります。この問題は、モデルのロードプロセスで何かが失敗しているか、チェックポイントファイルが正しくないか、または欠落しているために発生することがあります。

    ひとえに「メモリが足りない」という原因が多かったりします。もちろん、動作中に多くのコマンドや操作を投げることは避けたほうがいいです。多くのケースではケースでは起動しているChromeなどのWebブラウザ、不要なタブを閉じて再起動したり、再度選択を試してみたらできた、という事もよくあります。ロードするモデルはSDXL系ですと4-6GBのファイルサイズがあり、VRAMやメインメモリにそれをロードするだけの容量がなければエラーになります。起動時オプションで「lowvram」というオプションがありますので、8GB以下のVRAMであればチェックオンしておくと動作の不安定を回避することができるかもしれません。

    よくある他の事例としては
    ・checkpointが正しい場所にあるか
    →modelsフォルダ、その下の「Stable Diffusion」です
    StabilityMatrix-win-x64\Data\Models\StableDiffusion

    ・ダウンロードの途中で終わってしまっている(ファイルが壊れている)
    →削除してやり直し

    といったケースがあります。いずれにしてもモデルの切り替えに失敗しているときはStability MatrixのコンソールやAutomatic1111右下に表示されていますのでエラーログを確認しましょう。
    コツは「あきらめないこと」です!特にMac版。

    ModuleNotFoundError: No module named 'jsonmerge'

    2024/7/12にご報告いただいたケース
    (新品のWindows11)
    > Stable Diffusion Web UI v1.9.4をパッケージに追加して、Launchを押すと、いろいろ文字が出て、最後に

    File "C:\Data\Packages\stable-diffusion-webui\repositories\k-diffusion\k_diffusion\config.py", line 6, in <module>
    from jsonmerge import merge
    ModuleNotFoundError: No module named 'jsonmerge'
    と表示されて止まってしまいます。

    まず、基本的なところで、Stability Matrixを利用すると、個別にPythonをインストールする必要はなくなります。
    つまり、想像するに、ローカルで既にインストールされたPython環境とぶつかっている可能性があります。
    もしWindows + R →「cmd」でコマンドプロンプトを起動して、 python -V と打って Enter ボタンを押して、上記のように Python 3.10.6 と出るか、もしくは「コマンドが見つかりません」というエラーが出れば問題なしですが、他のバージョンのPythonが出てくるようですと、まずはいったん、Pythonをアンインストールしたほうがいいと思います。

    ・Stability MatrixのAutomatic1111を更新する
    →Packageでで確認できます

    ・Stability MatrixのAutomatic1111を削除してインストールし直す
    →生成済みの画像も削除される可能性がありますので一旦退避しましょう。

    ・Stability Matrixをアンインストールして入れ直す

    ・[上級者向け]足りないモジュールを手動でインストールする
    Redditで同様の不具合が報告されています
    Error: ModuleNotFoundError: No module named 'jsonmerge'
    https://www.reddit.com/r/StableDiffusion/comments/13e6srs/error_modulenotfounderror_no_module_named/

    ・[非常に簡単な方法]Windows11に新ユーザをつくる
    設定→アカウント→その他のユーザー→「アカウントの追加」で解決することが多いです。
    これは「demo」というユーザを作成している例です。

    画像

    解決策:Google Colabを並列にする

    Stability Matrixは手元のGPUで使えて嬉しいのですが、本格的に画像生成をしたりオリジナルのLoRAを学習させたりといった複数の作業を行うときは、1台のPCでも辛くなってきます。
    Google Colab Proの環境は有料ではありますが、Proのライセンスであればクリーンなインストール環境、高速なGPU、高速な回線であり、特に困ることは少なくなります。
    ローカルのGPUをメインで使う場合も問題分析がしやすくなります。

    本書ではGoogle Colabでの環境構築やColabで動くノートブックも並列で解説・メンテナンスしていますので、ぜひとも使ってみてくださいね!

    画像

    以上、「画像生成AI Stable Diffusionスタートガイド」のトラブルシューティング情報でした!

     
     

    AICU

     
     
    生成AI時代に「つくる人をつくる」をビジョンに活動する日本最大のクリエイティブAIコミュニティ。 AIクリエイターさんとともに、「わかるAI」を伝えていきます。

    あなたへのおすすめ