at backyard

Color my life with the chaos of trouble.

SDXL TurboをmacOS上のComfyUIで動かす方法

Stable Diffusionの開発元として知られているStability AIが最近発表した、わずか1ステップでの画像生成を可能とするSDXL Turboをmac上のComfyUIで動かしてみたので、その時のセットアップ方法を備忘録として残しておく。

ja.stability.ai

セットアップ手順(Minicondaやpytorchなど)

基本的に ComfyUIのREADMEに記載されているmacのセットアップ手順を見れば問題なくセットアップはできる

github.com

ComfyUIのドキュメントを見ると、mac上にconda環境を導入してそちらでセットアップするようだったので、それに習うことにした

なお、私の環境はM2のMacBook Airで試している。

# conda導入
curl -O https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-arm64.sh
sh Miniconda3-latest-MacOSX-arm64.sh

# conda経由でpytorchなどをインストール
conda install pytorch torchvision torchaudio -c pytorch-nightly

# pipでインストール
# このときに別途仮想環境を構築しても良いかもしれない(conda create ~)
pip3 install --pre torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/nightly/cpu

ここまで実行したら、以下のPythonスクリプトを実行してみる

# 仮にファイル名をmain.pyとする

import torch
if torch.backends.mps.is_available():
    mps_device = torch.device("mps")
    x = torch.ones(1, device=mps_device)
    print (x)
else:
    print ("MPS device not found.")

このスクリプトpython main.py で実行して、実行結果が以下となれば導入に成功している

tensor([1.], device='mps:0')

セットアップ手順(ComfyUI導入)

次にComfyUIをダウンロードする。

github.com

私はGitHubからクローンしてダウンロードした。ComfyUIのルートに移動したところから、実行したコマンドのログを記載する。

pip install -r requirements.txt
python main.py --force-fp16

これでComfyUIが起動するので、ブラウザからComfyUIにアクセスする。

※たぶん、ComfhUI環境を既に作成している方の場合、依存関係のアップグレードが必要になるかと思われる。

次にComfyUIの以下のドキュメントから画像ファイルをダウンロードする。

comfyanonymous.github.io

この画像ファイル内に、workflowの設定が格納されているため、これをComfyUIの画面上にドラッグ・アンド・ドロップで移動させれば、SDXL Turbo用の設定は完了する。

また、上のドキュメント内にSDXL Turbo用のモデルのリンク(Hugging Face)もあるので、そこからモデルをダウンロードして所定の位置に格納してから生成処理をすることをお忘れなく。