TensorRT
v2.5.0
火炬 - 吨托将Tensorrt的力量带到Pytorch。与仅在一行代码中急切地执行相比,将推断潜伏期高达5倍。
PYPI上发布了稳定版本的火炬tensorrt
pip install torch-tensorrt火炬tensorrt的夜间版本发表在Pytorch包装索引上
pip install --pre torch-tensorrt --index-url https://download.pytorch.org/whl/nightly/cu124Torch-Tensorrt还分布在现成的NVIDIA NGC PYTORCH容器中,该容器具有与适当的版本和示例笔记本的所有依赖关系。
有关更高级的安装方法,请参阅此处
您可以在使用torch.compile的任何地方使用火炬tensorrt:
import torch
import torch_tensorrt
model = MyModel (). eval (). cuda () # define your model here
x = torch . randn (( 1 , 3 , 224 , 224 )). cuda () # define what the inputs to the model will look like
optimized_model = torch . compile ( model , backend = "tensorrt" )
optimized_model ( x ) # compiled on first run
optimized_model ( x ) # this will be fast!如果您想提前优化模型和/或在C ++环境中部署,则Torch-Tensorrt提供了一个导出风格的工作流,该工作流程序列化了优化的模块。该模块可以部署在Pytorch或使用libtorch(即没有python依赖性)中。
import torch
import torch_tensorrt
model = MyModel (). eval (). cuda () # define your model here
inputs = [ torch . randn (( 1 , 3 , 224 , 224 )). cuda ()] # define a list of representative inputs here
trt_gm = torch_tensorrt . compile ( model , ir = "dynamo" , inputs = inputs )
torch_tensorrt . save ( trt_gm , "trt.ep" , inputs = inputs ) # PyTorch only supports Python runtime for an ExportedProgram. For C++ deployment, use a TorchScript file
torch_tensorrt . save ( trt_gm , "trt.ts" , output_format = "torchscript" , inputs = inputs ) import torch
import torch_tensorrt
inputs = [ torch . randn (( 1 , 3 , 224 , 224 )). cuda ()] # your inputs go here
# You can run this in a new python session!
model = torch . export . load ( "trt.ep" ). module ()
# model = torch_tensorrt.load("trt.ep").module() # this also works
model ( * inputs )# include " torch/script.h "
# include " torch_tensorrt/torch_tensorrt.h "
auto trt_mod = torch::jit::load( " trt.ts " );
auto input_tensor = [...]; // fill this with your inputs
auto results = trt_mod.forward({input_tensor});| 平台 | 支持 |
|---|---|
| Linux AMD64 / GPU | 支持 |
| Windows / GPU | 支持(仅发电机) |
| linux aarch64 / gpu | JetPack-4.4+支持的本机汇编(暂时使用V1.0.0) |
| linux aarch64 / dla | JetPack-4.4+支持的本机汇编(暂时使用V1.0.0) |
| Linux PPC64LE / GPU | 不支持 |
注意:请参阅NVIDIA L4T PYTORCH NGC容器中的Pytorch库。
这些是用于验证测试容器的以下依赖关系。 Torch-Tensorrt可以与其他版本一起使用,但不能保证测试通过。
弃用用于通知开发人员,不再建议使用某些API和工具。从版本2.3开始,Torch-Tensorrt具有以下折旧政策:
发行说明中传达了折旧通知。弃用的API功能将在源记录中有一个陈述何时弃用。如果使用的话,弃用的方法和类将在运行时发出弃用警告。折旧后,火炬吨托尔特提供了一个6个月的迁移期。在迁移期间,API和工具继续工作。迁移期结束后,API和工具以与语义版本的一致方式删除。
看看贡献。md
可以在许可证文件中找到火炬 - 托管许可证。它已获得BSD风格许可证的许可