You need to agree to share your contact information to access this model
This repository is publicly accessible, but you have to accept the conditions to access its files and content.
By accessing these TensorRT engine weights, you agree to the terms of the AVTR-1 Community License and Acceptable Use Policy.
Log in or Sign Up to review the conditions and access this model content.
AVTR-1 pre-built TensorRT engines (RTX 40-series)
Pre-built TensorRT fp16 engines for the AVTR-1 live-dialogue avatar pipeline. These let you skip the local engine build entirely β clone, download the remaining runtime ONNX weights, and run.
β οΈ RTX 40-series only (sm_89 / Ada Lovelace). TensorRT engines are compute-capability specific. These were built on an NVIDIA RTX 4060 Ti (sm_89) without a broader hardware-compatibility level, so they load only on RTX 40-series GPUs (4060 / 4060 Ti / 4070 / 4080 / 4090). 30-series (sm_86) and 50-series (sm_120) users must build engines on their own machine (
pixi run build-trt-engines).
Contents
renderer_runtime_artifacts_cc/
decoder_b5_fp16.engine 108.1 MB SPADE decoder (b=5 dynamic)
warp_network_b5_fp16.engine 99.3 MB dense-motion warp net (b=5 dynamic)
modnet_b5_fp16.engine 16.8 MB portrait matting (b=5 dynamic)
stitch_network_b5_fp16.engine 0.4 MB stitching layer
speech2motion_runtime_artifacts_cc/
hubert_lbs_fp16.engine 607.7 MB audio features
avtr1_encode_fp16.engine 20.8 MB encode_conditions
avtr1_decode_fp16.engine 279.2 MB guided CFG decode pass
avtr1_normalizer.safetensors 2 KB motion-vector normalization buffers
renderer_runtime_artifacts/
libgrid_sample_3d_plugin.dll (Windows, built from source) custom grid_sample 3D TRT plugin
libgrid_sample_3d_plugin.so (Linux, upstream build) (loaded separately; required by the warp engine)
How these were built
Built with TensorRT 10.11.0.33, CUDA 12.x, on Windows with an RTX 4060 Ti (sm_89),
fp16 throughout. The workflow (from scripts/ in the AVTR-1 repo) was:
Download source weights (
pixi run download): AVTR-1 weights fromavaturn-live/avtr-1and LivePortrait ONNX graphs fromdigital-avatar/ditto-talkinghead.Renderer engines β
python scripts/build_renderer_engines.pyFour engines parsed directly into the TensorRT builder with a dynamic[1..5]batch profile. Each ONNX graph is patched in memory ("surgery") to make it TRT-parsable at batch 5:decoderβ Resize surgery on the SPADE conditioning pathwarp_networkβ Tile/Reshape/Concat surgery on the dense-motion stackmodnetβ SE-block Reshape surgerystitch_networkβ Reshape fixes + redundant 2Γ ScatterND β single Concat
The warp engine depends on the grid_sample 3D plugin β see step 3.
grid_sample 3D plugin β built from source The warp network uses PyTorch's 3D
grid_sample(bilinear, unaligned corners), which TensorRT has no built-in layer for, so TensorRT can't parse that subgraph without help. We compiled a custom TRT plugin from the Apache-2.0 upstream repoSeanWangJS/grid-sample3d-trt-pluginto produce the Windowslibgrid_sample_3d_plugin.dll:- cloned the upstream CUDA/CMake source and configured a CMake + MSVC build against CUDA 12.8 and the bundled TensorRT 10.11 headers/libs;
- compiled the CUDA kernels with
nvccusingCUDA_ARCHITECTURES="70;80;86;89", so the DLL's kernels cover sm70, sm80, sm86 (30-series) and sm89 (40-series). Only the engines are sm89-specific β the plugin is portable across these architectures; - the plugin self-registers via
REGISTER_TENSORRT_PLUGINwhen the DLL is loaded, so the ONNX parser sees the custom op. The warp builder loads it withctypes.cdll.LoadLibrary(...)followed bytrt.init_libnvinfer_plugins(...); the warp engine build fails outright without it (verified).
The upstream Linux build is shipped as-is (
libgrid_sample_3d_plugin.so, compiled for x86_64 Linux against CUDA 12 / TRT 10). On Windows the.dllfrom this repo is required; the loader picks.dllon Windows and.soon Linux.AVTR1 engines β
python scripts/build_avtr1_engines.pyExports the scripted checkpoint (train-39.scripted.pt) into two ONNX graphs in memory βencode_conditionsand the guided CFG decode pass β and parses each into a TRT engine:- fp16 with LayerNorm-flavoured ops pinned to fp32 for numerical stability
- CFG guidance weight tensors are engine inputs (not baked in), so guidance strength is tunable per request at runtime
- motion normalization buffers are lifted off the scripted wrapper into the
avtr1_normalizer.safetensorssidecar
HuBERT engine β
python scripts/build_hubert_engine.pyFromhubert-lbs-avtr1.onnx, dynamic batch + length profile (batch[1..2], 3240..12960 frames) covering one chunk of speech + active listening in parallel.
Caveats
- sm_89 only. No
hardware_compatibility_levelwas set on the renderer and HuBERT builds (and--ampere-plusdefaults off on the AVTR1 build), so these engines will not load on Ampere (30-series) or Blackwell (50-series). - Requires the matching grid_sample 3D plugin for the warp engine; the loader
picks
.dllon Windows and.soon Linux. - Engines are deterministic outputs of the build scripts β rebuild any time via
pixi run build-trt-enginesif you target a different GPU.