しばらく画像生成AIに触っていなかったのですが、最近になってStable Diffusionの最新版「XL」が公開されたようなので、現在の状況を把握するためにも試してみたいと思います。
ComfyUIをインストールする
Stable Diffusion XL(SDXL)を動かすには12GB以上のVRAM容量が必要らしいのですが、筆者のPCはVRAMが8GBしか無いため、今回は少ない容量で実行できると噂の「ComfyUI」を使用してみたいと思います。
以下のURLから「Download Link with stable pytorch 2.0 cu118 + xformers」をクリックして圧縮ファイルをダウンロードします。
https://github.com/comfyanonymous/ComfyUI/releases/tag/latest
7z形式で圧縮されているので、別途解凍ソフトを使用して解凍しましょう。筆者はあらかじめPCにインストールしてあった「CubeICE」を使用しました。
また、以下のURLにSDXL用のComfyUIワークフローも配布されているのでダウンロードしておきましょう
https://comfyanonymous.github.io/ComfyUI_examples/sdxl/
(1枚目の画像を保存すればOKです。画像データの中にワークフローの情報が組み込まれています)
SDXLのモデルファイルをダウンロードする
SDXLを使用するには「base」モデルと「refiner」の2種類のモデルが必要なようです(baseだけでも動くようですがrefinerも使うと品質が上がるらしい)
また、SDXL用のVAEも配布されているようなので、以下のリンクから3種類のファイルをダウンロードします。
■baseモデル:「sd_xl_base_1.0.safetensors」
https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/tree/main
■refinerモデル:「sd_xl_refiner_1.0.safetensors」
https://huggingface.co/stabilityai/stable-diffusion-xl-refiner-1.0/tree/main
■VAE:「sdxl_vae.safetensors」
https://huggingface.co/stabilityai/sdxl-vae/tree/main
ファイルのダウンロードが完了したら、baseモデルとrefinerモデルの2種類を、先ほど解凍した「ComfyUI」フォルダの「ComfyUI/models/checkpoints」フォルダに移動させます。
VAEファイルは「ComfyUI/models/vae」フォルダに移動させます。
ComfyUIを起動する
ComfyUIフォルダのルートディレクトリにある「run_nvidia_gpu.bat」をダブルクリックして実行します。
するとブラウザ上にComfyUIの画面が表示されるので、SDXLを使うためのワークフローを読み込みます。先ほどダウンロードしておいたワークフロー画像を画面上にドラッグ&ドロップすればOKです。
この状態ではSDXL用のVAEは適用されていないので、画面上で右クリックして「Add Node」→「loaders」→「Load VAE」を選択して新たに追加されたノードの「VAE」から「VAE Decoder」ノードの「vae」にノードを引っ張って繋ぎます。
あとは「Text Prompts」ノードにプロンプトを記入するなどしてから、画面右下の「Queue Prompt」をクリックすれば画像が生成されます。
生成された画像は「ComfyUI/output」フォルダに保存されます。保存された画像をブラウザのComfyUI画面にドラッグ&ドロップすると、画像生成時のワークフローを読み込む事ができます。