ComfyUIはノードベースで使用できるStable DiffusionのUIです。
今回はこのComfyUIをGoogle Colabで使う方法についてご紹介します。
Google Colabは有料版を使用
まずGoogle Colabで画像生成を行う場合は、有料版を使う必要があります。
以前は無料でもStable Diffusionを動かせたのですが、ユーザーが増えたため制限がかかるようになりました。
厳密には無料でもコードの実行はできますが、途中で接続を切られてしまいます。
そのため、Google ColabでWebUIを動かす場合は、基本有料版を使用することになります。
・Google Colabのプラン
https://colab.research.google.com/signup/pricing?hl=ja
Google ColabでComfyUIを使う方法
ComfyUIのインストール
公式のものだとComfyUI_managerがインストールできないので、ComfyUI_managerのノートブックを使用します。
以下のURLからノートブックをダウンロードしてください。右上の矢印ボタンからダウンロードできます。
Google Colabの「ファイル」→「ノートブックを開く」→「アップロード」からダウンロードしたノートブックを開きます。
次にメニューバーの「ランタイム」→「ランタイムのタイプを変更」を開きます。
使用するランタイムを選択します。タイプはpython3、ハードウェアアクセラレータはT4GPUで問題ありません。
A100 GPUを使うとより高速処理が可能ですが、その分コンピューティング ユニットの消費量も大きくなります。
処理やコンピューティングユニットの残量に合わせて調整してください。
保存したら、右上の接続をクリックします。
緑色のチェックマークが出たらコードの実行が可能です。
まず右上のチェック項目を確認します。
それぞれ以下の通りです。
USE_GOOGLE_DRIVE: | Goolge Driveを使用するか |
UPDATE_COMFY_UI: | ComfyUIをアップデートするか |
USE_COMFYUI_MANAGER: | ComfyUI_Managerを使用するか |
INSTALL_CUSTOM_NODES_DEPENDENCIES: | カスタムノードの依存関係をインストールするか |
Google Driveをマウントせずに使用した場合、ランタイム接続が切れるとデータは全て削除されます。
Google Driveの容量にもよりますが、継続的に利用したい方はGoogle Driveの使用をおすすめします。
またComfyUI_Managerは、カスタムノードやモデルなどの管理ができるツールです。
非常に便利なツールなので、こちらも入れておくのをおすすめします。
基本は全てチェックで問題ありませんが、使用しないものがあれば外しておいてください。
チェックを入れたら一番上のコードを実行します。左上のボタンをクリックするだけです。
途中Google Driveへのマウント許可を求められるので、案内に沿って進めてください。
実行ボタンのグルグルが止まったらインストールは完了です。
モデルのダウンロード
2つ目のコードでモデルをダウンロードできます。
予めモデルやLoRAなどのコードが記載されているので、もし使用したいものがあれば、行頭の「#」を削除して実行してください。
行頭に#があるとコメント扱いになるので、その行は処理されません。
自分で指定する場合は、huggingfaceとCivitaiで書き方が異なります。
赤字がモデルのURL、青がパスです。Civitaiはパスの後にファイル名も入力する必要があります。
・huggingface
!wget -c https://huggingface.co/stabilityai/stable-diffusion-xl-refiner-1.0/resolve/main/sd_xl_refiner_1.0.safetensors -P /content/drive/MyDrive/ComfyUI/models/checkpoints/
・Civitai
!wget -c https://civitai.com/api/download/models/95489/ -O /content/drive/MyDrive/ComfyUI/models/checkpoints/anyloraCheckpoint_bakedvaeBlessedFp16.safetensors
パスはLoRAやVAEなどダウンロードするデータに合わせて書き換えてください。
基本「/content/drive/MyDrive/ComfyUI/models」内にデータを置きます。
フォルダアイコンから階層が確認できます。
また速度は遅いですが、ローカルから直接アップロードすることも可能です。
notebook経由だと遅いので、Google Driveをマウントしている場合は、直接アップロードした方が早いです。
アップロード後、更新ボタンを押せばデータが反映されます。
ComfyUIの起動
ComfyUIを起動する場合は、3つ目のコードを実行します。
その下にも起動用のコードがありますが、Run ComfyUI with cloudflared (Recommended Way)が推奨されているので今回はこちらを使用します。
なお、Google Driveをマウントしている場合、最後の行だけ修正が必要です。
また私の環境だと「ModuleNotFoundError~」が表示され起動できなかったので、同じエラーが出る方は以下を追加してから実行してください。
・修正前
!python main.py --dont-print-server
・修正後
!pip3 install --force einops==0.4.1
!pip3 install --force torchsde
!python /content/drive/MyDrive/ComfyUI/main.py --dont-print-server
修正後にコードを実行します。
出力に「~trycloudflare.com」とURLが表示されるので、そちらを開けばComfyUIが表示されます。
・2回目以降の起動
Google driveをマウントしている場合は、マウント後に3つ目のコードを実行すれば起動できます。
ますdriveのアイコンクリックします。
マウント用のコードが追加されるので、実行してください。
最後に3つ目のコードを実行すれば起動できます。
Google driveを使用していない場合は、1つ目のコードから実行してください。
ComfyUIの使い方
URLを開くとこんな画面が表示されます。
Load Checkpointが使用するモデルを指定。
上のCLIP Text Encode(Prompt)に生成したいもの、下に生成したくないものを入力します。
入力後にメニューのQueue Promptを押せば、画像生成が始まります。
workflowの使い方
workflowは何らかの処理を行うため、既にノードが繋がれた状態を指します。
ComfyUIはノードを繋いで使いますが、最初は理解するのが少し難しいので、既に作られたworkflowを取り込んで使った方が簡単です。
公式で基本のworkflowが紹介されています。
例えば「2 Pass Txt2Img (Hires fix) Examples」を使いたい場合は、画像をComfyUIにD&Dすればhires fix用のworkflowが使えます。
もし特定のノードが使えず赤い表示が出た場合は、メニューのManager→Install Missing Custom Nodesを開くと、必要なカスタムノードをインストールできます。
workflowはCivitaiやOpenArtなどにあるので、探してみてください。
https://civitai.com
https://openart.ai/
また別の記事でもComfyUIについて解説しているので、こちらも参考にしてみてください。
ComfyUIを終了する
Google Colabはランタイム接続中にコンピューティングユニットを消費します。
そのため、使用しない時は接続を切った方が節約できます。
ノートブックのメニューバーから「ランタイム」→ランタイムを接続解除して削除」を押すだけです。
画像生成を行わない時は、必ず切るようにしておきましょう。
Google ColabでComfyUIを使う方法まとめ
今回はGoogle ColabでComfyUIを使う方法について解説しました。
Google Colabは連続生成や長時間使用に不向きですが、PCスペック不足などを補いたい場合は便利なサービスです。
実際私がローカルだとスペック不足、Paperspaceだと容量の関係でComfyUIの使用が難しかったため、今回Google Colabを使用しました。
使えないタイミングとかもほぼないので、単発で何らかの処理を行いたい場合は、Google Colabの方がいいかもしれません。
ローカルより導入も簡単なので、興味がある方は使ってみてください。