darknet 训练分类网络

目录

1. 下载

2. 解压

3. 代码处理

4.处理后格式

5. 开启训练

6. 测试


1. 下载

https://pjreddie.com/media/files/cifar.tgz

2. 解压

3. 代码处理

import os


if __name__ == '__main__':
    data_path = r"E:\code\c++\darknet-master\data\cifar"
    dir_name_list = os.listdir(data_path)
    for dir_name in dir_name_list:  # train / test
        dir_full_str = os.path.join(data_path, dir_name)
        if os.path.isdir(dir_full_str):
            list_file_path = os.path.join(data_path, "{}.list".format(dir_name))  # train.list / test.list
            fd = open(list_file_path, "w", encoding="utf-8")
            # read image name
            img_name_list = os.listdir(dir_full_str)
            for img_name in img_name_list:
                # cur_img_relative_path = "{}/{}\n".format(dir_name, img_name)  # relative path
                cur_img_abstract_path = "{}\{}\n".format(dir_full_str, img_name)   # abstract path
                fd.write(cur_img_abstract_path)
            fd.close()

4.处理后格式

train.list内容,指明图片路径。 

 再创建一个数据集说明文件:cifar.data

cifar.data内容如下

classes=10
train  = E:\code\c++\darknet-master\data/cifar/train.list
valid  = E:\code\c++\darknet-master\data/cifar/test.list
labels = E:\code\c++\darknet-master\data/cifar/labels.txt
backup = backup/
top=2

5. 开启训练

命令行开启训练,这里的darknet.exe是之前编译生成的

darknet.exe classifier train 数据集说明文件路径 网络配置说明文件

darknet.exe classifier train E:\code\c++\darknet-master\data\cifar\cifar.data E:\code\c++\darknet-master\cfg\cifar_small.cfg

 默认的训练配置:

训练中:

 

训练结束: 

6. 测试

darknet.exe classifier valid E:\code\c++\darknet-master\data\cifar\cifar.data E:\code\c++\darknet-master\cfg\cifar_small.cfg backup/cifar_small_final.weights

 可以看到top1和top2分类精度都挺高的。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
darknet图像分类任务中,我们将使用自己的数据集进行猫狗分类。首先,我们需要准备一个包含猫狗图像的数据集。这个数据集应该包含猫和狗的图像,每个图像都要有相应的标签,表示它是一只猫还是一只狗。 接下来,我们需要使用darknet框架进行图像分类darknet是一个轻量级的深度学习框架,适用于图像分类、目标检测和语义分割等任务。我们可以使用darknet中的一个已经训练好的模型进行迁移学习,也可以自己从头开始训练一个新模型。 训练模型的第一步是将数据集分为训练集和验证集。通常,我们将数据集的80%作为训练集,20%作为验证集。训练集用来训练模型的参数,验证集用来评估模型的性能。 接下来,我们需要准备配置文件。配置文件包含了训练模型的相关参数,比如网络结构、学习率、批次大小等。我们可以根据自己的需求进行调整。 然后,我们可以使用darknet命令行工具来训练模型。在训练过程中,模型会不断地根据训练集的图像和标签进行参数更新,以提高对猫狗图像的分类性能。训练过程需要一定的时间,取决于数据集的大小和计算资源的性能。 训练完成后,我们可以使用验证集对模型进行评估。评估结果会告诉我们模型的准确率和召回率,以及其他性能指标。如果模型的性能达到了我们的要求,我们就可以使用它对新的猫狗图像进行分类了。 总之,通过使用自己的数据集和darknet框架,我们可以实现猫狗图像分类任务,得到一个准确率高的模型,用于对新的猫狗图像进行分类

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr.Q

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值