一、介绍 :
- 在python-Flask框架下部署yolo3貌似只能基于OpenCV的DNN模块来做,但是这样实在是太慢了,业务场景又不需要C++做极致的速度。
- 所以考虑让OpenCV做一个支持GPU的操作,这样yolo3在前向推理的时候速度就可以翻倍了。
二、需要的有:
- Ubuntu18.04(最好完全新装避免依赖问题,Ubuntu20.04.1测试失败-2020-11-25)
- 显卡RTX2080的435版本驱动
- Anaconda3-5.2.0(Python3.6.5)
- CUDA10.1(10.0不兼容)
- CuDnn7.6.5(要求7.5+)
三、安装CUDA
默认已经装好了anaconda和显卡驱动。
#装完了之后在bashrc里面写入路径
export CUDA_HOME=/usr/local/cuda
export PATH=$PATH:$CUDA_HOME/bin
export LD_LIBRARY_PATH=/usr/local/cuda-10.1/lib64{LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
使其生效:
source ~/.bashrc
测试用例验证:
cd /usr/local/cuda-10.1/samples/1_Utilties/deviceQuery
sudo make
./deviceQuery
出现Resut=PASS表示验证通过。
四、安装CuDnn
不要下载.deb格式的,直接下载cuDNN Library for Linux
解压之后进入这个文件夹,里面有一个cuda,在这里打开终端:
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
验证是否正确:(这个命令有点问题 cat出来的肯定对啊)
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
五、准备工作和下载文件
5.1 安装依赖
sudo apt-get install build-essential
sudo apt-get install libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libdc1394-22-dev
sudo apt-get install libgtk-3-dev libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev libgphoto2-dev libavresample-dev
5.2 下载项目文件
OpenCV 4.2.0:
https://gith