TensorRT
Appearance
High performance inference engine.
pertama-tama download tar.gz-nya di https://developer.nvidia.com/tensorrt-rtx
<syntaxhighlight lang=bash>
tar -xf TensorRT-RTX-1.1.1.26.Linux.x86_64-gnu.cuda-12.9.tar.gz
cd TensorRT-RTX-1.1.1.26
export LD_LIBRARY_PATH=$PWD/lib:$LD_LIBRARY_PATH # masukin .bashrc atau .zshrc
ln -s $(realpath tensorrt_rtx) /usr/local/bin/trtexec
<syntaxhighlight>
Convert
<syntaxhighlight lang=bash>
- Konversi dasar ONNX ke TensorRT
trtexec --onnx=mobilenetv2-7.onnx --saveEngine=mobilenetv2.trt
- Konversi dengan optimasi tambahan (direkomendasikan)
trtexec --onnx=mobilenetv2-7.onnx \
--saveEngine=mobilenetv2_optimized.trt \
--minShapes=data:1x3x224x224 \
--optShapes=data:1x3x224x224 \
--maxShapes=data:1x3x224x224 \
--builderOptimizationLevel=5 \
--avgTiming=16 \
--memPoolSize=workspace:2G \
--verbose
- Konversi dengan dynamic shapes (jika perlu batch size fleksibel)
trtexec --onnx=mobilenetv2-7.onnx \
--saveEngine=mobilenetv2_dynamic.trt \
--minShapes=data:1x3x224x224 \
--optShapes=data:4x3x224x224 \
--maxShapes=data:16x3x224x224 \
--builderOptimizationLevel=5 \
--verbose
- Konversi dengan precision FP16 untuk performa lebih cepat (jika GPU mendukung)
trtexec --onnx=mobilenetv2-7.onnx \
--saveEngine=mobilenetv2_fp16.trt \
--minShapes=data:1x3x224x224 \
--optShapes=data:1x3x224x224 \
--maxShapes=data:1x3x224x224 \
--fp16 \
--builderOptimizationLevel=5 \
--verbose
- Konversi dengan hardware compatibility (untuk portabilitas GPU)
trtexec --onnx=mobilenetv2-7.onnx \
--saveEngine=mobilenetv2_compatible.trt \
--minShapes=data:1x3x224x224 \
--optShapes=data:1x3x224x224 \
--maxShapes=data:1x3x224x224 \
--hardwareCompatibilityLevel=ampere+ \
--verbose
- Test inference setelah konversi
trtexec --loadEngine=mobilenet.trt \
--shapes=data:1x3x224x224 \
--iterations=100 \
--avgRuns=10 \
--exportOutput=test_result.json \
--verbose
<syntaxhighlight>