Торговый-Тенсорт приносит силу тенденрта в пирог. Ускоряйте задержку вывода до 5x по сравнению с энергичным выполнением только в одной строке кода.
Стабильные версии Torch-Tensorrt опубликованы на PYPI
pip install torch-tensorrtНочные версии Torch-Tensorrt опубликованы по индексу пакета Pytorch
pip install --pre torch-tensorrt --index-url https://download.pytorch.org/whl/nightly/cu124Torch-Tensorrt также распространяется в контейнере Nvidia NGC Pytorch, который имеет все зависимости с соответствующими версиями и примерами ноутбуков.
Для получения более продвинутых методов установки, см. Здесь
Вы можете torch.compile Torch-tensortor
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 (т.е. без зависимости от питона).
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 Container для библиотек Pytorch на JetPack.
Это следующие зависимости, используемые для проверки тестов. Торговый-Тенсорт может работать с другими версиями, но тесты не гарантированно пройдут.
Унимок используется для информирования разработчиков, что некоторые API и инструменты больше не рекомендуются для использования. Начиная с версии 2.3, Torch-Tensorrt имеет следующую политику снижения:
Уведомления об испаке передаются в примечаниях по выпуску. Уличных функций API будет иметь утверждение в источнике, документирующее, когда они устарели. Умеренные методы и классы будут выпускать предупреждения об ископке во время выполнения, если они используются. Торговый-Тенсорт обеспечивает 6-месячный период миграции после детекции. API и инструменты продолжают работать в течение периода миграции. После того, как период миграции заканчивается, API и инструменты удаляются в соответствии с семантической версией.
Взгляните на Appling.md
Лицензия Torch-Tensorrt можно найти в файле лицензии. Он лицензирован с лицензией в стиле BSD