tensorrt_backend
sleap_nn.inference.layers.backends.tensorrt_backend
¶
TensorRTBackend — runs a serialized TensorRT engine.
Like :class:ONNXBackend but the runtime is native TensorRT instead of
ONNX Runtime. Same protocol surface: does_baked_postproc=True because
the wrappers in sleap_nn/export/wrappers/ produce engines whose
output names are "peaks", "peak_vals", etc.
CUDA-only. Constructing on a non-CUDA host raises a clear error;
import tensorrt is deferred to __attrs_post_init__ so importing
this module is cheap (and the import error doesn't break test
collection on CPU-only hosts).
Classes:
| Name | Description |
|---|---|
TensorRTBackend |
Native TensorRT engine backend conforming to :class: |
TensorRTBackend
¶
Native TensorRT engine backend conforming to :class:ModelBackend.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
engine_path
|
Path to a serialized TRT engine file ( |
required | |
device
|
Must be |
required |
Notes
Constructing this backend imports tensorrt lazily. On a host
without CUDA / tensorrt installed, the constructor raises with
a clear pointer at the right install extra ([tensorrt]).
Methods:
| Name | Description |
|---|---|
__attrs_post_init__ |
Load the TRT engine + create an execution context. |
__call__ |
Execute the TRT engine on |
from_export_dir |
Load a TRT backend from an export directory containing |
warmup |
Run a single dummy forward to prime the engine + GPU caches. |
Attributes:
| Name | Type | Description |
|---|---|---|
does_baked_postproc |
bool
|
TRT engines exported from our wrappers bake peak finding. |
Source code in sleap_nn/inference/layers/backends/tensorrt_backend.py
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 | |
does_baked_postproc
property
¶
TRT engines exported from our wrappers bake peak finding.
__attrs_post_init__()
¶
Load the TRT engine + create an execution context.
Source code in sleap_nn/inference/layers/backends/tensorrt_backend.py
__call__(x)
¶
Execute the TRT engine on x (must be on CUDA already).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
x
|
Tensor
|
|
required |
Returns:
| Type | Description |
|---|---|
Dict[str, Tensor]
|
Dict mapping engine output names to torch tensors on CUDA. |
Source code in sleap_nn/inference/layers/backends/tensorrt_backend.py
from_export_dir(export_dir)
classmethod
¶
Load a TRT backend from an export directory containing *.trt.
Source code in sleap_nn/inference/layers/backends/tensorrt_backend.py
warmup(input_shape)
¶
Run a single dummy forward to prime the engine + GPU caches.