我没有安装CUDA,没有GPU,无cudnn
已安装opencv(使用pycharm安装),已安装darknet
安装darknet
- 下载darknet
git clone https://github.com/pjreddie/darknet.git
cd ~/darknet
- 编译
make -j8 //四核心cpu开八线程
- 测试
./darknet
- 成功
开始:
一 数据集准备
darknet目录下新建VOC文件夹
VOC 2012和2007数据集下载地址(右键复制链接用迅雷打开,速度很快):
https://pjreddie.com/projects/pascal-voc-dataset-mirror/
下载好的数据集放到VOC文件夹,解压
将三个解压后的文件,放在一个文件夹中VOCdevkit,因为VOCtest_06-Nov-2007.tar 和 VOCtrainval_06-Nov-2007.tar解压后的文件都是VOC2007,因此将后者解压后的文件改为VOC2007_test。
二 生成darknet需要的label文件
将darknet/scripts目录下的voc_label.py文件,拷贝至darknet目录下。打开voc_label.py文件,修改第7行,将列表的最后一个元组修改为(‘2007_test’,‘test’);修改第58行,将2007_test,改为2007_test_test。运行voc_label.py文件,darknet目录下会生成7个文件,分别为
2007_train.txt,2007_val.txt,2007_test_test.txt,2012_train.txt,2012_val.txt,train.txt,train.all.txt。
每一个txt文件中都存放着训练所需的文件的路径。除此之外,voc_label.py文件为每一副图片生成了一个存放label的txt文件。
每一行的5个参数的含义如下:
(类别,x,y,宽,高)
<object-class> <x> <y> <width> <height>
三 训练
在darknet目录下载权重文件:
wget https://pjreddie.com/media/files/darknet53.conv.74
修改 cfg/voc.data:第2和第3行改为自己的路径
开始训练:
在darknet目录下
./darknet detector train cfg/voc.data cfg/yolov3-voc.cfg darknet53.conv.74
将训练得到的weights文件拷贝到darknet/weights文件夹下面,运行以下命令检测图片:
./darknet detector test cfg/voc.data cfg/yolov3-voc.cfg weights/yolov3.weights data/dog.jpg
参考:
https://blog.csdn.net/zwx1995zwx/article/details/79874434
https://blog.csdn.net/qq_34806812/article/details/81292151
欢迎提问