系统相关
首页 > 系统相关> > Ubuntu+Yolov5+TensortRT加速部署

Ubuntu+Yolov5+TensortRT加速部署

作者:互联网

Ubuntu+Yolov5+TensortRT加速部署

0.前序

1.软件下载

  1. Nvidia驱动安装历史版本下载
  2. CUDA下载安装
  3. CUDNN下载安装
  4. OpenCV3.4.4下载
  5. Anaconda下载Linux版本 or Python安装
  6. Pytorch安装
  7. Yolov5安装
  8. TensorRT安装

2.软件安装

2.1 驱动安装

2.2 CUDA安装

wget https://developer.download.nvidia.com/compute/cuda/11.4.2/loc
al_installers/cuda_11.4.2_470.57.02_linux.run

sudo sh cuda_11.4.2_470.57.02_linux.run
gedit ~/.bashrc
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.4/lib64
export PATH=$PATH:/usr/local/cuda-11.4/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-11.4
source ~/.bashrc

2.3 CUDNN安装

sudo dpkg -i libcudnn8_8.2.4.15-1+cuda11.4_amd64.deb  
sudo dpkg -i libcudnn8-dev_8.2.4.15-1+cuda11.4_amd64.deb  
sudo dpkg -i libcudnn8-samples_8.2.4.15-1+cuda11.4_amd64.deb
ldconfig -v | grep cudnn

tar zxvf cudnn-11.4-linux-x64-v8.2.4.tgz
$ sudo cp cuda/include/cudnn.h /usr/local/cuda/include
$ sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
$ sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
sudo ln -sf /usr/local/cuda-11.4/targets/x86_64-linux/lib/libcudnn_ops_train.so.8.2.4 /usr/local/cuda-11.4/targets/x86_64-linux/lib/libcudnn_ops_train.so.8
sudo ln -sf /usr/local/cuda-11.4/targets/x86_64-linux/lib/libcudnn_adv_train.so.8.2.4 /usr/local/cuda-11.4/targets/x86_64-linux/lib/libcudnn_adv_train.so.8
sudo ln -sf /usr/local/cuda-11.4/targets/x86_64-linux/lib/libcudnn_cnn_infer.so.8.2.4 /usr/local/cuda-11.4/targets/x86_64-linux/lib/libcudnn_cnn_infer.so.8
sudo ln -sf /usr/local/cuda-11.4/targets/x86_64-linux/lib/libcudnn_ops_infer.so.8.2.4 /usr/local/cuda-11.4/targets/x86_64-linux/lib/libcudnn_ops_infer.so.8
sudo ln -sf /usr/local/cuda-11.4/targets/x86_64-linux/lib/libcudnn_cnn_train.so.8.2.4 /usr/local/cuda-11.4/targets/x86_64-linux/lib/libcudnn_cnn_train.so.8
sudo ln -sf /usr/local/cuda-11.4/targets/x86_64-linux/lib/libcudnn_adv_infer.so.8.2.4 /usr/local/cuda-11.4/targets/x86_64-linux/lib/libcudnn_adv_infer.so.8
sudo ln -sf /usr/local/cuda-11.4/targets/x86_64-linux/lib/libcudnn.so.8.2.4 /usr/local/cuda-11.4/targets/x86_64-linux/lib/libcudnn.so.8
# Copy the cuDNN sample to a writable path.
cp -r /usr/src/cudnn_samples_v7/ $HOME

# Go to the writable path.
 cd  $HOME/cudnn_samples_v7/mnistCUDNN

#Compile the mnistCUDNN sample.
make clean && make

#Run the mnistCUDNN sample.
 ./mnistCUDNN

If cuDNN is properly installed and running on your Linux system, you will see a message similar to the following:
Test passed!

2.4 Opencv安装

