そういう、モデルなんです。

ビジネスモデル、3Dモデル、設計図、模型などの現状と動向を考察、関連書籍の紹介

Fooocus 2.5 のアップデートで起動時にエラー

数日前まで正常に利用できていたFooocus が突然利用できなくなった。

  • バージョン 2.5 がリリースされたが、ソフトウェアの構成(依存関係)で不整合がいくつか生じたため、従前の環境を継続利用できなくなった
  • Github に対応策が示されていたが、リカバリには至らなかった
  • エラーメッセージから類推して、他の対策も試したが効果はなかった

結局のところ、最新版をダウンロードして再インストールしてリカバリした。

youtube.com

事象

  • 数日前まで正常に利用できていたFooocus が突然利用できなくなる
  • 起動用バッチファイル run.bat を実行すると、エラーメッセージやトレースログが出力されている
    • 標準エラー出力(stderr)では、ModuleNotFoundError: No module named 'supervision' で終わる Traceback
    • 標準出力(stdout)では、100行以上のメッセージが出力されるが、冒頭に torchsde のバージョン不整合がある旨示されている

Fooocus version: 2.5.0
Version mismatch for torchsde: Installed version 0.2.5 does not meet requirement torchsde==0.2.6
Installing requirements
Couldn't install requirements.

背景

  • 一週間ほど前に Stable Diffusion Fooocus のバージョン 2.5がリリースされていたが、ネットで調べると同様の報告が数多くある
  • 解決策としては、Github に掲載されている手順があったが、うまくいかなかった

対策の無かった対策

  • Github に掲載されていた手順のすべて
    これで解決した方々もいらっしゃるが自分の場合はダメだった

    Github に掲載されている v.2.5.0 の更新手順

ひとつめの推奨手順 git pull の処理は成功したが、問題解決には至らず

ふたつめの推奨手順 requirements_versions.txt の取り込みは成功したが、問題解決には至らず

起動バッチの標準エラー出力には出力されなかったが、サブプロセスにおいて:

UnicodeDecodeError: 'cp932' codec can't decode byte 0x97 in position 2879: illegal multibyte sequence という標準エラー出力のメッセージがあるらしかった。

日本語 Windows 環境のPython でありがちな、実行コード (utf-8) とファイル (cp932) の文字コードページの違いによるエラーと推測して chcp 65001 をやってから起動するなども試したが、解決せず。

stderr:   error: subprocess-exited-with-error
  
  python setup.py egg_info did not run successfully.
  exit code: 1
  
  [6 lines of output]
  Traceback (most recent call last):
    File "<string>", line 2, in <module>
    File "<pip-setuptools-caller>", line 34, in <module>
    File "C:\Users\(略)\AppData\Local\Temp\pip-install-yyiz_n2q\groundingdino-py_a5edde5d85b14fe9a677a7efb4413ef0\setup.py", line 41, in <module>
      readme = readme_file.read()
  UnicodeDecodeError: 'cp932' codec can't decode byte 0x97 in position 2879: illegal multibyte sequence
  [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

Encountered error while generating package metadata.

See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.

  • Python パッケージマネジャー pip を最新版に更新
    エラーメッセージでは、たぶんエラーとは関係ないが、最新版があるからと通知 notice されていたため一応やってみた
    python -m pip install --upgrage pip

    pip : python -m pip install --upgrade pip
  • torchsde を最新版に更新
    pip install --upgrade torchsde

    pip : pip install --upgrade torchsde
  • supervision をインストール
    pip install supervision

    pip : pip install supervision

pip コマンドでの更新・インストールはどれも一見、成功したかのように見えたが、すでに pip それ自体の更新はしたはずなのに、まだ最新版があると主張している…

自分の環境では、

  • Fooocus に同梱されている Python Embedded 環境
  • それとは別に、一般的な Python 環境

の2つがあり、よく見てみると、一回目の pip それ自体の更新は前者に対して、他は後者に対してやってしまって自滅した自分がいた。

おそらくは、どちらも中途半端に更新された状態になった。

この辺りで、現在の環境を更新して修正することを断念した。

対策があった対策

  • 単に、最新版をダウンロードし直し、全て再インストール
    いわゆるクリーンインストール…

Github : Fooocus v.2.5.0 Windows版 ( Fooocus_win64_2-5-0.7z )

時短の工夫

  • 従前の実行環境のフォルダから、モデルのデータ models - checkpoint は移行した

以上