こんにちは!悠です!
「Stable Diffusion WebUI」は現在も定期的にアップデートを繰り返しているため、大型アプデ後はそれまで使えていた拡張機能等が使えなくなることがあります。
そこで今回は、Google Colaboratory版の「AUTOMATIC1111」を任意のバージョンにダウングレードする方法についてまとめていきます。
なお、「Stable Diffusion WebUI(AUTOMATIC1111)」をGoogle Colaboratoryで使う方法に関しては下記の記事でまとめていますので参考にしてください。



該当記事をご覧の上、「maintained by Akaibu」のノートブックを使えるという前提で説明していきます!
Colab版AUTOMATIC1111をダウングレードする方法
まず下記GitHubのページ(AUTOMATIC1111のコミットのページ)にアクセスします。
AUTOMATIC1111の過去のバージョンが投稿されているので、好きなものを選択し、右端の<>マークをクリックします。今回は例として「a9fed7c」を選択します。
緑色のCodeボタンを押し、Download ZIPをクリックしてPCに保存しましょう。
ダウンロードしたZIPファイルを解凍した後、Google Driveを開きマイドライブ内の任意の場所に保存します。
Google ColaboratoryでAUTOMATIC1111のノートブックを開き、Google Driveに接続します。
SD1.5と書かれた部分の下にセルを作成し、下記のコードをコピペしましょう。(参考記事)
#旧versionのWebUIを複製 import shutil folder_1 = '/content/drive/MyDrive/StableDiffusion/1111oldversion/stable-diffusion-webui-a9fed7c364061ae6efb37f797b6b522cb3cf7aa2' folder_2 = '/content/stable-diffusion-webui' shutil.copytree(folder_1 , folder_2) %cd /content/stable-diffusion-webui #LoRAモデルを格納するフォルダを作成 !mkdir -p /content/stable-diffusion-webui/models/Lora #Hypernetworkを格納するフォルダを作成 !mkdir -p /content/stable-diffusion-webui/models/hypernetworks
folder_1の部分は、drive上に先ほど保存した旧バージョンのAUTOMATIC1111のパスです。Colabの左側の「ファイル」→「drive」→「MyDrive」から確認することができます。
後は通常通り上から実行ボタンをクリックしていくだけでOKです。
なお、当然ですが最新版のAUTOMATIC1111のリポジトリを複製しないように(下記のセルの実行ボタンを押さないように)しましょう。
!git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui %cd stable-diffusion-webui
これで旧バージョンのWebUIが起動します。
アイキャッチ画像のプロンプト
- Model: meinamix_meinaV8
- embeddings: EasyNegative, bad-hands-5
- Clip skip: 2
- ENSD: 31337
- Steps: 20
- Sampler: DPM++ 2M Karras
- CFG scale: 7
- Denoising strength: 0.4
- Hires upscale: 2
- Hires steps: 20
- Hires upscaler: R-ESRGAN_4x Anime6B
masterpiece, best quality, absurdres, highres, 1girl, upper body, solo, genshin impact, red hair, silver hair, ((two-tone hair)), (multicolored hair), very long hair, (bright red eyes), extremely detailed, large breasts, ((blood)), ((blood on face)), ((skull)), mourning dress, (grim reaper), ((Deathscythe)), ((scythe)), gesugao, corpse, dark coat, (evil smile) , after the war, apocalypse, smeared lipstick, dynamic lighting, bloody sky, (sunset)
(worst quality, low quality:1.4), monochrome, zombie, nude, bad-hands-5, EasyNegative, bad anatomy, logo, hood,hat
まとめ
以上が、Google Colaboratory版の「AUTOMATIC1111」を任意のバージョンにダウングレードする方法でした。
大型アップデートの後はバグが起きやすいので、お気に入りの拡張機能が使えなくなってしまったり、そもそもWebUI自体が起動しないときにはぜひ試してみてくださいね!
では、ここまで読んでいただきありがとうございました。
コメント
こちらのサイトの説明のおかげで初心者の自分も大変助かっております。
ただ今回、上記手順を試してみたところ、最後に「!COMMANDLINE_ARGS=~」を実行するところで、
python3: can’t open file ‘/content/launch.py’: [Errno 2] No such file or directory
と出てしまいました。
こちら、どういった対応が必要かご教授いただければ幸いです。
※補足
ちなみに
!git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
%cd stable-diffusion-webui
↑で実行した場合は問題なく起動できています。
コメントありがとうございます!
おそらくパスを間違えているのではないかと思います。
driveに保存したフォルダのパス、またはfolder_2 = ‘/content/stable-diffusion-webui’ を間違えていたりはしませんでしょうか?
あと旧バージョンのwebUIを複製した後、誤って最新版のwebUIまで複製してはいませんでしょうか?
返信ありがとうございます。
ただ、何度も見返し同じように記入してると思うのですがやはりうまくいかず…
—
#旧versionのWebUIを複製
import shutil
folder_1 = ‘/content/drive/MyDrive/StableDiffusion/1111oldversion/stable-diffusion-webui-a9fed7c364061ae6efb37f797b6b522cb3cf7aa2’
folder_2 = ‘/content/stable-diffusion-webui’
shutil.copytree(folder_1 , folder_2)
ーーー
実際に記入してるものをそのままコピペしてみたのですが、何かおかしいところありますでしょうか…
※ちなみにfolder_1は本ページに記載していただいてる例と全く同じ内容ですが、自分もいったんそれに合わせてフォルダ名やバージョンを持ってきたためです。
上記にコピペしたものも、(内容は同じですが)念のためdriveからパスをコピーしたものを張り付けています。
=====
>誤って最新版のwebUIまで複製してはいませんでしょうか?
こちらの方ですが、
!git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
%cd stable-diffusion-webui
↑を“実行しない(ボタンを押さない)のが正解”ということですよね?
=====
ちなみにこちらのページに貼っていただいてる画像だと、「旧versionのWebUIを複製」を実行するセルの下に
□→ ’/content/stable-diffusion-webui’
と表示されていますが、自分の環境では実行終了後にもその表記は出てきません。
こちらも関係ありますでしょうか…?
=====
長々と申し訳ありません。
最新バージョンだとなんだか不安定で、安定してるという旧バージョンを試してみようと軽い気持ちでやってみたのですが、解決難しそうであれば諦めて最新版でできる範囲で楽しもうかなと思います!
解決法がわかりました。
COMMANDLINE_ARGSの上に新しくセルを作成し、
下記のコマンドを入力して、COMMANDLINE_ARGSのセルより先に実行してください。
%cd /content/stable-diffusion-webui
旧versionのwebuiを複製するコマンドの方に、1文抜けていたのに気づきました。本当に質問していただきありがとうございます!記事内の方も訂正しておきました!
無事、起動できました!
最後まで親切に対応いただき感謝しております。
ありがとうございました!
7月に入ってから、他の記事でご紹介していただいている、以前のバージョンで動かしていたコードでまた画像生成したいと思ったのですが、エラーを出すようになりました。
そこでバージョンを下げればよいのではと思いこの記事にたどり着きました。
#旧versionのWebUIを複製
import shutil
folder_1 = ‘/content/drive/MyDrive/StableDiffusion/down/stable-diffusion-webui-dbc88c96450793b08b520f3b86cd46d6aeaaae52’
folder_2 = ‘/content/stable-diffusion-webui’
shutil.copytree(folder_1 , folder_2)
%cd /content/stable-diffusion-webui
#LoRAモデルを格納するフォルダを作成
!mkdir -p /content/stable-diffusion-webui/models/Lora
#Hypernetworkを格納するフォルダを作成
!mkdir -p /content/stable-diffusion-webui/models/hypernetworks
しかし、↑このコードを実行した際に↓のエラーが出てくるため対処方法を教えていただきたいです。
また、そもそもダウングレードという手段自体が正しいのかもわからない為教えていただければと思います。
他力本願で大変申し訳ありません。
FileExistsErr申or Traceback (most recent call last)
in ()
4 folder_1 = ‘/content/drive/MyDrive/StableDiffusion/down/stable-diffusion-webui-dbc88c96450793b08b520f3b86cd46d6aeaaae52’
5 folder_2 = ‘/content/stable-diffusion-webui’
—-> 6 shutil.copytree(folder_1 , folder_2)
7
8 get_ipython().run_line_magic(‘cd’, ‘/content/stable-diffusion-webui’)
2 frames
/usr/lib/python3.10/shutil.py in copytree(src, dst, symlinks, ignore, copy_function, ignore_dangling_symlinks, dirs_exist_ok)
557 with os.scandir(src) as itr:
558 entries = list(itr)
–> 559 return _copytree(entries=entries, src=src, dst=dst, symlinks=symlinks,
560 ignore=ignore, copy_function=copy_function,
561 ignore_dangling_symlinks=ignore_dangling_symlinks,
/usr/lib/python3.10/shutil.py in _copytree(entries, src, dst, symlinks, ignore, copy_function, ignore_dangling_symlinks, dirs_exist_ok)
455 ignored_names = set()
456
–> 457 os.makedirs(dst, exist_ok=dirs_exist_ok)
458 errors = []
459 use_srcentry = copy_function is copy2 or copy_function is copy
/usr/lib/python3.10/os.py in makedirs(name, mode, exist_ok)
223 return
224 try:
–> 225 mkdir(name, mode)
226 except OSError:
227 # Cannot rely on checking for EEXIST, since the operating system
FileExistsError: [Errno 17] File exists: ‘/content/stable-diffusion-webui’
以前のコードでは一番下のセルを実行した際に以下のようにエラーが出るため、画像生成が起動できなくなっています。
╭───────────────────── Traceback (most recent call last) ──────────────────────╮
│ /content/stable-diffusion-webui/launch.py:38 in │
│ │
│ 35 │
│ 36 │
│ 37 if __name__ == “__main__”: │
│ ❱ 38 │ main() │
│ 39 │
│ │
│ /content/stable-diffusion-webui/launch.py:34 in main │
│ │
│ 31 │ if args.test_server: │
│ 32 │ │ configure_for_tests() │
│ 33 │ │
│ ❱ 34 │ start() │
│ 35 │
│ 36 │
│ 37 if __name__ == “__main__”: │
│ │
│ /content/stable-diffusion-webui/modules/launch_utils.py:340 in start │
│ │
│ 337 │
│ 338 def start(): │
│ 339 │ print(f”Launching {‘API server’ if ‘–nowebui’ in sys.argv else ‘W │
│ ❱ 340 │ import webui │
│ 341 │ if ‘–nowebui’ in sys.argv: │
│ 342 │ │ webui.api_only() │
│ 343 │ else: │
│ │
│ /content/stable-diffusion-webui/webui.py:42 in │
│ │
│ 39 startup_timer.record(“import ldm”) │
│ 40 │
│ 41 from modules import extra_networks │
│ ❱ 42 from modules.call_queue import wrap_gradio_gpu_call, wrap_queued_call, │
│ 43 │
│ 44 # Truncate version number of nightly/local build of PyTorch to not cau │
│ 45 if “.dev” in torch.__version__ or “+git” in torch.__version__: │
│ │
│ /content/stable-diffusion-webui/modules/call_queue.py:5 in │
│ │
│ 2 import threading │
│ 3 import time │
│ 4 │
│ ❱ 5 from modules import shared, progress, errors │
│ 6 │
│ 7 queue_lock = threading.Lock() │
│ 8 │
│ │
│ /content/stable-diffusion-webui/modules/shared.py:18 in │
│ │
│ 15 import modules.devices as devices │
│ 16 from modules import localization, script_loading, errors, ui_component │
│ 17 from modules.paths_internal import models_path, script_path, data_path │
│ ❱ 18 from ldm.models.diffusion.ddpm import LatentDiffusion │
│ 19 from typing import Optional │
│ 20 │
│ 21 demo = None │
│ │
│ /content/stable-diffusion-webui/repositories/stable-diffusion-stability-ai/l │
│ dm/models/diffusion/ddpm.py:20 in │
│ │
│ 17 import itertools │
│ 18 from tqdm import tqdm │
│ 19 from torchvision.utils import make_grid │
│ ❱ 20 from pytorch_lightning.utilities.distributed import rank_zero_only │
│ 21 from omegaconf import ListConfig │
│ 22 │
│ 23 from ldm.util import log_txt_as_img, exists, default, ismap, isimage, │
╰──────────────────────────────────────────────────────────────────────────────╯
ModuleNotFoundError: No module named ‘pytorch_lightning.utilities.distributed’
コメントありがとうございます!
ModuleNotFoundError: No module named ‘pytorch_lightning.utilities.distributed’に関しては、下の記事のコメント欄で教えていただいた方法が役に立つと思うのですが、いかがでしょうか?
https://yuuyuublog.org/webui_ver1-4-0/
colabでのwebuiのダウングレードに関しても、本当はgit checkoutコマンド等で簡単にできそうな気もしているんですが、私がcolab有料版に加入できていないため試せないんですよね…
この記事のやり方でエラーが出る場合は、一番ありがちなのはパスの間違いなんですが、そういったところを誤っていたりはしませんでしょうか?