tar zxvf opencv-3.4.4.tar.gz
apt-get install qt4-default 
cmake -D CMAKE_BUILD_TYPE=RELEASE -D PYTHON_DEFAULT_EXECUTABLE=$(/home/xujunkai/test/python_env/bin/python3 -c "import sys; print(sys.executable)") -D PYTHON3_EXECUTABLE=$(/home/xujunkai/test/python_env/bin/python3 -c "import sys; print(sys.executable)") -D PYTHON3_NUMPY_INCLUDE_DIRS=$(/home/xujunkai/test/python_env/bin/python3 -c "import numpy; print(numpy.get_include())") -D PYTHON3_PACKAGES_PATH=$(/home/xujunkai/test/python_env/bin/python3 -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())") -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D WITH_V4L=ON -D WITH_OPENGL=ON -D WITH_CUDA=ON -D ENABLE_FAST_MATH=1 -D WITH_FFMPEG=ON -D CUDA_FAST_MATH=1 -D CUDA_NVCC_FLAGS="-D_FORCE_INLINES" -D CUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-11.4/ -D WITH_NVCUVID=ON -D CUDA_ARCH_BIN=5.3,6.0,6.1,7.0,7.5 -D CUDA_ARCH_PTX=7.5 -D WITH_CUBLAS=1 -D OPENCV_EXTRA_MODULES_PATH=/home/xujunkai/test/opencv_base/opencv_contrib/modules -D CUDA_nppicom_LIBRARY=stdc++ -D WITH_OPENMP=ON ..
sudo apt-get install libv4l-dev
cd /usr/include/linux
sudo ln -s ../libv4l1-videodev.h videodev.h
将   boostdesc_bgm 内步所有文件放在 opencv_contrib/modules/xfeatures2d/src/  下
make -j8
make install

2.5 Python环境安装

2.6 pytorch安装

pip3 install torch==1.10.2+cu113 torchvision==0.11.3+cu113 torchaudi
o==0.10.2+cu113 -f https://download.pytorch.org/whl/cu113/torch_sta
ble.html

2.7 yolov5下载

git clone https://github.com/ultralytics/yolov5.git
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt
python detect.py --source ./data/images/ --weights weights/yolov5s.pt --conf 0.4

2.8 TensorRT安装

image-20220307225901926

tar zxvf TensorRT-8.2.1.8.Linux.x86_64-gnu.cuda-11.4.cudnn8.2.tar.gz
export LD_LIBRARY_PATH=TensorRT解压路径/lib:$LD_LIBRARY_PAT
vi ~/.bashrc
export CUDA_INSTALL_DIR=/usr/local/cuda-11.4   
export CUDNN_INSTALL_DIR=/usr/local/cuda-11.4
source ~/.bashrc
sudo cp -r ./lib/* /usr/lib
sudo cp -r ./include/* /usr/include
pip install pycuda
apt-get install -y libpython3.6-dev
export CPLUS_INCLUDE_PATH=/usr/local/python3.6m
cd TensorRT-8.2.1.8/python

pip install tensorrt-8.2.1.8-cp36-none-linux_x86_64.whl

# 进入python解释器
import tensorrt
tensorrt.__version__
# TensorRT 为7.X版本需要去data/mnist 执行 python download_pgms.py瞎子啊数据集
cd 路径/TensorRT-8.2.1.8/samples/sampleMNIST
# 编译
make clean
make
cd 路径/TensorRT-8.2.1.8/bin
./sample_mnist

2.9 编译tensorrt/yolov5

git clone https://github.com/wang-xinyu/tensorrtx.git
python gen_wts.py --weights weights/yolov5s.pt
# 创建build
mkdir build
cd build
# 拷贝 yolov5s.wts 到tensorrtx/yolov5/build
# yololayer.h内CLASS_NUM 可以定义种类类型
cmake ..
make
yolov5 -s yolov5s.wts yolov5s.engine s

标签:Yolov5,lib,11.4,linux,TensortRT,usr,Ubuntu,local,cuda
来源: https://www.cnblogs.com/xujunkai/p/15987098.html