【过程记录】Windows10中配置YOLOv3环境

我的第一篇博客,相当于找个地方存放自己的思维火花。现在都大三了,在竞赛方面还是一事无成,实验室方面也是进展寥寥,我这个人又没有什么整理的习惯,所以以这种“开源”的方式鞭策一下自己。反正写在这里也没人知道我是谁,写的不好没人看就是了。

一些废话

师兄有一天突然发来YOLOv3在Kears框架下的GitHub项目,让我学习一下回去可能会用,结合实验室现在要搭建半物理仿真平台对GNC系统做验证这样的背景,我就不假思索的完全照做。后来才发现直接利用YOLO原生的环境darknet就行了,不对内部进行更改,只进行使用的话完全不必使用Kears-YOLOv3,这种变化很大程度上是因为darknet架构太小众,而作为Tensorflow高级语言版的Kears架构则显然有更多的可操作性。

原始准备

建议没看过官方网站和最初出处的都去追本溯源一下,YOLO作者的网站有使用教程,GitHub上kears-yolo的md文档也很清晰,作者提到的使用方式都是很简单的,建议直接复刻。但是由于深度学习框架的开发环境基本是Linux,所以在windows上自然会出现莫名其妙的很多问题,这时再到中文环境中寻求解决方案(比如看这篇文章)。
darknet和YOLO,作者网站:https://pjreddie.com/darknet/yolo/
基于kears的YOLOv3,Github项目:https://github.com/qqwweee/keras-yolo3
更新:建议有条件的阅读这个GitHub项目的md文档Windows and Linux version of Darknet Yolo v3 & v2 Neural Networks for object detection (Tensor Cores are used)

您可能出现的问题有

  1. make是什么命令,我怎么跑不出来?
  2. 显示文件无法读取,打开一看什么都没有,咋回事?
  3. 我该如何配置作者提到的库环境?

第一个问题在于,darknet使用C语言进行编写,而Windows显然不自带编译C语言的功能。至于Linux系统上为什么可行?因为Linux是用C写出来的啊……
所以我们需要一个在Windows平台上能进行编译的编译器,人们常说的gcc是在Linux上(实为类Unix)使用的,Windows下可使用MinGW或cygwin构建类似环境。由于我使用MinGW时依然无法编译,故推荐使用cygwin(反正经过这一次折腾,你的Windows已经是个类Unix了,以后还怕啥)。
当然微软家的visual studio也具有编译C语言的功能,这一步总的来说就是找一个编译器就可以了。通过cmd使用之前记得添加路径。

第二个问题依然出在Windows和Linux的区别上。这是因为Windows默认的编码方式不同,造成了使用Git Bash通过命令下载的kears-yolo中文件不能被Windows打开。解决方式就是放下高逼格的Git Bash和命令,老老实实地到人家Github网页上点击下载……

第三个问题我的路子比较野,因为我最早接触python使用的是它的Anaconda发行版,所以我已经有了conda帮我进行环境管理,另外我始终坚信专业的事应该由专业的人做,所以我选用的IDE也是pycharm。在这我要吐槽一下,很多人说VScode更加轻便和美观,pycharm显得重型这样的话,我表示能理解,但是这绝对不是你不使用pycharm的理由。
在pycharm中使用快捷键ctrl+alt+s打开设置界面,在project interpreter中根据设置项“齿轮”和“加号”添加自己的新环境。需要注意的是,使用conda进行环境管理的用户需要点前面有绿色圈圈的选项。
同时我们也要注意到两者的区别,使用conda进行管理则新生成的环境(即对应版本的python核心和库们)自然是在你安装conda的文件路径下,而使用pycharm本身的环境管理则新的环境会跟随project的文件路径。

正式使用

以上,我们假设你成功安装并按照作者的要求配置了环境,那么下面我们就可以进行使用了。

在pycharm的terminal框框里面输入指令,原作者给出了使用方法,不再赘述。

至此,安装和使用环节到此结束,因为是后期整理的所以细节有很多不到位的地方,主要也是加入了我个人的解释和理解。

下一篇我们来测试视频识别功能以及针对任务要求训练自己的模型,敬请期待!

我一直怀着期待交流和批判的心态,请各位不吝赐教,谢谢!

你可能感兴趣的:(【过程记录】Windows10中配置YOLOv3环境)