Stable Diffusion web UIを更新する方法 (WSL+Ubuntu環境)

[Stable Diffusion] Stable Diffusion web UIを更新する方法 (WSL+Ubuntu環境)

※ 当サイトは広告を含みます。

Stable Diffusion web UIをアップデートする方法です。何となく、ちゃんとまとめました。
無理に最新版にする必要もないのですが、新機能が増えたりするので好みで更新してください。

[]更新でErrorが発生した場合の対処方法を追加しました。

◆ Stable Diffusion web UIのインストール方法について

◆ 学習モデルのダウンロード方法と追加方法について

◆ CUDA ToolkitやcuDNNを更新する方法について

Version確認

現在のVersionを確認する

自身がインストールしてるVersion情報は、トップ画面の一番下に書いてあります。

現在のVersionを確認する

拡大するとここ。

現在のVersionを確認する

最新のVersionを確認する

最新Versionは以下のリンクで確認できます。
https://github.com/AUTOMATIC1111/stable-diffusion-webui/releases

ここに記載されたVersionが自身より新しい場合は更新を検討します。
ただし、注意点として最新版=1番良いではありません。

こういったOSS開発では頻繁にコミットが行われるため、最新版のほうが不安定または問題を含む場合があります。
その場合は特定のVersionをターゲットにして更新します。もしくはトラブル後にダウングレードします。

管理人
管理人

OSSの世界では不具合は自分で解決するのが基本です。文句があるなら開発者に100億くらい寄付してください。

りさ
りさ

無料で使わせて貰ってることを忘れちゃ駄目だよ。

本体部分のアップデート

アップデートにはgitを利用します。基本的に全てUbuntu側からコマンド経由で作業します。
まずは次のコマンドでStable Diffusion web UIのディレクトリに移動しましょう。


cd ~/stable-diffusion-webui

次にgitのpullコマンドを利用してアップデートを行いますが、何れかのファイルに変更を加えてる場合は更新できません。
仮に僕のインストール方法を参考に作業してる場合、webui-user.shが原因で更新できないと思います。

と言うことで、最初に更新が可能かどうかをstatusコマンドで確認します。


git status

実行結果にmodified:[ファイル名]って感じの表示が出ると更新は不可能です。

git status

この場合は以下を試してから先に進んでください。表示が出なければ無視して進んで大丈夫です。

問題を解決するにはファイルの変更を破棄します。この時、ファイルに加えた変更は無効となるので注意してください。
オススメは、該当するファイルをWindows側から回収しておき、後に差分を確認してから同じような修正を加えます。

回収が終わったらcheckoutコマンドで変更を破棄しましょう。


git checkout HEAD .

次にpullコマンドでファイルを更新します。成功時は対象ファイルが色々と列挙されます。


git pull

最後に回収したファイルと同名のファイルに改めて修正を加えます。
僕は起動時の引数を変更してるので、同じように修正します。


export COMMANDLINE_ARGS="--xformers --no-half-vae"

特定のVersionに更新する

トラブルが起きないなら最新版で問題ありませんが、ここでは特定のVersionに更新する方法も記載します。
まず、更新するVersionを定めるために最新の履歴とタグの一覧を取得します。

最初にfetchコマンドで履歴を更新します。


git fetch

次にtagコマンドでタグの一覧を出力します。オプションで降順にしてます。


git tag --sort -v:refname

そうすると新しい順にタグが表示されるので、ここから目的のVersionを探します。
更新に必要なタグ名はv1.9.4とかv1.9.0-RCなど、タグ名をそのままです。

管理人
管理人

困ったら最新版から順にダウングレードして試せばOK。

目的のVersionが決まったらcheckoutコマンドタグ名を使って変更します。


git checkout refs/tags/{tag}

こんな感じに使います。


git checkout refs/tags/v1.9.0

Tipsタグ名の代わりにハッシュ値を使えば、もっと詳細なコミット位置に変更できます。

なお、この状態はHEAD detached atという状態なので、次のコマンドを使わないと元に戻りません。


git checkout master

もしくはこれ。


git reset --hard master

拡張機能のアップデート

追加した拡張機能はweb UIのExtensions画面から更新します。
以下の画像を参考にCheck for updatesを選択した後にApply and restart UIでweb UIを再起動しましょう。

STEP
Extensionsタブを選択する。
STEP
Check for updatesを選択する。
拡張機能のアップデート
STEP
更新が必要な拡張機能の表示が変わる。
STEP
Apply and restart UIを選択する。
拡張機能のアップデート
STEP
更新された拡張機能の表示が変わる。
拡張機能のアップデート

動作確認

これで更新作業は終わりです。いつも通りの手順で起動してブラウザからアクセスしましょう。


./webui.sh

Error解決

インストールやアップデートの結果、エラー警告が発生した場合の解決方法です。
なお、どうしようもない場合の最終手段は再構築です。web UIの入れ直しが何だかんだ近道。

次の手順で簡単に実現できます。まず対象ディレクトリに移動します。


cd ~/

ここに存在する、次のディレクトリを消すか別の場所に移動します。


stable-diffusion-webui

_(アンダースコア)を付けてディレクトリごと逃がすなら、このコマンドで可能。


mv stable-diffusion-webui _stable-diffusion-webui

後はgit cloneする部分からやり直すだけ。


git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
cd stable-diffusion-webui
./webui.sh

Cannot locate TCMalloc

赤文字で次のエラーが発生した場合の対処です。ちなみに正確にはエラーではなく警告。無視して動くなら対処不要です。


Cannot locate TCMalloc. Do you have tcmalloc or google-perftool installed on your system? (improves CPU memory usage)

TCMallocをインストールして解決します。このコマンドを実行しましょう。


sudo apt install --no-install-recommends google-perftools

POINTTCMallocの導入でパフォーマンスが上昇する(環境依存)。

あとがき

気が向いたら更新して最新版にしてるけど、未だ問題が起きたことがない。
ローカルで使えることを含めても、画像生成AIでは最強の環境だと思う。

この記事は参考になりましたか?

関連記事

コメント

この記事へのコメントはありません。