Just do it.
Just do something new and do it yourself.
记录一些关于yolo-darknet环境配置踩过的坑。
能力有限,但求指点,欢迎交流。
搭建环境
- OS: Ubuntu 16.04 LTS
- PC: ASUS K550J (EFI enable)
- GPU: GTX950M
- CPU: i5-4200H
- RAM: 4G
- DISK: 1T HDD (no SSD)
配置过程
安装Ubuntu
- 用UltraISO把iso文件烧到你的U盘,进BIOS打开EFI引导,并选择EFI模式下的U盘为第一引导项
- 安装Ubuntu到一个空白分区(可以通过分区压缩获得,如果是全新电脑就直接开始分区了):
- 注意根据提示划分那块bios efi的小分区,几十K即可;
- 划分swap交换分区,一般是你内存大小的3倍大,划在主分区后面;
- 剩下的划给主分区;
- 选择安装启动器到Windows使用的那个EFI启动分区。
- 进入分区界面前有几个选项要注意:
- 让你顺带安装更新的那个,不要勾选,更新的源大多自动匹配到了国外的,网速你懂的;
- 让你安装第三方闭源驱动和软件的,必须勾选,能解决很多开源驱动带来的问题。
- 安装,然后回到BIOS里面你会惊奇的发现出现了Ubuntu的EFI模式引导项(准确来说是两个,估计是那次我多搞了一个/boot)选择它为第一个。
- 成功进入Ubuntu
安装OpenCV
安装OpenCV主要是为了使用外置摄像头进行图像采集。
GitHub上有自动安装版本
1 | sudo su |
进入安装目录下的/2.4,提升*.sh文件的权限并执行
1 | sudo su |
然后就会开始极其漫长的安装过程。
第一次安装到某个阶段的时候卡死,
硬盘灯不闪,鼠标键盘没反应,我还以为安装失败强行重启了。
然后又开始一遍,又卡死。
我绝望了,但是冷静了下来,想了想
——怕是自己电脑配置太渣。
然后在安装前关闭了所有无关程序,
唯独打开了系统监视器(即Windows下的任务管理器)。
之后就非常惊奇地看到卡死的时候:
内存+CPU,全部占用100%
然后过了大概一个多小时,又全部降回去了,
没过三分钟,又是内存飙到100%,CPU反倒正常了
目测过了三个多小时,还是这个样子,倒是命令行每隔十几分钟跳一次字,
系统时钟已经卡到了和实际时间存在了十分钟到半小时不等的时差,
只有某几次命令行跳字的时候,内存占用下来了一点,系统时间一秒刷新了十几分钟
最后一脸无奈地睡了。
第二天打开笔记本盖子一看,
装好了,老大一个success。
安装darknet
打开终端1
2
3sudo su
git clone http://github.com/pjreddie/darknet.git
cd darknet
用gedit修改makefile文件
令OPENCV=1
然后在终端输入
1 | make -j8 |
安装NVIDIA官方GPU驱动
首先禁用开源驱动
新建一个.conf文件
1 | sudo gedit /etc/modprobe.d/blacklist-nouveau.conf |
写入以下内容1
2
3
4
5blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off
保存,重启后再打开终端,输入1
lsmod | grep nouveau
无输出即禁用成功
正式开始安装NVIDIA官方驱动了
我这里选择的是直接到系统的“软件和更新”里的“附加驱动”选择安装NVIDIA的专有驱动
(不要管他是否显示tested,安装就是了)
等待安装成功后,重启打开终端,输入1
nvidia-smi
正确显示你当前GPU的状况就OK了
安装CUDA
CUDA下载地址:https://developer.nvidia.com/cuda-downloads
选项顺序是Linux-x86_64-Ubuntu-16.04-deb(local)
1点多G,然后找个下载速度快的地方下了它,推荐迅雷等下载工具,
虽然并没有加速,但毕竟服务器在境外,浏览器没法断点续传,连接一断就得重新下载。
然后把下载好的文件包拷到“/home/用户名/”目录下,在终端里面输入
(注意你的deb文件名不一定是这个,这个是旧版的了)
1 | sudo dpkg -i cuda-repo-ubuntu1404-7-5-local_7.5-18_amd64.deb |
安装完成后输入
(注意你的cuda文件夹不一定是这个7.5的,这个是旧版的了)1
2export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
export PATH=/usr/local/cuda-7.5/bin:$PATH
再次安装darknet
再次用gedit打开makefile
(注意你的cuda文件夹不一定是这个7.5的,这个是旧版的了)
令开头GPU=1,同时令NVCC = /usr/local/cuda-7.5/bin/nvcc后保存退出
然后在终端输入
1 | make -j8 |
测试darknet
下载模型+测试模型
到这儿下载*.weight格式的模型:http://pjreddie.com/darknet/yolo/
终端切换到darknet的安装目录下
示例命令如下:1
2./darknet detect cfg/yolo.cfg yolo.weight data/horses.jpg
./darknet yolo test cfg/yolo-tiny.cfg yolo-tiny.weight
使用电脑/手机摄像头采集图像
电脑摄像头:1
./darknet detector demo cfg/voc.data cfg/tiny-yolo-voc.cfg weights/tiny-yolo-voc.weights
手机摄像头:
先在手机上安装好IP摄像头APP,配置好地址后,先用浏览器访问以确定视频源的路径
(因此这里的地址是你配置并确定好视频源的地址)1
./darknet detector demo data/coco.data yolo.cfg yolo.weights http://192.168.191.2:8080/video
参考资料
- http://blog.csdn.net/samylee/article/details/51684856
- http://blog.csdn.net/wjbwjbwjbwjb/article/details/52125475
- http://blog.csdn.net/u014696921/article/details/65626751
- http://blog.csdn.net/wuzuyu365/article/details/52469131
- http://blog.csdn.net/zafir_410/article/details/73188228
- http://blog.csdn.net/u013832707/article/details/53438574
- https://www.cnblogs.com/jackchen-Net/p/7954138.html
最后,这是本站的第六篇正式发文,感谢阅读。
如有意见和建议,欢迎通过首页的联系方式联系作者,
本文参考资料均来源于网络,作者保留相关权利,转载请注明出处。