# CUDA-FastBEV
This repository contains sources and model for [Fast-BEV](https://github.com/Sense-GVT/Fast-BEV) inference using CUDA & TensorRT. And provide PTQ and QAT int8 quantization code.
## 3D Object Detection(on nuScenes validation set)
- For all models, I used the configs/fastbev_m0_r18_s256x704_v200x200x4_c192_d2_f1.py configuration, delete time sequence.
- The camera resolution is 256x704
- Backbone is ResNet18, without DCN
| **Model** | **Framework** | **Precision** | **mAP** | **FPS** |
|:------------------------:|:-------------:|:-------------:|:-------:|:-------:|
| ResNet18 | TensorRT | FP16 | 24.3 | 113.6(on RTX2080Ti) |
| ResNet18-PTQ | TensorRT | FP16+INT8 | 23.89 | 143.8 |
| ResNet18-head-PTQ | TensorRT | FP16 + INT8 | 23.83 | 144.9 |
## Model and Data
- For quick practice, I provide an example data of nuScenes.You can download from [Google Drive](https://drive.google.com/file/d/14-fqrtbC5ZOWgkNA0m7jA7bQAySrzLrm/view?usp=sharing) It contains the following:
1. Camera images in 6 directions.
2. Transformation matrix of camera/lidar and vtrans need data.
- All models (model.zip) can be downloaded from [Google Drive](https://drive.google.com/file/d/1wwwckM0vux5ub3U4R_zS9pm01QFmMPru/view?usp=sharing) .It contains the following:
1. fastbev onnx models and pytorch models.
2. resnet18 int8 onnx and PTQ models.
## Prerequisites
To build fastbev, we need to depend on the following libraries:
- CUDA >= 11.0
- CUDNN >= 8.2
- TensorRT >= 8.5.0
- libprotobuf-dev == 3.6.1
- [Compute Capability](https://developer.nvidia.com/cuda-gpus#compute) >= sm_80
- Python >= 3.6
The data in the performance table was obtained by us on the Nvidia Orin platform, using TensorRT-8.6, cuda-11.4 and cudnn8.6 statistics.
## Quick Start for Inference
### 1. Download models and datas to CUDA-FastBEV directory
- download model.zip
- download nuScenes-example-data.zip
```bash
# download models and datas to CUDA-FastBEV
cd CUDA-FastBEV
# unzip models and datas
unzip model.zip
unzip nuScenes-example-data.zip
# here is the directory structure after unzipping
CUDA-FastBEV
|-- example-data
|-- 0-FRONT.jpg
|-- 1-FRONT_RIGHT.jpg
|-- ...
|-- example-data.pth
|-- x.tensor
|-- y.tensor
`-- valid_c_idx.tensor
|-- src
|-- ptq
|-- model
|-- resnet18int8
| |-- fastbev_pre_trt.onnx
| |-- fastbev_post_trt_decode.onnx
| |-- fastbev_ptq.pth
|-- resnet18
`-- resnet18int8head
`-- tool
```
### 2. Configure the environment.sh
- Install python dependency libraries
```bash
apt install libprotobuf-dev
pip install onnx
```
- Modify the TensorRT/CUDA/CUDNN/fastbev variable values in the tool/environment.sh file.
```bash
# change the path to the directory you are currently using
export TensorRT_Lib=/path/to/TensorRT/lib
export TensorRT_Inc=/path/to/TensorRT/include
export TensorRT_Bin=/path/to/TensorRT/bin
export CUDA_Lib=/path/to/cuda/lib64
export CUDA_Inc=/path/to/cuda/include
export CUDA_Bin=/path/to/cuda/bin
export CUDA_HOME=/path/to/cuda
export CUDNN_Lib=/path/to/cudnn/lib
# resnet18/resnet18int8/resnet18int8head
export DEBUG_MODEL=resnet18int8
# fp16/int8
export DEBUG_PRECISION=int8
export DEBUG_DATA=example-data
export USE_Python=OFF
```
- Apply the environment to the current terminal.
```bash
. tool/environment.sh
```
### 3. Compile and run
1. Building the models for tensorRT
```bash
bash tool/build_trt_engine.sh
```
2. Compile and run the program
```bash
bash tool/run.sh
```
## PTQ and export ONNX
- PTQ
```bash
python ptq_bev.py
```
- QAT
```bash
python qat_bev.py
```
- export ONNX
```bash
python export_onnx.py
```
## DEMO show
![Alt text](demo/sample0_vis_int8_head.png)
![Alt text](demo/sample1_vis_int8_head.png)
没有合适的资源?快使用搜索试试~ 我知道了~
算法部署-使用TensorRT部署FastBEV算法+进行PTQ量化加速-耗时优化到6.9ms+附项目源码-优质项目实战.zip
共44个文件
py:12个
hpp:12个
cpp:6个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 17 浏览量
2024-05-11
10:39:39
上传
评论
收藏 1.94MB ZIP 举报
温馨提示
算法部署_使用TensorRT部署FastBEV算法+进行PTQ量化加速_耗时优化到6.9ms+附项目源码_优质项目实战
资源推荐
资源详情
资源评论
收起资源包目录
算法部署_使用TensorRT部署FastBEV算法+进行PTQ量化加速_耗时优化到6.9ms+附项目源码_优质项目实战.zip (44个子文件)
算法部署_使用TensorRT部署FastBEV算法+进行PTQ量化加速_耗时优化到6.9ms+附项目源码_优质项目实战
CMakeLists.txt 3KB
tool
environment.sh 2KB
draw.py 9KB
requirements.txt 171B
run.sh 282B
cudasm.sh 572B
build_trt_engine.sh 3KB
src
main.cpp 4KB
common
dtype.hpp 2KB
visualize.hpp 4KB
check.hpp 5KB
timer.hpp 2KB
visualize.cu 20KB
tensorrt.cpp 10KB
tensor.hpp 5KB
launch.cuh 4KB
tensor.cu 22KB
tensorrt.hpp 2KB
fastbev
fastbev.hpp 971B
postprecess.cpp 16KB
normalization.cu 11KB
vtransform.cu 4KB
postprecess.hpp 2KB
vtransform.hpp 988B
fastbev.cpp 5KB
fastbev_post.hpp 750B
fastbev_pre.hpp 754B
fastbev_post.cpp 3KB
fastbev_pre.cpp 2KB
normalization.hpp 3KB
configs
fastbev_m0_r18_s256x704_v200x200x4_c192_d2_f1.py 10KB
demo
sample0_vis_int8_head.png 1006KB
sample1_vis_int8_head.png 978KB
README.md 4KB
ptq
lean
__init__.py 0B
exptool.py 16KB
quantize.py 21KB
funcs.py 7KB
tensor.py 2KB
train.py 7KB
ptq_bev.py 8KB
export_onnx.py 12KB
dump-data.py 6KB
tensor.py 3KB
共 44 条
- 1
资源评论
极智视界
- 粉丝: 2w+
- 资源: 1512
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功