ComfyUIを試そうと思ったら、いきなり起動しない…。
CUDA?PyTorch?仮想環境?
調べながら試行錯誤した備忘録です。同じように困った人の参考になりましたら。
1.とりあえず ComfyUI をダウンロードしてみた
から「ComfyUI_windows_portable_nvidia_cu128.7z」をダウンロード
※他にもNVIDIAに対応しているものはあるがなんとなくバージョンが最新っぽいものをチョイス
・ComfyUI_windows_portable_nvidia.7z
・ComfyUI_windows_portable_nvidia_cu126.7z
▶ 解凍&配置
解凍したものをパスに日本語が含まれない場所に配置
※私はC:\Windows配下に配置
→C:\Windows\ComfyUI_windows_portable
▶ モデル等をコピー
AUTOMATIC1111で使っているモデル等をコピー
・モデル → ComfyUI/models/checkpoints
・VAE→ComfyUI/models/vae
2.ComfyUIが起動しない…なんでだ!
ComfyUI_windows_portable 直下にある「run_nvidia_gpu.bat」をダブルクリックしてみると、
▼ 結果
If you see this and ComfyUI did not start try updating your Nvidia Drivers to the latest.
訳「このメッセージが表示され、ComfyUI が起動しない場合は、Nvidia ドライバーを最新のものに更新してみてください。」
了解。
NVIDIAのドライバー更新してPC再起動。
再度「run_nvidia_gpu.bat」を実行!
▼ 結果
If you see this and ComfyUI did not start try updating your Nvidia Drivers to the latest.
・・・。

どうすりゃええんじゃ、、、
3.CUDA Toolkitなるものが必要らしい…?
AIに聞いたら「CUDAが必要だよ」と言われる。

え、そんなのあるのか
とりあえずインストールしてみよう。
▶ まずPythonバージョンの確認
ComfyUIは Python 3.10〜3.11 が推奨とのこと。
コマンドプロンプトを開いて以下のコマンドを投入。
●確認コマンド
python --version
▼ 結果
Python 3.11.4
→OK!!
▶ PyTorchがGPU版かどうか
「PyTorch」・・・Stable Diffusionのような画像生成AIがPC上で動くための「土台」であり、「エンジン」のようなもの
●確認コマンド
python -c "import torch; print(torch.cuda.is_available())"
※Trueが出ればGPU版、Falseが出ればCPU版
▼ 結果
True
→OK!!
▶ CUDA Toolkitの導入
NVIDIA公式から 最新のCUDA Toolkit をインストール
→「Operating System」「Architecture」「Version」「Installer Type」を選択
⇒「cuda_13.1.0_windows.exe」をダウンロード
GPUが対応しているか以下のNVIDIAサポート表で確認
CUDA GPU Compute Capability | NVIDIA Developer
→PCに積んでいるGPUが表の中にあったのでOKとする。
4.CUDA Toolkitの確認方法ってどうするんだ?
さあ、インストールしたぞ。
AIに聞いたら起動するとかそういうもんじゃなくてGPUを使うための開発環境(ライブラリやコンパイラ群)らしい。
なので正しくインストールされているか確認。
▶ バージョン確認
●確認コマンド
nvcc --version
バージョン情報が表示されれば、CUDA Toolkitは正しく導入されているとのこと。
▶ GPUが認識されているか確認
●確認コマンド
python -c "import torch; print(torch.cuda.is_available())"
[True]→PyTorchがGPUを認識している
[False]→GPU版PyTorchが入っていないか、CUDAとの互換性がない
▼ 結果
True
→OK!!
5.え、GPU版PyTorchのインストール?
AIに再度確認したら「GPU版PyTorchをインストール」の実施を促されたので言われるがまま。。
Caution!!
以下のコマンドはこの時点では実施しないようにしてください。
ライブラリが壊れます。
※私はやってしまって壊れたのでインストールし直しました。。。
●インストールコマンド
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
▼ 結果
WARNING: Error parsing dependencies of torchsde: .* suffix can only be used with == or != operators numpy (>=1.19.*) ; python_version >= “3.7”
ワーニングが出た。
※後々わかったことだが、おそらくこの手順は必要なかった。
【3.CUDA Toolkitなるものが必要らしい…? >> PyTorchがGPU版かどうか】
でインストール確認済なので。。
というかインストールを確認している環境自体が間違っていたのでまるごと間違いであった。。。

ComfyUIは【仮想環境】での起動推奨とのこと
グローバル環境でも動くが非推奨らしいゾ
6.仮想環境を有効化しろって?
まだ全貌が見えていない私は、AIに言われるがまま以下のコマンドを実行。
●仮想環境の有効化コマンド
.\venv\Scripts\activate
▼ 結果
指定されたパスが見つかりません。
確かに、「ComfyUI」フォルダ配下に「venv」がない。。。

