metadata
license: apache-2.0
datasets:
- sergiopaniego/CarlaFollowLanePreviousV
OptimizedPilotNet
These models contain a PilotNet baseline model for end-to-end control of an autonomous ego vehicle in CARLA and its optimized versions for both PyTorch and Tensorflow.
- GPU: NVIDIA GeForce 3090
- CUDA: 11.6
- Driver version: 510.54
- Input shape (200,66,3)
Tensorflow
- Tensorflow version: 2.7.0 / 2.11.0
- TensorRT version: 7.2.2.1
- Docker image: nvcr.io/nvidia/tensorflow:20.12-tf2-py3
- nvidia-tensorrt: 7.2.2.1
Optimization | Model size (MB) | MSE | Inference time (s/frame) | Filename |
---|---|---|---|---|
Original | 19 | 0.018 | 0.022 | pilotnet.h5 |
Baseline | 6.0925140380859375 | 0.010881431312199034 | 0.0016004319190979005 | pilotnet_model.tflite |
Dynamic Range Quantization | 1.5377578735351562 | 0.010803998294344926 | 0.0008851253986358643 | pilotnet_dynamic_quant.tflite |
Integer Quantization | 1.5389328002929688 | 0.01102226436099348 | 0.0008868560791015625 | pilotnet_int_quant.tflite |
Integer (float fallback) Quantization | 1.5389175415039062 | 0.0008868560791015625 | 0.0008031470775604248 | pilotnet_intflt_quant.tflite |
Float16 Quantization | 3.0508956909179688 | 0.010804510797606127 | 0.0013616561889648437 | pilotnet_float16_quant.tflite |
Quantization Aware Training | 1.5446319580078125 | 0.0115418379596583 | 0.0008456888198852539 | pilotnet_quant_aware.tflite |
(random sparse) Weight pruning | 6.0925140380859375 | 0.011697137610230973 | 0.0016570956707000733 | pilotnet_pruned.tflite |
(random sparse) Weight pruning Quantization | 1.536590576171875 | 0.011635421636510991 | 0.0012711701393127441 | pilotnet_pruned_quan.tflite |
Cluster preserving Quantization Aware | 1.5446319580078125 | 0.010546523951115492 | 0.0008221814632415771 | pilotnet_cqat_model.tflite |
Pruning preserving Quantization Aware | 1.5446319580078125 | 0.010758002372154884 | 0.0008252830505371093 | pilotnet_pqat_model.tflite |
Sparsity and cluster preserving quantization aware training (PCQAT) | 1.5446319580078125 | 0.008262857163545972 | 0.0008286898136138916 | pilotnet_pcqat_model.tflite |
TensorRT-Tensorflow:
To do inference:
pip install nvidia-tensorrt===7.2.2.1
python3 -c "import tensorrt; print(tensorrt.__version__); assert tensorrt.Builder(tensorrt.Logger())"
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CONDA_PREFIX/lib/python3.8/site-packages/tensorrt
python3 -c "import tensorflow as tf; print(tf.config.list_physical_devices('GPU'))"
Optimization | Model size (MB) | MSE | Inference time (s/frame) | Folder |
---|---|---|---|---|
Float32 Quantization | 0.00390625 | 0.010798301750717706 | 0.00038761067390441896 | pilotnet_tftrt_fp32 |
Float16 Quantization | 0.00390625 | 0.010798278900279191 | 0.00042218327522277834 | pilotnet_tftrt_fp16 |
Int8 Quantization | 0.00390625 | 0.04791482252948612 | 0.0003384373188018799 | pilotnet_tftrt_int8 |
PyTorch
- PyTorch version: 1.13.1+cu116
- TensorRT version: 8.5.5
- Docker image: nvcr.io/nvidia/pytorch:22.12-py3
- torch-tensorrt: 1.3.0
Optimization | Model size (MB) | MSE | Inference time (s/frame) | Filename |
---|---|---|---|---|
Original | 6.1217 | 0.03524 | - | pilotnet_model.pth |
Dynamic Range Quantization | 1.9493608474731445 | 0.012065857842182075 | 0.001480283498764038 | 24_05_dynamic_quan.pth |
Static Quantization | 1.6071176528930664 | 0.012072610909984047 | 0.0007314345836639404 | 24_05_static_quan.pth |
Quantization Aware Training | 1.6069536209106445 | 0.01109830549109022 | 0.0011710402965545653 | 24_05_quan_aware .pth |
Local Prune | 6.122584342956543 | 0.010850968803449539 | 0.0014387350082397461 | 24_05_local_prune.pth |
Global Prune | 6.122775077819824 | 0.010964057565769462 | 0.0014179635047912597 | 24_05_global_prune.pth |
Prune + Quantization | 1.6067094802856445 | 0.010949893930274941 | 0.0011728739738464356 | 24_05_prune_quan.pth |
TensorRT-PyTorch:
To do inference:
pip install torch-tensorrt==1.3.0
Optimization | Model size (MB) | MSE | Inference time (s/frame) | Filename |
---|---|---|---|---|
Float32 Quantization | 6.121363639831543 | 0.009570527376262128 | 0.0002284455299377441 | trt_mod_float32.jit.pt |
Float16 Quantization | 6.121363639831543 | 0.009571507916721152 | 0.000250823974609375 | trt_mod_float16.jit.pt |
Int8 Quantization | 6.181861877441406 | 0.00969304293365875 | 0.0002463934421539307 | trt_mod_int8.jit.pt |