Google ColabでComfyUIを実行する
ComfyUIはローカルにインストールするだけでなく、クラウドプラットフォーム上でも実行できます。この記事では、便利なクラウドベースの方法であるGoogle Colab上でComfyUIを実行する方法を紹介します。
Google Colabの特徴と利点
Google Colab(Colaboratory)は、Googleが提供する無料のクラウドベースJupyterノートブック環境です。以下のような特徴と利点があります:
-
無料で使用可能:Google Colabは無料のGPUとTPUリソースを提供し、ローカルのハードウェアなしでディープラーニングモデルを実行できます。
-
事前インストール済みの環境:ColabにはTensorFlow、PyTorch、OpenCVなど、多くの一般的な機械学習とデータサイエンスライブラリが事前にインストールされており、環境設定の手間を省くことができます。
-
コラボレーション機能:他のユーザーとノートブックを簡単に共有し、共同編集できるため、チームプロジェクトや教育に最適です。
-
Google Driveとの統合:Google Driveから直接データを読み込み、結果を保存できるため、データ管理が容易です。
-
オンライン実行:デバイスやオペレーティングシステムに制限されることなく、ブラウザだけでコードを実行できます。
-
永続的なストレージ:実行環境は一時的ですが、コードとデータをGoogle Driveに保存して永続的に保存できます。
-
コミュニティサポート:多数のサンプルノートブックとコミュニティサポートが利用可能で、迅速な学習と問題解決が可能です。
ComfyUIユーザーにとって、Google Colabを使用してComfyUIを実行することで、ローカルインストールの複雑さを避けながら、強力なクラウドコンピューティングリソースを活用できます。特に、高性能GPUを持っていないユーザーや、ComfyUIを素早く試してみたい初心者に適しています。
ComfyUIを試してみるだけの場合、Googleは一定量の無料使用を提供しています。長期的なユーザーの場合は、Colab ProまたはPro+への登録をお勧めします。 登録と購読リンク:https://colab.research.google.com/signup
Google ColabでのComfyUIの実行
Google Colabは無料のクラウドベースJupyterノートブック環境で、使用時間に制限はありますが、ComfyUIの実行に非常に適しています。 ComfyUIは公式に対応スクリプトを提供しており、comfyui_colab.ipynbで見つけることができます。
.ipynbファイルはJupyter Notebookのファイル形式です。このファイルを使用して、Google Colab上で様々なタイプのアプリケーションを実行および作成するための仮想環境を構築できます。
.ipynbファイルの編集と修正(オプション)
この部分はオプションです。追加のモデルやプラグインのインストールが不要な場合、この部分は長くなる可能性があります。公式のデフォルト設定で直接開始する場合は、次のセクションにスキップしてください。設定を自分で修正する必要が出てきた場合は、この部分を後で参照することができます。
デフォルトの設定では、公式が提供するスクリプトはより少ないモデルとファイルをダウンロードします。追加のモデルを使用する必要がある場合は、comfyui_colab.ipynb
ファイルを編集できます。.ipynbファイルを編集するには、VSCodeをダウンロードしてインストールすることをお勧めします。
公式のコードは主に以下のステップを提供しています:
-
環境のセットアップ 作業環境とオプションをセットアップします。Google Driveストレージの使用やComfyUIの更新を含みます。この部分は、必要な依存関係とファイルが正しく設定されていることを確認します。
-
モデルとチェックポイントのダウンロード 後続の使用のために必要なモデルとチェックポイントを外部ソースからダウンロードします。ユーザーは必要に応じて特定のモデルをダウンロードすることができます。
-
ComfyUIの実行 この部分は3つのサブセクションに分かれており、ComfyUIにアクセスする異なる方法を提供します:
-
3.1 Cloudflaredの使用 Cloudflaredを通じてトンネルを作成し、外部ユーザーが実行中のComfyUIにアクセスできるようにします。
-
3.2 Localtunnelの使用 Localtunnelを使用して、ComfyUIにアクセスするための外部からアクセス可能なリンクを生成します。
-
3.3 Colab IFrameの使用 Colabノートブック内でiframeを通じてComfyUIインターフェースを表示し、同じ環境で操作を行うのに便利です。
-
環境設定の最初のステップは、通常デフォルトで実行します
-
2番目のステップでは追加のモデルとファイルのダウンロードが必要で、一般的に使用されるモデルのダウンロードを提供します。このステップでは、必要に応じて追加と調整を行う必要があります
-
3番目のステップは、インストールとセットアップが完了した後のComfyUIの実行方法についてです。必要に応じてこれらの方法の1つを選択します
必要に応じてステップ2のモデルファイルを修正する
以下のようにVSCodeでコードを編集用に開きます
下の画像のように、公式ソースがここにヒントを書いていることがわかります
モデル/チェックポイント/VAEまたはカスタムComfyUIノードをダウンロードします(必要なもののコマンドのコメントを解除してください) 異なる部分に対応するモデルが注釈付けされているのが分かります。例えば、以下のセクションのCheckpointsモデルなどです。
- 環境設定の最初のステップは、通常デフォルトで実行します
- 2番目のステップでは追加のモデルとファイルのダウンロードが必要で、一般的に使用されるモデルのダウンロードを提供します。このステップでは、必要に応じて追加と調整を行う必要があります
- 3番目のステップは、インストールとセットアップが完了した後のComfyUIの実行方法についてです。必要に応じてこれらの方法の1つを選択します
必要に応じてステップ2のモデルファイルを修正する
以下のようにVSCodeでコードを編集用に開きます
下の画像のように、公式ソースがここにヒントを書いていることがわかります
モデル/チェックポイント/VAEまたはカスタムComfyUIノードをダウンロードします(必要なもののコマンドのコメントを解除してください)
異なる部分に対応するモデルが注釈付けされているのが分かります。例えば、以下のセクションのCheckpointsモデルなどです。
# チェックポイント
### SDXL
### 以下のワークフロー例をお勧めします: https://comfyanonymous.github.io/ComfyUI_examples/sdxl/
#!wget -c https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensors -P ./models/checkpoints/
#!wget -c https://huggingface.co/stabilityai/stable-diffusion-xl-refiner-1.0/resolve/main/sd_xl_refiner_1.0.safetensors -P ./models/checkpoints/
# SDXL ReVision
#!wget -c https://huggingface.co/comfyanonymous/clip_vision_g/resolve/main/clip_vision_g.safetensors -P ./models/clip_vision/
# SD1.5
!wget -c https://huggingface.co/Comfy-Org/stable-diffusion-v1-5-archive/resolve/main/v1-5-pruned-emaonly-fp16.safetensors -P ./models/checkpoints/
# SD2
#!wget -c https://huggingface.co/stabilityai/stable-diffusion-2-1-base/resolve/main/v2-1_512-ema-pruned.safetensors -P ./models/checkpoints/
#!wget -c https://huggingface.co/stabilityai/stable-diffusion-2-1/resolve/main/v2-1_768-ema-pruned.safetensors -P ./models/checkpoints/
追加のモデルをダウンロードしたい場合は、対応する#!wget
の前にある#
を削除してコメントアウトを解除するだけです。これにより、実際の実行時に対応するモデルが指定されたパスにダウンロードされます。例えば、SDXLモデルをダウンロードしたい場合は、以下のように対応する行のコメントを解除します:
# SD1.5
!wget -c https://huggingface.co/Comfy-Org/stable-diffusion-v1-5-archive/resolve/main/v1-5-pruned-emaonly-fp16.safetensors -P ./models/checkpoints/
追加のモデルをダウンロードしたい場合は、対応する#!wget
の前にある#
を削除してコメントアウトを解除するだけです。これにより、実際の実行時に対応するモデルが指定されたパスにダウンロードされます。例えば、SDXLモデルをダウンロードしたい場合は、以下のように対応する行のコメントを解除します:
!wget -c https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensors -P ./models/checkpoints/
!wget -c https://huggingface.co/stabilityai/stable-diffusion-xl-refiner-1.0/resolve/main/sd_xl_refiner_1.0.safetensors -P ./models/checkpoints/
カスタムモデルを追加したい場合は、source
セクションに対応するコードを追加することができます
!wget -c file_address -P .model_path
以下のように、sd_xl_refiner_1.0.safetensorsを./models/checkpoints/フォルダにダウンロードする例を示します
"!wget -c https://huggingface.co/stabilityai/stable-diffusion-xl-refiner-1.0/resolve/main/sd_xl_refiner_1.0.safetensors -P ./models/checkpoints/\n",
特定のフォルダの配置場所がわからない場合は、ComfyUIのファイル構造セクションを参照してください。
必要に応じてカスタムプラグインをダウンロードするスクリプトの追加
公式の例では、カスタムプラグインをインストールするための以下のようなコード例が提供されています
#!cd custom_nodes && git clone https://github.com/Fannovel16/comfy_controlnet_preprocessors; cd comfy_controlnet_preprocessors && python install.py
このコードは以下のステップに分かれています:
-
!cd custom_nodes
ComfyUIプラグインのインストールフォルダであるcustom_nodesフォルダに移動します -
git clone https://github.com/Fannovel16/comfy_controlnet_preprocessors;
gitを使用して対応するコードをこのフォルダにクローンします。これにより、custom_nodes配下にcomfy_controlnet_preprocessorsフォルダが作成され、プラグインコードが格納されます -
cd comfy_controlnet_preprocessors
新しくクローンしたプラグインフォルダに移動します -
python install.py
Pythonを使用してプラグインの依存関係をインストールするスクリプトを実行します。対応するプラグインがどのように依存関係をインストールするかを確認する必要があります。一部のプラグインではinstall.pyファイルを提供せず、requirements.txtファイルのみを提供している場合があります。その場合、最後のコマンドをpip install -r requirements.txt
に変更する必要があります
例えば、プラグインComfyUI-Managerをインストールする必要がある場合、以下のようなコマンドを構築する必要があります
!cd custom_nodes && git clone https://github.com/ltdrdata/ComfyUI-Manager; cd pip install -r requirements.txt
これにより、ComfyUI-Managerプラグインを個別にインストールし、関連する依存関係をインストールすることができます。
編集後、対応する.ipynbファイルを保存して、後続の処理に使用します。
公式バージョンの.ipynb設定を使用する手順は以下の通りです:
1. 準備
-
まず、Googleアカウントが必要です。まだお持ちでない場合は、Googleの公式サイトで登録してください。
-
Googleアカウントにログインした後、Google Colabにアクセスしてください。
-
必要に応じて、修正した.ipynbファイルを準備してください。
2. ComfyUI Colabノートブックを開く
Colabではヘルプメニューで言語オプションを変更できます
- Colabページで、上部メニューバーの「ファイル」>「ノートブックを開く」をクリックします。
-
ポップアップウィンドウで「GitHub」タブを選択するか、編集したファイルの場合は「アップロード」を選択します。
-
検索ボックスに以下のURLを入力します:
https://github.com/comfyanonymous/ComfyUI/blob/master/notebooks/comfyui_colab.ipynb
4. 検索結果からcomfyui_colab.ipynb
ファイルをクリックします。
3. ノートブックを実行してランタイム環境とモデルファイルプラグインのインストールを完了する
-
ノートブックを開くと、一連のコードセルが表示されます。
-
上から順に、各コードセルの左側にある再生ボタンをクリックするか、Shift+Enterのショートカットを使用してコードを実行します。
対応するコードの実行が完了し、“done”と表示されるまで待ってから、次のコードセルを実行する必要があります。最初の2つのコードセルを実行して対応する環境と依存関係をインストールし、その後のコードセルは実行方法の選択のためのものです。
4. ComfyUIの実行方法を選択する
提供された設定ファイルでは、3つの実行方法が用意されています。そのうちの1つを選んで実行するだけで良いです。
- cloudflaredでComfyUIを実行(推奨)
- localtunnelでComfyUIを実行
- colab iframeでComfyUIを実行(2番目の実行方法が利用できない場合)
1. cloudflaredでComfyUIを実行 実行後、以下のように表示されます
ComfyUI finished loading, trying to launch cloudflared (if it gets stuck here cloudflared is having issues)
This is the URL to access ComfyUI: https://xxxxxx.trycloudflare.com
最後に表示されたURLをクリックしてComfyUIにアクセスしてください
2. localtunnelでComfyUIを実行 実行後、以下のように表示されます
ComfyUI finished loading, trying to launch localtunnel (if it gets stuck here localtunnel is having issues)
The password/enpoint ip for localtunnel is: 34.125.230.29
your url is: https://xxxx.loca.lt
最後のURLをクリックし、開いたページに上記のパスワードを入力します。例えば、私の場合は34.125.230.29
です。これで実行できます。
3. colab iframeでComfyUIを実行
この実行方法ではURLを開く必要がありません。実行後、コードブロックの下に操作インターフェースが表示されます。
使用後はすぐに対応する実行インスタンスを停止することを忘れないでください。さもないと、実行時間が差し引かれます。
作成したノートブックファイルを後で使用する方法
使用したノートブックファイルは自動的にGoogleドライブに保存されます。いつでも対応するノートブックファイルを開き、右上の「実行」ボタンをクリックして再度実行できます。
- Googleアカウントにログインした後、https://drive.google.com/drive/my-drive
- Colab Notebooksフォルダをクリック
- 以前に実行した**.ipynb**ファイルを見つけると、colabに入ります
注意事項
- Google Colabの無料版には使用時間の制限があり、通常は数時間です。長時間使用する必要がある場合は、有料版へのアップグレードを検討してください。
- 各使用後、作業を保存し、Colabノートブックを閉じてリソースを解放することを忘れないでください。
- クラウドで実行されているため、ファイルのアップロードとダウンロードはローカルで実行するよりも少し遅くなる場合があります。
他のオンラインプラットフォームでComfyUIを実行する
Google Colabの他にも、ComfyUIの実行環境を提供するオンラインプラットフォームがあります:
- ComfyUI Web | 英語サイト: https://huggingface.co/spaces/kadirnar/ComfyUI-Demo