見出し画像

How to install the TensorRT on ComfyUI

先日、Syable Diffusion ComfyUIの作者comfyanonymous氏が、ComfyUI用のTensorRT拡張機能を発表しました。
https://github.com/comfyanonymous/ComfyUI_TensorRT

TensorRT高速化技術は、既にA1111が先行して拡張機能を実装していましたが、これでComyUIにおいてもTensorRT技術を使用できる環境が整ったことになります。

今回は、そのインストール方法について解説したいと思います。

尚、ComfyUIのインストール環境は、Windows上で一般的な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.2.0.82 --no-cache-dirと入力して実行してください。

このcudnn-cu12のインストールは公式の解説では不要の様ですが、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」と入力して実行してください。

次に、onnxruntimeの公式サイト(https://onnxruntime.ai/docs/install/
)から、最新のCUDAに対応したライブラリーのインストール用コマンドをコピーします。

2024年7月9日現在、CUDA12.xに対応したライブラリーが最新のものとなります。

次に下図のように、そのコマンドを張り付けて実行します。

以上で、ComfyUIの為のTensorRTのインストールは完了です。powershellを閉じて、ComfyUIを起動してください。

モデルの作成方法と、TensorRTの適用方法に関しては公式の解説をご覧ください。
(後日、追記するかもしれませんが)

尚、下図のように\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI_TensorRT\workflowsフォルダには、モデル作成及びTensorRTを適用する為の基本的なノードが用意されています。

下図は、あらかじめ用意されているSD1.5用の基本的なワークフローの図です。私の環境では、かなり速度は上がりましたね。

公式の解説を読みつつ、これらのノードを読み込めば、モデル作成も適用も問題なく実行できると思います。

動作制限に関しては、やはりControlnetとLoRAはまだ使えないようです。現状nVidiaがA1111用の拡張機能で、Controlnet対応を予定しているらしくベータ版は公開されていますが、私がテストした時点では、Controlnetは上手く動いてくれませんでした。

いいなと思ったら応援しよう!