2023年2月14日火曜日

AUTOMATIC1111web_uiが動かなくなったので

気付いたら2月も中ごろで
自分の継続性のなさにがっかりだ。


以前は自作のなんちゃってサービスを作成して、
そこからStableDiffusionを動かして画像生成していたんですが、
最近はgitで公開されているAUTOMATIC1111のWebUIを使用しています。


それに関してもBlogのネタとして扱おうと思うんですが、
今回はふとそれが動かなくなったので、それに関する対応について。
自分のメモ用ですかね~。




昨日まで動いていたのに動かなくなった


まだAUTOMATIC1111のWebUIの環境は自宅に作ってないので、
もっぱらGoogleColaboratoryで動かしていたんですが、
これがふとした時から動かなくなりました。


webuiの起動時にエラーが出て止まってしまう


なんかエラーがでて止まってる。
何もしてないのにこわれた。
出力結果を見てみると、


RuntimeError: Cannot add middleware after an applicaton has started


と出ていて動いてないみたいです。
うーん、困ったな。


原因を調べてみた


こういうのは得てして他の人がもう調べて解決しているものなので
ちょっと原因を調べてみました。


としあきdiffusion wiki
RuntimeError: Cannot add middleware after an application has started

ありましたね~。助かる~(涙)
StableDiffusionのモジュールで使用するfastapiというモジュールが
アップデートされた関係で、これを修正しないとダメなんだそうです。


具体的には2つ?
①fastapiの0.90.1をインストールする
②webuiの要求モジュールのリストを修正する


とりあえず、自分のGoogleColaboratoryではこれで動かせるようになりました。
まあ、毎回クリアされるので、毎回修正する必要あるんですけどね。

ひとまず動いて安心した


対応①:fastapiの
0.90.1をインストールする


pipコマンドでインストールすれば大丈夫みたいですね。
GoogleColaboratoryだと毎回初期化されてしまうので
毎回インストールする必要がありますね。


pip install fastapi==0.90.1


GoogleColaboratoryの場合はコマンド実行は前に「!」をつけるので、
「!pip install fastapi==0.90.1」ですかね。



対応②:webuiの
要求モジュールのリストを修正する


次にwebuiで使用している要求モジュールの
バージョンをリストにしているファイルがあるみたいなので、
これも修正します。

ファイルは「stable-diffusion-webui」直下にある
「requirements_versions.txt」というテキストファイルです。
ここに、先ほどのfastapiの項目を追記するらしいです。


赤枠線の所を追記しました


対応後、いつも通り動かせるように!


上2つの対応を行ってwebuiを起動したら、
エラーが出ずに起動させることが出来ました。
あーもう、このwebui便利すぎてたまらないね!

ckptとvaeの切り替えやi2iのやり易さ
まだ試してないけどUpscaleとかモデルマージとかもできるらしいですし、
すごい便利。
早いところ自宅環境にも入れたいところ。(願望)


とりあえず、動くようになってから
この前の寒波でついに雪が降ったりしたので、
そんな絵を作成しつつこのあたりで今回はおしまい。





0 件のコメント:

コメントを投稿