1.前期准备工作就绪
CUDA CUDNN GPU安装完成
2.opencv-3.2.0安装
1)首先安装依赖项,在终端安装即可
sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
2)修改opencv里面的相关文件
* 进入OpenCVDetectCUDA.cmake找到第21行,将 if(CUDA_FOUND) set(HAVE_CUDA 1) 中1改成0
** 进入opencv目录,找到CMakeList.txt文件
*** 进入文件找到176,177行,将ON改成OFF
**** 进入Opencv目录,新建build文件夹,在终端运行如下命令
cd build #进入到build文件夹
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local .. #开始编译
make -j8
sudo make install -j8
我在编译make 的时候改成了make -j6(主要看自己到电脑系统)
***** 完成编译之后就可以查看opencv时候完成,输入如下命令查看,不报错即安装完成
python
import cv2
3. 安装yolov3(darknet)
按照官网安装即可:https://pjreddie.com/darknet/yolo/ 命令为:
git clone https://github.com/pjreddie/darknet
cd darknet
make
1)更改配置文件
进入makefile
之后进行编译,代码如下
make -j6(根据自己到电脑选择j6/j8)
一般情况下,到此编译完成,或者会出现如下几个错误。
1运行代码运行图片或者视频时候出现错误
这种情况下需要为opencv添加路径
1)在第2步中,sudo make install后不要运行python ,首先运行sudo gedit /etc/ld.so.conf(’gedit‘ 与 ’/‘ 之间有一个空格),修改文件,如下图所示:
2)运行:sudo ldconfig
3)运行sudo gedit /etc/bash.bashrc修改bash.bashrc文件,在文件末尾加入:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
修改后如下图所示:
4)运行source /etc/bash.bashrc(注意‘source’与 ‘/’ 之间到空格)
2 运行视频代码,如果出现如下错误
CUDA Error: out of memory
darknet: ./src/cuda.c:36: check_error: Assertion `0' failed.
修改darknet 中yolov3.cfg文件,如下图所示:
j将training下的batch与subdivisions注销,将testing下batch与subdivisions设为1,在运行代码,完成,不会报错。
参考文章:https://blog.csdn.net/qq_36362060/article/details/80739573
https://blog.csdn.net/cv_you/article/details/77341631
https://blog.csdn.net/fanhongyuan21/article/details/81909994