This project provides a Tensorrt implementation for fast image upscaling inside ComfyUI (2-4x faster)
This project is licensed under CC BY-NC-SA, everyone is FREE to access, use, modify and redistribute with the same license.
For commercial purposes, please contact me directly at [email protected]
If you like the project, please give me a star! ⭐
Note: The following results were benchmarked on FP16 engines inside ComfyUI, using 100 identical frames
Device | Model | Input Resolution (WxH) | Output Resolution (WxH) | FPS |
---|---|---|---|---|
RTX5090 | 4x-UltraSharp | 512 x 512 | 2048 x 2048 | 12.7 |
RTX5090 | 4x-UltraSharp | 1280 x 1280 | 5120 x 5120 | 2.0 |
RTX4090 | 4x-UltraSharp | 512 x 512 | 2048 x 2048 | 6.7 |
RTX4090 | 4x-UltraSharp | 1280 x 1280 | 5120 x 5120 | 1.1 |
RTX3060 | 4x-UltraSharp | 512 x 512 | 2048 x 2048 | 2.2 |
RTX3060 | 4x-UltraSharp | 1280 x 1280 | 5120 x 5120 | 0.35 |
- Install via the manager
- Or, navigate to the
/ComfyUI/custom_nodes
directory
git clone https://github.com/yuvraj108c/ComfyUI-Upscaler-Tensorrt.git
cd ./ComfyUI-Upscaler-Tensorrt
pip install -r requirements.txt
-
These upscaler models have been tested to work with Tensorrt. Onnx are available here
-
The exported tensorrt models support dynamic image resolutions from 256x256 to 1280x1280 px (e.g 960x540, 512x512, 1280x720 etc).
- Load example workflow
- Choose the appropriate model from the dropdown
- The tensorrt engine will be built automatically
- Load an image of resolution between 256-1280px
- Set
resize_to
to resize the upscaled images to fixed resolutions
- To export other ESRGAN models, you'll have to build the onnx model first, using export_onnx.py
- Place the onnx model in
/ComfyUI/models/onnx/YOUR_MODEL.onnx
- Then, add your model to this list as shown:
ComfyUI-Upscaler-Tensorrt/__init__.py
Line 77 in 8f7ef5d
- Finally, run the same workflow and choose your model
- If you've tested another working tensorrt model, let me know to add it officially to this node
- Automatic tensorrt engines are built from the workflow itself, to simplify the process for non-technical people
- Separate model loading and tensorrt processing into different nodes
- Optimise post processing
- Update onnx export script
- If you upgrade tensorrt version, you'll have to rebuild the engines
- Only models with ESRGAN architecture are currently working
- High ram usage when exporting
.pth
to.onnx
- Ubuntu 22.04 LTS, Cuda 12.4, Tensorrt 10.8, Python 3.10, H100 GPU
- Windows 11
Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)