AIタレント専門の事務所 ~ AIタレントエージェンシーでタレント募集中

コピペでOK!Stable Diffusionのアップデート・ダウングレード方法【Mac/Linux版】

ひよぽん

世界一簡単なStable Diffusionのアップデートの方法がいいな〜

ねこ博士

しょうがないなー任せて!

今回は、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です。
このバージョンをどこでも良いので記録しておきます。

(Mac) Stable Diffusionのアップデート前のバージョン

アップデート用の実行ファイルを作って実行するだけ

今度のアップデートをもっと楽にするために、update.shファイルを作りましょう。
これを実行させるだけでアップデートやバージョン指定が可能になります。

Stable Diffusion Web UIのファイル一覧でで、以下のようにupdate.shを新規作成します。

(Mac) Stable Diffusionのupdate.shの作成画面


update.sh中身は以下のコードをまるまるコピペしてください。

update.bash
#!/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をターミナルから実行しましょう。

(Mac) Stable Diffusionのupdate.shの実行画面

最後にいつもの方法でStable Diffusionを実行します。
バージョンもv1.7.0からv1.9.0に切り替わっていますね!

(Mac) Stable Diffusionのアップデート後のバージョン

バージョン指定もupdate.shから指定可能

update.shの4行目を以下のように編集して、update.sh実行するだけです。

update.bash
# バージョン指定がある場合、以下に「SD_VERSION="v1.3.0"」などと入力してください
SD_VERSION=v1.7.0

リリースされているバージョンこちらのURLからご確認いただけます。

Stable Diffusionのリリース一覧

また、最新のバージョンに戻したい場合は以下のようにSD_VERSIONに何もいれずにupdate.sh実行するだけです。

update.bash
# バージョン指定がある場合、以下に「SD_VERSION="v1.3.0"」などと入力してください
SD_VERSION=

以上!簡単ですね!