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で画像生成しました。


最後に

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


いいなと思ったら応援しよう!