Yolov3:Ubuntu18下AlexeyAB/darknet的配置

安装过程中自己踩过一些坑,特此将配置流程记录下来,希望对后人有所帮助。

由于写下此文是一时兴起,因此配置过程中没有留下截图,本文图极少,见谅。

在配置环境前请一定留意darknet的readme文件,由于版本更新,可能导致按网上找到文章的版本配置的环境并不适合你下载的darknet,导致不明原因的报错。

AlexeyAB/darknet git地址

我安装版本的环境需求:

CMake >= 3.8

CUDA 10.0

OpenCV >= 2.4

cuDNN >= 7.0 for CUDA 10.0

GPU with CC >= 3.0

on LinuxGCC or Clang, on WindowsMSVC 2015/2017/2019


一、硬件

cpu:i7-7700

gpu:gtx1070


二、前期准备

准备工作如下:

(1)win10安装ubuntu18双系统

(2)安装显卡驱动

(3)安装cuda10.0

(4)安装cudnn7.6

1、win10安装ubuntu18双系统

易踩的坑:

(1)需要注意自己电脑的启动模式,启动模式有uefi与Legacy两种   

(2)系统语言最好选择英文。第一次安装我选择中文,后可能是显卡驱动出错在登陆界面反复横跳无法进入桌面,参照网上方法进入tty,结果中文显示全部为 ■ ,最后没办法解决只能重装系统。

(3)分区参考:我总共为ubuntu留了200G空间,其中“/” 20480M,“swap” 16384M,“eif” 512M(引导ubuntu启动),“/home” 剩余空间

(4)Device for boot loader installation(安装引导启动器的设备)务必选择efi分区的盘符,否则ubuntu可能无法启动

双系统安装过程对于新手较为繁琐,在此不再赘述,推荐一篇详细教程:uefi启动方式详细安装教程

双系统卸载ubuntu(针对UEFI启动方式)

流程:首先将windows置为首选项,并删除ubuntu的启动项,再删除ubuntu占用分区。

千万不要直接删除分区,会导致win也无法启动

可以参考这篇文章

(1)下载easyUEFI

(2)将win的启动项置为首位(这一步也可以通过bios调整)

(3)删除ubuntu启动项

  可以通过重启电脑,看启动的是不是windows检验前面的设置是否成功,前面的设置成功后才能进行接下来的操作

(4)磁盘管理器中删除ubuntu占用磁盘空间,其中efi占用分区不能直接删除,方法如下

         Step 1 首先win+R打开运行,输入Diskpart

         Step 2 输入list disk,显示磁盘

         Step 3 输入要删除EFI分区所在的硬盘,具体在哪个盘可以在磁盘管理器中确认,我的在磁盘0中,输入select disk 0进入磁盘0 

         Step 4 输入list partition,列出磁盘0中的所有分区

         Step 5 通过大小和类型确认你需要删除的分区,efi占用分区类型为系统,我发现分区8为efi占用分区,输入select partition 8,选中分区8

          Step 6 输入delete partition override,删除分区8,override是强制删除分区,必须加上才能删除

这样就取回了被ubuntu占用的全部空间。

2、安装显卡驱动

 自动安装显卡驱动:

sudo ubuntu-drivers autoinstall

安装完成后建议重启电脑

3、CUDA安装

这里安装cuda10.0,原因是我一开始安装的是cuda9.0,make过程中报classifer.o的错,找不到解决方法,将cuda版本换为官方指定的10.0版本后编译正常。

(1)在官网下载CUDA10.0的runfile文件,此处为链接

按个人实际选择

(2)使用sh指令安装

 sudo sh cuda_10.0.130_410.48_linux.run

tips:用户条款可以用Ctrl+C跳过

由于驱动我们已经安装过了,因此这里是否安装驱动填 n,其余填 y,路径保持默认

补丁也通过sh安装

安装完毕后打开.bashrc添加环境变量

sudo gedit ~/.bashrc

在文件最后添加环境变量

export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64:/usr/local/cuda/extras/CPUTI/lib64

export CUDA_HOME=/usr/local/cuda-10.0/bin

export PATH=$PATH:$LD_LIBRARY_PATH:$CUDA_HOME

保存对环境变量的修改

source ~/.bashrc

至此,cuda安装完成。

检测cuda安装是否成功

cd/usr/local/cuda/samples/1_Utilities/deviceQuery

sudo make

./deviceQuery

最后输出Result=PASS即安装成功,若为FAIL可能因为安装完显卡驱动后未重启电脑。

4、cuDNN安装

官网下载适合自己的版本,需要登陆才能下载,我下载的是v7.6.5,选择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

sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

至此,准备工作已全部结束。


三、Yolov3的配置

从git下载源码 下载地址

tips:1、直接下载可能很慢继而出错,可以拉到码云,再从码云下载;

         2、opencv配置起来较为繁琐,容易出错,可直接使用如下命令。

sudoapt-get install libopencv-dev

解压后按需求修改 darknet/Makefile 文件

GPU=1                            #使用CUDA为GPU加速                   

CUDNN=1                       #使用cuDNN为GPU加速

OPENCV=1                     #使用opencv

AVX=0                             #与openmp加速cpu,若出错就置为0

DEBUG=0                       #是否开启YOLO的debug模式

OPENMP=0                    #代表编译过程将引入openmp,可使用多核CPU加速

LIBSO=0                        #编译库darknet.so

ZED_CAMERA=0          #构建具有ZED-3D相机支持的库(应安装ZED SDK)

...

...

NVCC=/usr/local/cuda-10.0/bin/nvcc    #修改为你自己的地址

...

...


编译

make

检验yolo安装是否成功

下载权重文件yolov3.weight     官网地址    网盘地址

将权重文件复制到darknet文件夹下,终端输入:

./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg

如果你配置了opencv,会跳出新窗口显示检测结果,如果没有则会在darknet文件夹下生成检测结果。

如果没有框可能是因为:

1、weight文件有问题(不知道为什么我的darknet文件夹下有一个yolov3.weight,可能是下载中断造成的,使用这个权重文件检测死活没有框,后来发现是权重文件不全,出错的只有7-8M,正确下载下来的应该是248M)

2、cfg文件,weights文件或data文件不匹配

非常经典的正确的检测结果

至此配置工作全部结束。

这次配置yolov3花费了不少时间,想想看可能是太急躁,执行每一步都要想清楚这一步是做什么的。期间重装ubuntu的过程中甚至根据不靠谱的教程clean了一个磁盘,有一些对我来说非常珍贵的照片就此丢失。

配置过程中走了不少弯路,希望大家别走了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,921评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,635评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,393评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,836评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,833评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,685评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,043评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,694评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,671评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,670评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,779评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,424评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,027评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,984评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,214评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,108评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,517评论 2 343

推荐阅读更多精彩内容