ComfyUIで「Stable Diffusion 3 medium」を使用する
概要
2024/6/13にStable Diffusion 3 mediumが一般公開されたので使ってみた。
現状、動かす方法が限られており、親切な日本語の解説もネット上に見当たらなかったため、自分が実施した際の手順を記す。
環境
OS : Windows10
CPU : Intel i7-8700
GPU : GeForce 3060RTX(12GB)
Mem : 16GB
事前準備
以下のソフト群はインストール済の前提
- Git/Git LFS
- python(今回は3.10.8を使用)
コマンド類はGit for Windowsに付属するGit Bashを利用して実行する。
以下のアカウントは作成済の前提
https://huggingface.co/
ディスク容量は100GBは必要。
可能ならSSDが良い。(HDDだと読み込みが遅すぎる!!)
1.ComfyUIのインストール
今回はWindowsのポータブルスタンドアローン版を使用。
Installing → Windows → Direct link to download
を選択してダウンロードする。(デカい。解凍前1.4GB、解凍後5.3GB程度)
※7z形式なので適当な回答ソフトを使って解凍すること
展開後、「run_nvidia_gpu.bat」を実行する。
自動的にブラウザが立ち上がるはず。
※立ち上がらない場合はコンソールに表示されたURL(http://127.0.0.1:8188など)からアクセス
2.モデルデータの入手
モデル利用の同意
まずモデル利用の同意が必要
https://huggingface.co/stabilityai/stable-diffusion-3-medium
必要情報を入力してAgreeする。
トークン発行
事前にトークンを発行する必要があるので、
https://huggingface.co/
にアクセス。
右上の自分のアイコン → Setting →Access Tokens → New token
を選択し、適当な名前を入れ、権限は「READ」を選択する。
表示されたトークンを保存しておく
リポジトリのclone
※モデルデータは超巨大
Git Bashにて
cd [作業用フォルダ]
git lfs install
git clone https://[ユーザ名]:[トークン]@huggingface.co/stabilityai/stable-diffusion-3-medium
cd stable-diffusion-3-medium
git lfs pull
※ファイルサイズが巨大なため、かなり長い時間がかかる。
Unpacking objects: 100% (63/63), 278.62 KiB | 260.00 KiB/s, done.
の表示のあと、固まったように見えるが裏でダウンロードが進んでいるので、根気強く待つ。
Encountered 1 file(s) that may not have been copied correctly on Windows:
sd3_medium_incl_clips_t5xxlfp16.safetensors
と出て、何か失敗したようなので、
git lsf pull
を実行するが、相当時間かかる。(数十分から数時間)
※「sd3_medium_incl_clips_t5xxlfp16.safetensors」を削除してからpullした方がよさそう
モデルの配置
stable-diffusion-3-medium/text_encodersのファイルを、ComfyUI/models/clipにコピー。
stable-diffusion-3-medium/*.safetensorsファイルを、ComfyUI/models/checkpointsにコピー
※いくつかファイルがあるが、t5xxlfp8を使えばよさそう。自分の環境ではt5xxlfp16は破損していた・・・
実行
stable-diffusion-3-medium\comfy_example_workflows
に、サンプルファイルがあるのでこれを画面にドラッグアンドドロップする。
とりあえず以下の順で実施。
- sd3_medium_example_workflow_basic.jsonを放り込む。
- 左上「Load Checkpoint」でt5xxlfp8を選択
- あとはデフォルトのままで「Queue Prompt」をクリック
※スペックに応じてWidth,Heightは変更した方がよいかも
※初回は10分以上かかった
コンソールに文字が色々表示され、(結構時間かかって)UI上の右のほう「Output」に画像が表示される。
二度目以後は数十秒で生成可能だった。
作りたい画像を作る
左下の窓のうち関係するもの
Seed → 毎回違う画像を作りたい場合はrandomizeを選択。同じ画像を微調整する場合はfixedを選べばよい
width/height → サイズの調整
CLIP text Encode → テキストを入力