しょうがないなー任せて!
今回は、MacまたはLinuxでStable Dffusionのアップデート/バージョン指定を簡単行う方法について解説します!
WindowsやGoogle Colabをお使いの方は以下のURLを参考にしてください。
現在のバージョンをメモする
あとで前のバージョンに戻したくなった時、そもそも前のバージョンがわからなければ二度と戻すことができません。そうならないために今のStable Diffusionのバージョンをメモしておきましょう。
いつもの方法でStable Difusionを実行させましょう。通常は、webui-macos-env.sh(Linuxだとwebui.sh)を実行すると思います。
Stable Difusion Web UI(AUTOMATIC1111)のインストール方法によってそれぞれ色んな実行方法があると思うで、いつも通りで大丈夫です。
いずれにせよ、このようにターミナルに現在のバージョンv1.7.0などと表示されたらOKです。
このバージョンをどこでも良いので記録しておきます。
アップデート用の実行ファイルを作って実行するだけ
今度のアップデートをもっと楽にするために、update.shファイルを作りましょう。
これを実行させるだけでアップデートやバージョン指定が可能になります。
Stable Diffusion Web UIのファイル一覧でで、以下のようにupdate.shを新規作成します。
update.sh中身は以下のコードをまるまるコピペしてください。
#!/bin/bash
# バージョン指定がある場合、以下に「SD_VERSION="v1.3.0"」などと入力してください
SD_VERSION=
# Git リポジトリのディレクトリに移動
cd "$(dirname "$0")"
# update.sh が .git/info/exclude になければ追加
if ! grep -Fxq "update.sh" .git/info/exclude; then
echo "update.sh" >> .git/info/exclude
fi
# master ブランチにチェックアウト
git checkout master
# 最新の変更をpullし、エラーがあればリセットして再度pull
git pull 2>/dev/null
if [ $? -ne 0 ]; then
git reset --hard
git pull
fi
# バージョン指定がある場合、そのバージョンにチェックアウト
if [ -n "$SD_VERSION" ]; then
git checkout $SD_VERSION
if [ $? -ne 0 ]; then
echo "Invalid Version"
fi
fi
# スクリプトの完了を待つ
read -p "Press any key to continue... " -n 1 -r
echo
あとは、update.shをターミナルから実行しましょう。
最後にいつもの方法でStable Diffusionを実行します。
バージョンもv1.7.0からv1.9.0に切り替わっていますね!
バージョン指定もupdate.shから指定可能
update.shの4行目を以下のように編集して、update.sh実行するだけです。
# バージョン指定がある場合、以下に「SD_VERSION="v1.3.0"」などと入力してください
SD_VERSION=v1.7.0
リリースされているバージョンはこちらのURLからご確認いただけます。
また、最新のバージョンに戻したい場合は以下のようにSD_VERSIONに何もいれずにupdate.sh実行するだけです。
# バージョン指定がある場合、以下に「SD_VERSION="v1.3.0"」などと入力してください
SD_VERSION=
以上!簡単ですね!
世界一簡単なStable Diffusionのアップデートの方法がいいな〜