画像生成AIの「ComfyUI」をEC2上に構築して使ってみた

画像生成AIの「ComfyUI」をEC2上に構築して使ってみた

Clock Icon2024.12.06

こんにちは、ゲームソリューション部のsoraです。
今回は、画像生成AIの「ComfyUI」をEC2上に構築して使ってみたことについて書いていきます。

前提

  • EC2でG系インスタンスを使用するため、クォータの引き上げは実施済みであること

EC2の起動

まずEC2インスタンスを起動します。
使用するAMIは、Deep Learning OSS Nvidia Driver AMI GPU PyTorch 2.3.1 (Amazon Linux 2)です。
インスタンスタイプはg6.xlarge、EBSは45GiBにします。
処理は重くなさそうだったため、もう少し下のスペックでも十分かもしれません。

ComfyUIのインストール

以下リポジトリからComfyUIをインストールします。
https://github.com/comfyanonymous/ComfyUI

Python 3.12が必要になりますが、デフォルトで入っているPythonが3.12.7だったため、そのまま使用しています。

$ git clone https://github.com/comfyanonymous/ComfyUI.git
$ cd ComfyUI
$ python -V
# Python 3.12.7 ⇒Python 3.12なためOk

$ pip install -r requirements.txt

インストールできて起動自体はできますが、モデルがなく画像生成ができないため、モデルをインストールして配置します。
(モデルによりライセンスが異なるため、利用時は注意して利用してください)

今回、私は以下を使用しました。
モデルだけじゃなくVAEも使用するため、インストールしておきます。
https://civitai.com/models/79083?modelVersionId=107812

次にインストールしたモデルとVAEを以下に配置します。
今回は使用しませんがLoRAなどを使用する場合は、models配下にフォルダがあるためそこに配置します。

# モデルの配置場所
$ pwd
/home/ec2-user/ComfyUI/models/checkpoints

# VAEの配置場所
$ pwd
/home/ec2-user/ComfyUI/models/vae

準備ができてたため起動します。

python main.py --listen

起動後にhttp://{パブリックIPアドレス}:8188でアクセスすると画面が表示されました。
色々設定できそうで楽しそうな画面ですね。
sr-comfyui-first-01

画像生成

起動ができたため画像生成をしてみるのですが、そのままの設定だときれいな画像ができなかったため少し修正します。
ワークフローの何もないところでダブルクリックをして、Load VAEを追加します。
追加後、Load CheckpointからVAE Decodeへの線を削除して、Load VAEからVAE Decodeを線をつなげます。

これで設定が完了したので、下のQueueボタンを押すと画像生成されます。
sr-comfyui-first-02

生成された画像は画面上からダウンロードも可能です。
sr-comfyui-first-03

サーバー上では以下に画像が配置されています。

$ pwd
/home/ec2-user/ComfyUI/output
$ ls
ComfyUI_00001_.png  ComfyUI_00008_.png  ComfyUI_00015_.png  ComfyUI_00022_.png  ComfyUI_00029_.png
ComfyUI_00002_.png  ComfyUI_00009_.png  ComfyUI_00016_.png  ComfyUI_00023_.png  ComfyUI_00030_.png
ComfyUI_00003_.png  ComfyUI_00010_.png  ComfyUI_00017_.png  ComfyUI_00024_.png  ComfyUI_00031_.png
ComfyUI_00004_.png  ComfyUI_00011_.png  ComfyUI_00018_.png  ComfyUI_00025_.png  ComfyUI_00032_.png
ComfyUI_00005_.png  ComfyUI_00012_.png  ComfyUI_00019_.png  ComfyUI_00026_.png  ComfyUI_00033_.png
ComfyUI_00006_.png  ComfyUI_00013_.png  ComfyUI_00020_.png  ComfyUI_00027_.png  ComfyUI_00034_.png
ComfyUI_00007_.png  ComfyUI_00014_.png  ComfyUI_00021_.png  ComfyUI_00028_.png  _output_images_will_be_put_here

また画像の履歴を見ることができたり、プラグインの追加など、試せていませんが他にも色々な機能があります。
sr-comfyui-first-04

作成したものはワークフローとして保存することも可能です。
Ctrl+Sで直感的に保存できました。
sr-comfyui-first-05

参考

https://note.com/zztakuya/n/n1cca33e9f270#a561c611-9aea-4b82-8ec2-0fda4b670845
⇒KSamplerにあるパラメータごとの意味が書いてあってわかりやすかったです。

最後に

今回は、画像生成AIの「ComfyUI」をEC2上に構築して使ってみたことを記事にしました。
どなたかの参考になると幸いです。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.