Obor-Tensorrt membawa kekuatan Tensorrt ke Pytorch. Akselerate inference latency hingga 5x dibandingkan dengan eksekusi yang bersemangat hanya dalam satu baris kode.
Versi stabil obor-tensorrt diterbitkan di PYPI
pip install torch-tensorrtVersi malam dari obor-tensorrt diterbitkan pada indeks paket pytorch
pip install --pre torch-tensorrt --index-url https://download.pytorch.org/whl/nightly/cu124Obor-Tensorrt juga didistribusikan dalam wadah NVIDIA NGC Pytorch yang siap dikelola yang memiliki semua dependensi dengan versi yang tepat dan contoh notebook yang disertakan.
Untuk metode instalasi yang lebih canggih, silakan lihat di sini
Anda dapat menggunakan Torch-Tensorrt di mana saja Anda menggunakan torch.compile .
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!Jika Anda ingin mengoptimalkan model Anda lebih dulu dan/atau menyebarkan di lingkungan C ++, Obor-TensorRT menyediakan alur kerja gaya ekspor yang membuat serial modul yang dioptimalkan. Modul ini dapat digunakan dalam Pytorch atau dengan liborTorch (yaitu tanpa ketergantungan 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});| Platform | Mendukung |
|---|---|
| Linux AMD64 / GPU | Didukung |
| Windows / GPU | Didukung (hanya dinamo) |
| Linux Aarch64 / GPU | Kompilasi asli didukung di JetPack-4.4+ (gunakan v1.0.0 untuk saat ini) |
| Linux Aarch64 / DLA | Kompilasi asli didukung di JetPack-4.4+ (gunakan v1.0.0 untuk saat ini) |
| Linux PPC64LE / GPU | Tidak didukung |
CATATAN: Rujuk NVIDIA L4T Pytorch NGC Container untuk pustaka Pytorch di Jetpack.
Ini adalah dependensi berikut yang digunakan untuk memverifikasi testcases. Obor-Tensorrt dapat bekerja dengan versi lain, tetapi tes tidak dijamin akan lulus.
Penghentian digunakan untuk memberi tahu pengembang bahwa beberapa API dan alat tidak lagi direkomendasikan untuk digunakan. Dimulai dengan versi 2.3, Torch-Tensorrt memiliki kebijakan penghentian berikut:
Pemberitahuan Deprecation dikomunikasikan dalam catatan rilis. Fungsi API yang sudah usang akan memiliki pernyataan dalam sumber yang mendokumentasikan ketika mereka sudah usang. Metode dan kelas yang sudah usang akan menerbitkan peringatan keterusterangan saat runtime, jika digunakan. Obor-Tensorrt menyediakan periode migrasi 6 bulan setelah penghapusan. API dan alat terus bekerja selama periode migrasi. Setelah periode migrasi berakhir, API dan alat dihapus dengan cara yang konsisten dengan versi semantik.
Lihatlah Kontribusi.MD
Lisensi Obor-Tensorrt dapat ditemukan di file lisensi. Ini dilisensikan dengan lisensi gaya BSD