先日、Syable Diffusion ComfyUIの作者comfyanonymous氏が、ComfyUI用のTensorRT拡張機能を発表しました。
https://github.com/comfyanonymous/ComfyUI_TensorRT
TensorRT高速化技術は、既にA1111が先行して拡張機能を実装していましたが、これでComyUIにおいてもTensorRT技術を使用できる環境が整ったことになります。
今回は、そのインストール方法について解説したいと思います。
尚、ComfyUIのインストール環境は、一般的なportable形式で使用している前提で以下、解説していきます。
まず下図のように、拡張機能のインストール先であるcustom_nodesフォルダにパスを通した形でpowershellを起動します。
次に下図のように、
git clone https://github.com/comfyanonymous/ComfyUI_TensorRT
と入力して実行します。これによって拡張機能ファイルがダウンロードされます。
次に下図のように、ComfyUI_windows_portableフォルダにパスを移動させます。ここから、TensorRTを動作させる為に必要なPythonライブラリーをインストールしていきます。
次に下図のように、python_embeded\python.exe -m pip install nvidia-cudnn-cu12==9.1.1.17 --no-cache-dirと入力して実行してください。
この手順は公式の解説では不要の様ですが、A1111に対してTensorRTをインストールする際には必要な手順なので、念のために実行しておきます。
(この手順を省略しても動作する可能性はありますが)
次に下図のように、python_embeded\python.exe -m pip install --extra-index-url https://pypi.nvidia.com/ tensorrt tensorrt-bindings tensorrt-libs --no-cache-dirと入力して実行してください。これが、TensorRT本体のライブラリーになります。
次に、onnxruntime関係のライブラリーをインストールしていきます。
公式の解説では、ComfyUIの場合はonnxだけインストールすれば良いようなのですが、ここでも念の為にA1111と同じライブラリーをインストールしていきます。
まず、下図のように「python_embeded\python.exe -m pip install install importlib_metadata onnx polygraphy」と入力して実行してください。
次に、これもA1111と同様に念の為、onnxruntime-gpuライブラリーをインストールしておきます。
また、これもA1111で発生した障害ですが、最新バージョンをインストールするとip-adapterに支障をきたす可能性がある為、1.17.1を指定してインストールします。
下図のように、python_embeded\python.exe -m pip install onnxruntime-gpu==1.17.1 --extra-index-url https://aiinfra.pkgs.visualstudio.com/PublicPackages/_packaging/onnxruntime-cuda-12/pypi/simple/
と入力して実行してください。
以上で、ComfyUIの為のTensorRTのインストールは完了です。powershellを閉じて、ComfyUIを起動してください。
モデルの作成方法と、TensorRTの適用方法に関しては公式の解説をご覧ください。
(後日、追記するかもしれませんが)
尚、下図のように\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI_TensorRT\workflowsフォルダには、モデル作成及びTensorRTを適用する為の基本的なノードが用意されています。
下図は、あらかじめ用意されているSD1.5用の基本的なワークフローの図です。
公式の解説を読みつつ、これらのノードを読み込めば、モデル作成も適用も問題なく実行できると思います。