仮想環境??
7.あれ、仮想環境が作られてない!?
なるほど、仮想環境を有効化どうこうする前に、仮想環境自体が作られてないってことか。
まず、コマンドプロンプトでComfyUIのフォルダに移動
※またはComfyUIフォルダに移動しアドレスバーに「cmd」を入力&Enterでコマンドプロンプトを起動
▶ 仮想環境を作成
●仮想環境作成コマンド
python -m venv venv
→ComfyUI配下にvenv が作成される。
▶ 仮想環境を有効化
●有効化コマンド
.\venv\Scripts\activate
▼ 結果
(venv)**********
→コマンドプロンプトの先頭に(venv)が表示されれば成功。
▶ 依存パッケージをインストール
●インストールコマンド
pip install -r requirements.txt --upgrade
※仮想環境に必要なライブラリを入れるだけの処理
インストールが完了したらそのままComfyUIを起動する。
●起動コマンド
python main.py
▼ 結果
raise AssertionError(“Torch not compiled with CUDA enabled”) AssertionError: Torch not compiled with CUDA enabled

またエラーになってしまった。。。
8.またエラー…諸々解決していこうかね
エラーメッセージ 「Torch not compiled with CUDA enabled」 は、インストールされている PyTorch が GPU版ではなく CPU版 であることを意味するとのこと。
▶ PyTorchをアンインストール
仮想環境有効化状態で、以下のコマンドを実行
●アンインストールコマンド
pip uninstall torch torchvision torchaudio
※数回「Proceed(Y/n)?」と聞かれるので全て「Y」でEnter。
▶ CUDA Toolkitのバージョンを確認
CUDA 11.8対応環境かCUDA 12.1対応環境かどちらの環境であるか確認するため以下のコマンドで確認
●バージョン確認コマンド
nvcc --version
▼ 結果
nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2023 NVIDIA Corporation Built on Tue_Jul_11_03:10:21_Pacific_Daylight_Time_2023 Cuda compilation tools, release 12.2, V12.2.128 Build cuda_12.2.r12.2/compiler.33053471_0
「Cuda compilation tools, release 12.2, V12.2.128」
→つまり、CUDA Toolkit 12.2 がインストールされている状態
▶ GPU版PyTorchを再インストール
●CUDA 11.8対応の環境なら
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
●CUDA 12.1対応なら
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
CUDA Toolkit 12.2 がインストールされているのでCUDA 12.1対応のコマンドでよいとのこと。
CUDA 12.1対応のほうを実行!
▶ インストール後の確認
●確認コマンド
python -c "import torch; print(torch.__version__); print(torch.cuda.is_available()); print(torch.cuda.get_device_name(0))"
▼ 結果
2.5.1+cu121
True
NVIDIA GeForce RTX 4090
・バージョンに「+cu121」がついている
・Trueが返る
・GPU名が表示される
この3つが揃えば、CUDA 12.2環境でもCUDA 12.1対応版PyTorchが正しく動作するとのこと。
9.ついに ComfyUI が起動したぞ!
ComfyUI起動コマンドを実行する。
●起動コマンド
python main.py

起動した~~~
10.あとがき
1~9が再現するかどうか再度解凍するところからやってみたが「run_nvidia_gpu.bat」を実行したら起動してしまった。。。。
※解凍したフォルダを「Documents」フォルダ配下に適当に配置

なんでやねん
一回1~9を一通りやった後だから起動できてしまったのだろうな。
まあでもこれは仮想環境ではないのでこっちでは運用しないが。。
また、7の仮想環境を作成するところあたりから再度やってみた。
改めて流れを記載すると、
・依存パッケージをインストール ・・・①
pip install -r requirements.txt --upgrade
→ComfyUI が動くために必要な 依存ライブラリ一式 をインストール
・PyTorchをアンインストール ・・・②
pip uninstall torch torchvision torchaudio
→PyTorch関連パッケージだけを削除
・GPU版PyTorchを再インストール ・・・③
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
→CUDA 12.1 対応の PyTorch をインストール
②のアンインストールは、①を丸ごと削除しているわけではなく、
PyTorch系だけを消している状態。
つまり①のインストールは必要。
ただし、①のインストール直後に以下の確認コマンドを実行すると、
python -c "import torch; print(torch.__version__); print(torch.cuda.is_available())"
▼ 結果
2.9.1+cpu
False
となってしまうため、②のアンインストールと③の再インストールは必要。
最終的に1~9で必要な項目は、
3の「CUDA Toolkitの導入」と7~9。

以上でございやす。

コメント