Stable Diffusion WebUI。半年ぶりに使おうとしたら、起動できなかった話。再インストールを試す。(24年12月19日現在)
はじめに。
2024年7月頃から「StableDiffusion」+「Google colaboratory」を用いた画像生成をしておりましたが、8月初旬から個人的な事情により、使わなくなりました。
久しぶりに起動しようとした所、所々でエラーが頻発し、起動が上手くいきませんでした。
今回は、再インストールの手順をまとめます。
現在:2024/12/19
原因の推測
私が初めてStable Diffusionを触り始めた頃も、Colabでアップデート等が入ったり、ダウンロードしたStable Diffusionのバージョンに問題がありました。
今回も、同様の原因だと思われます。
そこで、私は再インストールを試みました。
データに未練がなかった(保存したいデータはローカル保存済み)ので、ディレクトリ以下すべて削除しました。
画像生成は試していませんが、正常に起動するまでは、問題なくできました。
インストール手順
「.ipynb」ファイルの内容を記載します。
前提条件(当方の環境)
GoogleDriveの課金済み(100GB)まで使える状態。
GoogleColab Proの課金済み。
ディレクトリ関連は、すべて作成済みという前提で進めます。
2024年12月19日現在の状況です
(1) ディレクトリ作成
GoogleDriveの「MyDrive」直下に、.ipynbファイルを作成し、保存する。
ディレクトリは「MyDrive/SD」を作成。
(2) GoogleDriveのマウント
## GoogleDrive Use
from google.colab import drive
drive.mount('/content/drive')
(3) 「stable-diffusion-webui-forge.git」の入手
以下、「InitCount = 0」を「InitCount = 1」を手動で書き換えて使ってください。
私のコードですが、これがOSS界隈的に邪道なのかは、分かりません。
私自身が、割と古いマイコンエンジニアで、こういうWEB系・アプリケーション系ベースの環境構築の常識を知りません。
InitCount = 0
## Init SDWF
if InitCount > 0 :
%cd /content/drive/MyDrive/SD
!git clone https://github.com/lllyasviel/stable-diffusion-webui-forge.git
print('Download SDWF Data.')
else:
print('Already exit SDWF.')
※ IF構文が不要という方は、以下のみコピーしてください。
%cd /content/drive/MyDrive/SD
!git clone https://github.com/lllyasviel/stable-diffusion-webui-forge.git
あと、初回起動の場合(4)を試す前に、(5)の実行を先に試してください。
(4) 使用するモデルデータ等を、適切な位置に配置
各人、DLしたモデルが違いますので、自分が書いたおおよそのコードのみ
あと、注意事項なのですが、以下のコードは、以下(5)で1度でも実行した後に、実行してください。初回起動時は、ディレクトリが万全ではありません。
理由なのですが、GitからCloneしただけだと、Models以下Controlnetなどのディレクトリが存在しません。
## If you have executed (5) at least once, you can use the following code.
## 1度でも、(5)を実行した場合に、以下のコードが使えます。
InitCount = 0
if InitCount > 0 :
## wget Model Data
## %cd /directory
%cd /content/drive/MyDrive/SD/stable-diffusion-webui-forge/~省略~(配置予定Dir)
!wget https://~urlは省略~
print('DownLoad --- Model.')
## Local Downloaded Model
%cd /content/drive/MyDrive/SD/stable-diffusion-webui-forge/~省略~(コピー先Dir)
!cp -pR /content/drive/MyDrive/SD/~省略~(DL済みモデル配置Dir)/* .
print('Copy Model')
else :
print('Already DL or Copy Model.')
(5) Stable Diffusionを実行する
%cd /content/drive/MyDrive/SD/stable-diffusion-webui-forge
!python launch.py --share --enable-insecure-extension-access
(6) 生成してみます。
実行文から、以下のURLが生成されています。
Running on local URL: http:/ーーーー
Running on public URL: https://--------.gradio.live
URLからWEB UIで画像生成しました。

最後に
最後になりますが、個人的な忘備録の意味で残しておきますが、
この情報が、誰かの助けになれば幸いです。
フォローやコメント等、好意的な反応を頂けますと、喜びます。