Skip to content

《TensorRT-Alpha》 supports YOLOv8, YOLOv7, YOLOv6, YOLOv5, YOLOv4, YOLOv3, YOLOX, YOLOR and so on. TensorRT-Alpha implements CUDA C accelerated deployment models.The other 10 more CNN and transformer models are being sorted out,which will be updated in the future.CUDA IS ALL YOU NEED.Best Wish!

License

Notifications You must be signed in to change notification settings

codingonion/TensorRT-Alpha

 
 

Repository files navigation

TensorRT-Alpha

Cuda

English | 简体中文


可视化



介绍

本仓库提供深度学习CV领域模型加速部署案例,仓库实现的cuda c支持多batch图像预处理、推理、decode、NMS。大部分模型转换流程为:torch->onnx->tensorrt。 获取onnx文件以下有两种方式:

pth -> trt coming soon.
pth -> onnx -> trt:
  • [i]. 本仓库提供的网盘直接下载onnx。weiyun or google driver
  • [ii]]. 按照本仓库提供的指令,手动从相关源代码框架导出onnx。

更新

  • 2023.01.01 🔥 更新 yolov3, yolov4, yolov5, yolov6
  • 2023.01.04 🍅 更新 yolov7, yolox, yolor
  • 2023.01.05 🎉 更新 u2net, libfacedetection
  • 2023.01.08 🚀 全网最快支持yolov8的tensorrt部署
  • 2023.01.20 更新 efficientdet, pphunmanseg

安装

兼容平台: Windows and Linux. 以下环境已被测过:

Ubuntu18.04
  • cuda11.3
  • cudnn8.2.0
  • gcc7.5.0
  • tensorrt8.4.2.4
  • opencv3.x or 4.x
  • cmake3.10.2
Windows10
  • cuda11.3
  • cudnn8.2.0
  • visual studio 2017 or 2019 or 2022
  • tensorrt8.4.2.4
  • opencv3.x or 4.x
创建Python环境(可选)
# install miniconda first
conda create -n tensorrt-alpha python==3.8 -y
conda activate tensorrt-alpha
git clone https://github.com/FeiYull/tensorrt-alpha
cd tensorrt-alpha
pip install -r requirements.txt  

安装教程:

快速开始

Ubuntu18.04

设置TensorRT根目录(安装目录)路径:

git clone https://github.com/FeiYull/tensorrt-alpha
cd tensorrt-alpha/cmake
vim common.cmake
# 把common.cmake文件第20行中的TensorRT_ROOT修改成您的TensorRT安装目录, 例如改成如下:
# set(TensorRT_ROOT /root/TensorRT-8.4.2.4)

开始编译、运行工程,例如:yolov8

Windows10

图文详细版:Windows10环境配置

模型

目前已实现30多个主流模型,部分整理好的onnx文件如下列表:

🍉稍后在tesla v100 和 A100上测量时间开销!现在看看yolov8n在移动端RTX2070m(8G)的性能表现:

模型 视频分辨率 模型输入尺寸 显存占用 GPU利用率
yolov8n 1920x1080 8x3x640x640 1093MiB/7982MiB 14%
无法显示图片时显示的文字
一个batch内,平均每一帧的时间开销

严格的精度对齐,官方效果 vs TensorRT-Alpha:


无法显示图片时显示的文字
yolov8n : Offical( left ) vs Ours( right )

无法显示图片时显示的文字
yolov7-tiny : Offical( left ) vs Ours( right )

无法显示图片时显示的文字
yolov6s : Offical( left ) vs Ours( right )

无法显示图片时显示的文字
yolov5s : Offical( left ) vs Ours( right )

无法显示图片时显示的文字
yolov5s : Offical( left ) vs Ours( right )

无法显示图片时显示的文字
libfacedetection : Offical( left ) vs Ours( right topK:2000)

参考

[0].https://github.com/NVIDIA/TensorRT
[1].https://github.com/onnx/onnx-tensorrt
[2].https://github.com/NVIDIA-AI-IOT/torch2trt
[3].https://github.com/shouxieai/tensorRT_Pro
[4].https://github.com/opencv/opencv_zoo

Citation

@misc{FeiYull_TensorRT-Alpha,  
  author = {FeiYull},  
  title = {TensorRT-Alpha},  
  year = {2023},  
  publisher = {GitHub},  
  journal = {GitHub repository},  
  howpublished = {https://github.com/FeiYull/tensorrt-alpha}
}

About

《TensorRT-Alpha》 supports YOLOv8, YOLOv7, YOLOv6, YOLOv5, YOLOv4, YOLOv3, YOLOX, YOLOR and so on. TensorRT-Alpha implements CUDA C accelerated deployment models.The other 10 more CNN and transformer models are being sorted out,which will be updated in the future.CUDA IS ALL YOU NEED.Best Wish!

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 56.7%
  • Cuda 24.1%
  • Python 9.6%
  • CMake 8.9%
  • Other 0.7%