Stable Diffusion web UIをアップデートする方法です。何となく、ちゃんとまとめました。
無理に最新版にする必要もないのですが、新機能が増えたりするので好みで更新してください。
[]更新でErrorが発生した場合の対処方法を追加しました。
◆ Stable Diffusion web UIのインストール方法について
純正のStable Diffusionをコマンド実行するのは実用的に厳しいです。なので、最も人気のあるStable Diffusion web UIをWSLとUbuntuの環境に構築したいと思います。 [20240303]環境構築後にCUDA ToolkitやcuDNNを更新する方法です。本記事のバージョンが合わない場合、以下の記事も参考にしてください。 [20240620]Stable Diffusion web UIを更新する方法です。既に環境を構築済みの人は参考にしてください。...
◆ 学習モデルのダウンロード方法と追加方法について
モデル増えるの早すぎて進化に追いつけません! という事で今回はモデルを探す手順やダウンロードする方法を解説します。 ◆ Stable Diffusion web UIのインストール方法について 学習モデルを探す方法 僕の場合はGoogle検索するかHuggingFaceを適当に散策するかです(雑)。 それを探す方法とは言わない... 今回の説明ではCounterfeitを例にします。以下がHuggingFaceのリンクです。https://hugging...
◆ CUDA ToolkitやcuDNNを更新する方法について
Stable Diffusionで利用するNVIDIA関連のツールを更新する方法です。CUDA ToolkitやcuDNN等、新しい機能を利用するためには更新が必要だったりします。 何となく環境が古くなってきたので関連する部分を更新しました。 対応するバージョンの確認 CUDA ToolkitとcuDNNは正しくバージョンを合わせないと動きません。NVIDIAの公式に対応表があるので、ここから噛み合うバージョンを探します。https://docs.nvidia....
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:[ファイル名]って感じの表示が出ると更新は不可能です。
この場合は以下を試してから先に進んでください。表示が出なければ無視して進んで大丈夫です。
問題を解決するにはファイルの変更を破棄します。この時、ファイルに加えた変更は無効となるので注意してください。
オススメは、該当するファイルを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を再起動しましょう。
動作確認
これで更新作業は終わりです。いつも通りの手順で起動してブラウザからアクセスしましょう。
./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では最強の環境だと思う。
この記事は参考になりましたか?
コメント