Nodes/ComfyUI Dwpose TensorRT/Load Dwpose Tensorrt Models
ComfyUI Node

Load Dwpose Tensorrt Models

LoadDwposeTensorrtModels

By yuvraj108c·Created 2 years ago·Updated about a year ago· 53
Load Dwpose Tensorrt Models
    • yolox_trt_model
    • dwpose_trt_model
    yolox_precisionfp16
    dwpose_precisionfp32

    You don't need this node for its outputs. You need it for the work it does behind the curtain: it downloads the DWPose ONNX models, compiles them into TensorRT engines, and caches those engines on disk so the actual DwposeTensorrt node can run at ~20 FPS instead of limping through frames. It's the quiet half of the pack, and once you understand what it's doing, the first-run wait (and occasional confusion) makes sense.

    What it does

    LoadDwposeTensorrtModels is the loader/compiler half of ComfyUI-Dwpose-Tensorrt. On its first run it pulls two ONNX models from HuggingFace - yolox_l.onnx (the person detector) and dw-ll_ucoco_384.onnx (the whole-body pose model) - into models/onnx/dwpose, then builds TensorRT engines from them into models/tensorrt/dwpose. If an engine for your chosen precision already exists, it just loads it and moves on. That automatic-build behavior was added in May 2025 specifically so you didn't have to run export scripts by hand.

    The two inputs (that's it)

    Just two dropdowns:

    • yolox_precision - fp16 (default) or fp32. The YOLOX detector is the cheap part; fp16 is the sane default.
    • dwpose_precision - fp32 (default) or fp16. The tooltip says it plainly: FP32 is more accurate for the pose model. DWPose's hand and face keypoints are where precision shows up, so this one defaults to fp32 - leave it there unless you're chasing every last FPS on a long video.

    Outputs: yolox_trt_model and dwpose_trt_model, which plug directly into the DwposeTensorrt node's two model inputs. That's the only wiring you'll ever do with this node.

    A few things worth knowing

    First build takes a few minutes and uses real VRAM while it compiles - it's not frozen, it's working. Engines are cached under names that include the precision and the TensorRT version, which means two gotchas: changing precision triggers a rebuild, and upgrading TensorRT invalidates your cache and forces another one. Both are one-time costs per config, and they're the reason the "run it once, then it's fast" flow works.

    Installation is the pack's normal story - ComfyUI Manager search "ComfyUI-Dwpose-Tensorrt", or git clone into custom_nodes and pip install -r requirements.txt (needs tensorrt and polygraphy, plus opencv, numpy, tqdm, matplotlib). The classic trap is installing those into the wrong Python when you're on ComfyUI portable - if you see No module named 'tensorrt' at startup, that's the portability venv biting you, and Manager is usually the clean fix. Ubuntu with CUDA 12.4 / TRT 10 is the tested path; Windows is claimed to work but that's where most install reports come from.

    Categorytensorrt

    Inputs (2)

    NameTypeDefaultDescription
    yolox_precisionCOMBOfp16Precision to build the yolox tensorrt engine
    dwpose_precisionCOMBOfp32Precision to build the dwpose tensorrt engine, FP32 is more accurate

    Outputs (2)

    NameTypeDescription
    yolox_trt_modelYOLOX_TRT_MODEL
    dwpose_trt_modelDWPOSE_TRT_MODEL