Jump to content

TensorRT: Difference between revisions

From Haidhi Wiki
No edit summary
No edit summary
Line 6: Line 6:
export LD_LIBRARY_PATH=$PWD/lib:$LD_LIBRARY_PATH # masukin .bashrc atau .zshrc
export LD_LIBRARY_PATH=$PWD/lib:$LD_LIBRARY_PATH # masukin .bashrc atau .zshrc
ln -s $(realpath tensorrt_rtx) /usr/local/bin/trtexec
ln -s $(realpath tensorrt_rtx) /usr/local/bin/trtexec
<syntaxhighlight>
</syntaxhighlight>
Convert
<syntaxhighlight lang=bash>
# Konversi dasar ONNX ke TensorRT
# Konversi dasar ONNX ke TensorRT
trtexec --onnx=mobilenetv2-7.onnx --saveEngine=mobilenetv2.trt
trtexec --onnx=mobilenetv2-7.onnx --saveEngine=mobilenetv2.trt
Line 56: Line 58:
         --exportOutput=test_result.json \
         --exportOutput=test_result.json \
         --verbose
         --verbose
<syntaxhighlight lang=bash>
</syntaxhighlight>

Revision as of 13:41, 26 September 2025

High performance inference engine.
pertama-tama download tar.gz-nya di https://developer.nvidia.com/tensorrt-rtx

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

Convert

# 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