Torch-TensorRT Integration
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 17.9k
- Forks
- 7.3k
- Avg merge
- 1d 15h
- Merged PRs (30d)
- 13
Description
🚀 The feature
pytorch-tensorrt hit release 1.0 (is actually 1.1 right now), but most of the models available are not out of the box convertable to it.
Motivation, pitch
Read feature description
Alternatives
Alternatives would be to convert to onnx, and then convert to tensorrt, which is exactly what torch-trt tries to avoid; This would also require more work, because somebody would have to make sure that models are onnx compatible and tensort-trt compatible, with the latter being a torchscript-supporting runtime.
Additional context
AFAIK, from some quick tests like:
module = fcos_resnet50_fpn()
generalized_rcnn_transform_max_size = module.transform.max_size
inputs = torch_trt.Input(
min_shape=[1, 3, 224, 224],
opt_shape=[1, 3, 1080, 1920],
max_shape=[
1,
3,
generalized_rcnn_transform_max_size,
generalized_rcnn_transform_max_size,
],
)
precisions = {torch.half} # doesn't really matter
trt_module = torch_trt.compile(
module=module, inputs=[inputs], enabled_precisions=precisions
)
And looking into some blocking issue from tensorrt:
... the first thing to do would be to remove self/state (self.a = b) mutations, on the forward method, and... almost everything will work out of the box?
For reference, from a quick attempt to port some fcos model, I found 2 places where this happens. I am not sure if this is required.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the Torch-TensorRT compile example for fcos_resnet50_fpn(), then inspect the referenced mutation in torchvision/models/detection/fcos.py and torchvision/models/detection/anchor_utils.py. Review the linked TensorRT collections issue before deciding scope; done would mean the relevant torchvision models convert to Torch-TensorRT without the reported blocking behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- computer-vision, machine-learning
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100