メインコンテンツへスキップ
見出し画像

ComfyUIを手動インストールしてSDXLモデルを使用する手順(Windows)

    Last update 08-12-2023



    ▼ 本記事について

    概要

     ComfyUIはStable Diffusionモデルから画像を生成する、Webブラウザベースのツールです。最近ではSDXLモデルでの生成速度の早さ、消費VRAM量の少なさ(1304x768の生成時で6GB程度)から注目を浴びています。

     本記事では手動でインストールを行い、SDXLモデルで画像生成を行う手順を説明します。敢えて手動である理由は、gitで管理を行いたいからです。

    動作環境(推定)

     Geforce RTX 2xxx以降(VRAM 8GB以上)、Python 3.10、CUDA Toolkit 11.8、Git、なるべく高速なSSD、なるべく高速なインターネット回線、このあたりがそろっていれば大丈夫だと思います。

    ComfyUIの公式リポジトリ

    https://github.com/comfyanonymous/ComfyUI

    通常の利用方法(ポータブル版)

     公式リポジトリにアクセスして、「Installing」→「Windows」にある「Direct link to download」からアーカイブファイルをダウンロードしてください。これを適当なディレクトリに解凍(7z形式に対応したツールが必要)して、「run_nvidia_gpu.bat」を実行してください。アップデートの手順も備わっていますので、通常はこの方法が良いでしょう。



    ▼ インストール

     基本的には、公式リポジトリにある「Manual Install (Windows, Linux)」の手順に従います。なお、他のリポジトリの仮想環境に相乗りする方法もあるようですが、これは行わずにComfyUI専用の仮想環境を作成します。

    ダウンロードと仮想環境の作成

     作業ディレクトリを「C:\aiwork」としていますので、適宜読み替えてください。コマンド プロンプトを開いて、ディレクトリ「C:\aiwork\ComfyUI」が無い状態で下記のコマンドを順に実行してください。

    cd \aiwork
    
    git clone https://github.com/comfyanonymous/ComfyUI
    cd ComfyUI
    
    python -m venv venv
    venv\Scripts\activate
    (ここで行頭に (venv) が付いていることを確認する)
    
    python -m pip install --upgrade pip

    PyTorchとxFormersのインストール

     下記のコマンドを実行してください。パッケージのダウンロード等でしばらくかかります。

    pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu118 xformers

     実行終了時に「Successfully installed …  torch-2.0.1+cu118 …」と表示されることを確認してください。cu118のような記述が無い場合はCPU版のtorchがインストールされているため、GPUを使うことができません。

    必要なパッケージのインストール

     下記のコマンドを実行してください。少しだけ時間がかかるかもしれません。

    pip install -r requirements.txt

    モデルと設定ファイルのダウンロード

     本記事では例として、Linaqruf氏のAnimagine XLを使用することにします。他のモデルでも構いませんが、ワークフロー(拡張子がjson)またはComfyUIで出力された画像(拡張子がpng)が必要です。

     まずは https://huggingface.co/Linaqruf/animagine-xl へアクセスしてください。「Files and versions」→「animagine-xl.safetensors」の順でダウンロードを行い、「C:\aiwork\ComfyUI\models\checkpoints」へ移動してください。また、「animagine_xl_workflow.json」もダウンロードしてください。こちらは後で使用します。



    ▼ 実行(動作確認)

    起動

     まずは起動して動作を確認してみます。先ほどの手順から続けて、下記のコマンドを実行してください。

    python main.py

     起動には時間はかからず、下記の表示で止まります。Webブラウザで指示されたURLへアクセスしてください。

    Total VRAM 12287 MB, total RAM 32691 MB
    xformers version: 0.0.20
    Set vram state to: NORMAL_VRAM
    Device: cuda:0 NVIDIA GeForce RTX 3060 : cudaMallocAsync
    Using xformers cross attention
    Starting server
    
    To see the GUI go to: http://127.0.0.1:8188

     アクセスすると、下記の画面が表示されました。低解像度では少し扱いづらいかもしれません。各ボックスや全体は、ドラッグ操作で動かすことができます。

    画像
    初回の起動画面

    ワークフローの読み込み

     前の手順でダウンロードした「animagine_xl_workflow.json」を読み込みます。「Load」をクリックしてファイルを選択するか、ファイルをUIの画面に直接ドラッグ&ドロップしてください。

    画像
    ワークフローが読み込まれた

    推論(画像の生成)

     推論を実行するため、「Queue Prompt」をクリックしてください。進捗が視覚的に示され、少し待つと生成された画像が表示されます。

    画像
    画像が生成された

     画像の保存先は「C:\aiwork\ComfyUI\output」ですので、確認してください。

    画像
    生成した画像が保存された

    画像からワークフローを読み込んで生成する

     ComfyUIで生成された画像には、ワークフローを含む設定が記録されています。動作確認の続きとして、これを読み込んでみることにします。

     まずは「Clear」「OK」の順にクリックして、ワークフローを消してください。この手順は視覚的分かりやすくするために行うのみですので、今後は必要ありません。

     次に「Load」をクリックして画像を選択するか、画像をUIの画面に直接ドラッグ&ドロップしてください。ワークフローが構築され、プロンプトや「seed」等の設定まで再現されます。

     それでは改めて「Queue Prompt」をクリックしてください。今回は異なる画像が生成されました。これは「Ksampler」の「control_after_generate」が「randomize」になっていて、seedが変更されるためです。左矢印を何度かクリックして「fixed」にしておくと、seedが変わらずに同じ画像が生成されます。

    終了する

     コマンド プロンプトのウインドウで「Ctrl + C」を押すか、おもむろにコマンド プロンプトの画面を閉じてください。作業のためコマンド プロンプトの画面を残した場合は必要に応じて、下記のコマンドを実行して仮想環境から抜けてください。行頭の「(venv)」の表示が消えます。

    deactivate



    ▼ 起動等を簡単にする

     ComfyUIの起動が若干の手間なので、省力化することにします。また、更新(アップデート)の手順も用意しておきます。

    起動用バッチファイルの作成

     新規ファイル「C:\aiwork\comfy.bat」を下記の内容で作成してください。

    @echo off
    cd \aiwork\ComfyUI
    call venv\Scripts\activate.bat
    python main.py
    cd ..
    deactivate

     これ以降にComfyUIを起動したい場合は、コマンド プロンプトを開いて、下記のコマンドを順に実行してください。

    cd \aiwork
    comfy

     終了したい場合は、コマンド プロンプトのウインドウで「Ctrl + C」を押して、「バッチ ジョブを終了しますか (Y/N)」で「N」と答えるか、おもむろにウインドウを閉じてください。

     なお、このバッチファイルは「deactivate」が最後に書いてあり、これが実行されるとバッチファイルの処理が終了します(後ろに何を書いても無効)。続けて処理を行いたい方は、deactivate.batをcallするように書き換える等、工夫してください。

    更新用バッチファイルの作成

     新規ファイル「C:\aiwork\gpc.bat」を下記の内容で作成してください。ファイル名はgpcでなくても構いません。

    @echo off
    cd \aiwork\ComfyUI
    git pull
    cd ..

     このバッチファイルを実行すると、最新版への更新が行われるか、更新が無ければ下記の表示が出ます。

    Already up to date.



    ▼ メモ

    アンインストールの手順

     もし、必要なファイルがあれば移動してください。その後、実行を終了した状態で「ComfyUI」のディレクトリを削除してください。

    補足

     本記事では最小限の手順しか行っていません。機能を増やすためにはワークフローを入手するか、自分で作る必要があります。



    ▼ その他

     私が書いた他の記事は、メニューよりたどってください。

     noteのアカウントはメインの@Mayu_Hiraizumiに紐付けていますが、記事に関することはサブアカウントの@riddi0908までお願いします。

     
     
    5060Ti (16GB) と 3060 (12GB) を所持。記載が無い限り文章は手書きです。記事に関することは X の riddi0908 までお願いします。質問箱は気まぐれにお返事します。

    あなたへのおすすめ