使用Darknet网络框架

本文档介绍了如何使用Darknet框架进行图像分类和目标检测的训练及测试。涉及步骤包括:生成训练和验证列表、修改配置文件、训练权重文件、评估模型、制作数据集以及解决报错问题。提供了相关命令行操作示例。
摘要由CSDN通过智能技术生成

【训练分类weight文件】
》命令:
./darknet classifier train cfg/mydata.data cfg/mydata.cfg
》若中途终端,基于已有的训练模型接着训练执行如下命令:
./darknet classifier train cfg/mydata.data cfg/mydata.cfg /home/page/Pictures/ImageSet/backup/mydata_44.weights
》评估训练weight文件的正确率:
./darknet classifier valid cfg/mydata.data cfg/mydata.cfg /home/page/Pictures/ImageSet/backup/mydata_44.weights

》制作train.list,val.list,lables.list
train文件夹中的每张图片的名字,需要包含label中的标签,比如有张图片属于类别”dog”,则这张图片名字可以命名为“dog_XXXXX”,其中XXXXX 为任意字符,但不能包含标签中其他类别的字符,否则程序就会当作该图片属于多个类。
train.list文件,这个文件里列出了train文件夹里所有的图片,每一行为一张图片的绝对路径。
val.list文件,这个文件里列出了val文件夹里所有的图片,每一行为一张图片的绝对路径。
注意:绝对路径里不能包含类别名字。
运行命令:python creat_list.py

import os
from os import listdir, getcwd
from os.path import join
if __name__ == '__main__':
    source_folder='/home/page/Pictures/ImageSet/set/'#地址是所有图片的保存地点!!!!
    dest='/home/page/Pictures/ImageSet/train.list' #保存train.txt的地址!!!!
    dest2='/home/page/Pictures/ImageSet/val.list'  #保存val.txt的地址!!!!
    file_list=os.listdir(source_folder)       #赋值图片所在文件夹的文件列表
    train_file=open(dest,'a')                 #打开文件
    val_file=open(dest2,'a')                  #打开文件
    file_num = 0
    for file_obj in file_list:                #访问文件列表中的每一个文件
        file_path=os.path.join(source_folder,file_obj) 
        #file_path保存每一个文件的完整路径
        file_name,file_extend=os.path.splitext(file_obj)
        #file_name 保存文件的名字,file_extend保存文件扩展名
        #file_num=int(file_name) 
        #把每一个文件命str转换为 数字 int型 每一文件名字都是由四位数字组成的  如 0201 代表 201     高位补零  
        file_num = file_num + 1
        if(file_num<9001):                     #前9000个文件用于训练!!!!!!!!
            #print file_num
            train_file.write('/home/page/Pictures/ImageSet/set/'+file_name+'.jpg'+'\n')  #用于训练前9000个的图片路径保存在train.list里面,结尾加回车换行
        elif(file_num<10001) :
            val_file.write('/home/page/Pictures/ImageSet/set/'+file_name+'.jpg'+'\n')    #其余的文件保存在val.txt里面
        elif(file_num<19001) :
            train_file.write('/home/page/Pictures/ImageSet/set/'+file_name+'.jpg'+'\n')
        else :
            val_file.write('/home/page/Pictures/ImageSet/set/'+file_name+'.jpg'+'\n')
    train_file.close()#关闭文件
    val_file.close()

》进入darknet/cfg文件夹,修改imagenet1k.data文件,并保存为mydata.data:

classes=2                              //类别数
train  = data/train.list                //训练集列表路径
valid  = data/valid
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值