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風格許可證的許可