注意:请按顺序完成以下步骤
sudo apt-get update
sudo apt-get install -y build-essential libssl-dev
cd /home
#你也可以从官方网站下载相应的文件
wget https://extremevision-js-userfile.oss-cn-hangzhou.aliyuncs.com/user-45129-files/496f99a0-2e7e-4454-8bad-f90dad285655/cmake-3.24.3.tar.gz
tar -zxvf cmake-3.24.3.tar.gz
cd cmake-3.24.3/
./bootstrap
make
sudo make install
hash -r
cmake --version
cd /home
#你也可以从官方网站下载相应的文件
wget https://extremevision-js-userfile.oss-cn-hangzhou.aliyuncs.com/user-45129-files/47d66834-779b-41d6-8393-8f6137d094a2/opencv412.zip
unzip opencv412.zip
find ./ -type f |xargs touch
cd opencv-4.1.2 && rm -rf build && mkdir build && cd build
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=/home/opencv_contrib -D PYTHON_DEFAULT_EXECUTABLE=/usr/bin/python3 -D BUILD_opencv_python3=OFF -D BUILD_opencv_python2=OFF -D PYTHON3_EXCUTABLE=/usr/bin/python3 -D WITH_CUDA=OFF -D OPENCV_GENERATE_PKGCONFIG=ON ..
make -j8
sudo make install
pkg-config --modversion opencv4
请确保系统是Ubuntu1804,安装的CUDA版本为11.1,否则大概率后续的编译或者运行会出错
sudo apt update
sudo apt install -y nano
cd /home
#你也可以从官方网站下载相应的文件
wget https://extremevision-js-userfile.oss-cn-hangzhou.aliyuncs.com/user-45129-files/594bdc1f-557d-40da-bf48-645e779b6808/TensorRT7.2.2.3Ubuntu1804cuda11.1cudnn8.0.tar.gz
tar -xzvf TensorRT7.2.2.3Ubuntu1804cuda11.1cudnn8.0.tar.gz
nano ~/.bashrc
# 将下面4个环境变量写入环境变量文件并保存
export TENSORRT_ROOT=/home/TensorRT-7.2.2.3
export LD_LIBRARY_PATH=/home/TensorRT-7.2.2.3/lib:$LD_LIBRARY_PATH
export CUDA_INSTALL_DIR=/usr/local/cuda-11.1
export CUDNN_INSTALL_DIR=/usr/local/cuda-11.1
# 使刚刚修改的环境变量文件生效
source ~/.bashrc
sudo nano /etc/profile
#同样修改profile
export TENSORRT_ROOT=/home/TensorRT-7.2.2.3
export LD_LIBRARY_PATH=/home/TensorRT-7.2.2.3/lib:$LD_LIBRARY_PATH
export CUDA_INSTALL_DIR=/usr/local/cuda-11.1
export CUDNN_INSTALL_DIR=/usr/local/cuda-11.1
source /etc/profile
#下面是安装Python的TensorRT包:进到解压的TensorRT目录下的Python目录:
cd /home/TensorRT-7.2.2.3/python/
# 对于python2,请注意,下面的cp27表示只适用于python2.7
sudo pip2 install tensorrt-7.2.2.3-cp27-none-linux_x86_64.whl
# 对于python3,请注意,下面的cp37表示只适用于python3.7。例如python3.8需要改为cp38
sudo pip3 install tensorrt-7.2.2.3-cp37-none-linux_x86_64.whl
#安装uff和graphsurgeon
#xxx\TensorRT-7.2.2.3\下有uff和graphsurgeon,分别安装两个文件夹下的安装包 (激活对应的虚拟环境,比如我是python37):
cd ..
pip install uff/uff-0.6.9-py2.py3-none-any.whl
pip install graphsurgeon/graphsurgeon-0.4.5-py2.py3-none-any.whl
sudo apt update
sudo apt-get install -y libeigen3-dev swig
mkdir -p ./cppmodels
然后将yolobytedxc2_6、yolov5、yolov5_cpp_6这三个文件夹放置于/project/ev_sdk/src/
将yolov5的GitHub提供的分辨率为1280的预训练模型放置到/project/ev_sdk/src/cppmodels,推荐m6模型(已经上传到本项目的GitHub对应的文件夹),选用其他大小的模型也是可以的,只不过需要修改yolobytedxc2_6/convert_yolov5.sh
#编译yolov5_cpp_6
cd yolov5_cpp_6
rm -rf build
mkdir build
cd build
cmake ..
make -j8
cd ..
cd ..
#编译yolobytedxc2_6
cd yolobytedxc2_6
rm -rf CMakeFiles CMakeCache.txt Makefile cmake_install.cmake yolobyteapi.py libyolov5_trt.so
cmake ./ \
-DPYTHON_INCLUDE_DIR=$(python -c "from distutils.sysconfig import get_python_inc; print(get_python_inc())") \
-DPYTHON_LIBRARY=$(python -c "import distutils.sysconfig as sysconfig; print(sysconfig.get_config_var('LIBDIR'))")
make -j8
#导出模型,注意如果你前面放的不是m6模型,需要修改这个脚本才行
bash yolobytedxc2_6/convert_yolov5.sh