https://github.com/a-rison/tensorrt-for-yolo
Tensorrt cpp api implementation for yolo models with docker support
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (7.7%) to scientific vocabulary
Repository
Tensorrt cpp api implementation for yolo models with docker support
Basic Info
- Host: GitHub
- Owner: a-rison
- Language: Python
- Default Branch: main
- Size: 0 Bytes
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
CUDA OpenCV with Contrib Modules - Docker Setup
This project provides a Docker-based setup for building OpenCV with the opencv_contrib modules using CUDA (version ≥ 12.4). It is ideal for applications that require GPU acceleration for computer vision tasks.
✅ Requirements
- CUDA Version: >= 12.4
- NVIDIA GPU with drivers compatible with CUDA 12.4+
- Docker (version 20.10+ recommended)
- NVIDIA Container Toolkit for GPU support in Docker
🐳 Docker Setup
1. Install Docker (Ubuntu)
Follow these steps to install Docker on Ubuntu:
```bash
Update package lists and install dependencies
sudo apt-get update sudo apt-get install -y ca-certificates curl
Add Docker's official GPG key
sudo install -m 0755 -d /etc/apt/keyrings sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc sudo chmod a+r /etc/apt/keyrings/docker.asc
Add Docker repository to APT sources
echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo "${UBUNTUCODENAME:-$VERSIONCODENAME}") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Update and install Docker Engine
sudo apt-get update sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Set up the NVIDIA Docker repository
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
Install NVIDIA Container Toolkit
sudo apt update sudo apt install -y nvidia-docker2
Restart Docker daemon
sudo systemctl restart docker
docker compose build
docker compose up ```
2. Exec into the docker
bash
docker exec -it yolo-tensorrt-container bash
3. Build with Opencv_contrib
```bash wget -O opencv.zip https://github.com/opencv/opencv/archive/4.x.zip wget -O opencvcontrib.zip https://github.com/opencv/opencvcontrib/archive/4.x.zip unzip opencv.zip unzip opencv_contrib.zip
Create build directory and switch into it
mkdir -p build && cd build
Configure
cmake \ -D CMAKEBUILDTYPE=RELEASE \ -D CMAKEINSTALLPREFIX=$(python3 -c "import sys; print(sys.prefix)") \ -D INSTALLPYTHONEXAMPLES=ON \ -D INSTALLCEXAMPLES=ON \ -D WITHTBB=ON \ -D ENABLEFASTMATH=1 \ -D CUDAFASTMATH=1 \ -D WITHCUBLAS=1 \ -D WITHCUDA=ON \ -D BUILDopencvcudacodec=ON \ -D WITHCUDNN=ON \ -D OPENCVDNNCUDA=ON \ -D WITHV4L=ON \ -D WITHQT=OFF \ -D BUILDopencvapps=OFF \ -D BUILDopencvpython2=OFF \ -D OPENCVGENERATEPKGCONFIG=ON \ -D OPENCVPCFILENAME=opencv.pc \ -D OPENCVENABLENONFREE=ON \ -D WITHOPENGL=OFF \ -D WITHGSTREAMER=ON \ -D OPENCVPYTHON3INSTALLPATH=$(python3 -c "from distutils.sysconfig import getpythonlib; print(getpythonlib())") \ -D OPENCVEXTRAMODULESPATH=../../opencvcontrib-4.x/modules \ -D PYTHONEXECUTABLE=$(which python3) \ -D BUILDEXAMPLES=ON \ -D CUDNNINCLUDEDIR=/usr/include \ -D CUDNNLIBRARY=/usr/lib/x8664-linux-gnu/libcudnn.so \ -D CUDAARCHBIN="8.6" \ ..
Build
make -j$(nproc) make install ```
4. Prepare TRT Env
bash
pip install tensorrt
pip install cuda-python
5. Export ONNX
```bash pip install ultralytics
from ultralytics import YOLO model = YOLO("yolo12n.pt") model.export(format='onnx') ```
6. Generate TRT File
bash
python export.py -o yolo112n.onnx -e yolo12n.trt --end2end --v8 -p fp32
tensorrt-for-yolo
Owner
- Name: Aryan Sinha
- Login: a-rison
- Kind: user
- Location: Bhubaneshwar
- Company: IIIT Bhubaneshwar
- Twitter: arisonsinha
- Repositories: 4
- Profile: https://github.com/a-rison
Intuitive Programmer
GitHub Events
Total
- Push event: 1
- Create event: 1
Last Year
- Push event: 1
- Create event: 1
Dependencies
- nvidia/cuda ${CUDA_VERSION}-devel-ubuntu22.04 build
- yolo-tensorrt-image latest
- cuda-python *
- tensorrt *