yolov4+vs2019的配置(gpu+opencv)(一些错误的解决video stream stooped!)+创建自己的数据集并训练,测试

只是作为自己的一个记录。并不是特别详细。

VS2019提示升级

打开时候选择升级不影响。

安装cuda和cudnn

参考,这里

安装opencv

教程

遇到的错误

一般来说修改cuda版本时候,算力也得同时修改,即下面的1和2两个错误。
1.未找到导入的项目“C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\BuildCustomizations\CUDA 10.0.props”。

参考方案。
2.MSB372 darknet cuda 9.1.targets 707
compute 86 ,compute 35

https://blog.csdn.net/qq_34806812/article/details/82986890
3.其他
here

训练自己的数据集

voc数据集的准备
在这里插入图片描述
创建上面格式的VOC数据集

其中,
annotation下的xml文件
Main中的train.txt文件
JPEGImages中的图片文件

这三个都是自己的
JPEGimgaes中是原图片。

在x64/data文件夹下创建oobj.data和obj.names.这部分可以参考github官方文档。

运行voc_label.py如果提示gbk错误,在这里修改编码格式

def convert_annotation(year, image_id):
    in_file = open('mydata/VOCdevkit/VOC%s/Annotations/%s.xml' % (year, image_id), encoding='utf-8')
    out_file = open('mydata/VOCdevkit/VOC%s/labels/%s.txt' % (year, image_id), 'w', encoding='utf-8')

用下面的代码生成train.txt:

import os
from os import listdir, getcwd
from os.path import join

if __name__ == '__main__':
    source_folder = 'D:\\VS2019Project\\darknet_master\\darknet-master\\mydata\\VOCdevkit\\VOC2020\\JPEGImages'
    dest = 'D:\\VS2019Project\\darknet_master\\darknet-master\\mydata\\VOCdevkit\\VOC2020\\ImageSets\\Main\\train.txt'
    # dest2 = 'D:\\VS2019Project\\darknet_master\\darknet-master\\mydata\\VOCdevkit\\VOC2020\\ImageSets\\Main\\val.txt'
    file_list = os.listdir(source_folder)
    train_file = open(dest, 'a')
    # val_file = open(dest2, 'a')
    for file_obj in file_list:
        file_path = os.path.join(source_folder, file_obj)

        file_name, file_extend = os.path.splitext(file_obj)

        file_num = int(file_name)

        if file_num < 776:

            train_file.write(file_name + '\n')
        else:
            # val_file.write(file_name + '\n')
            break
    train_file.close()
    # val_file.close()

最后将生成的Main文件下的train文件复制到data文件夹下!

2 下一步就是训练。

附:json转为voc数据集的格式

还没有验证,先把链接保存下来。
链接

1.需要预训练权重。

在这里插入图片描述

如果没有会随机初始化权重。

2.**修改yolov4-custom.cfg。

参考GitHub官方文档就好。**
参考底下的链接。

3.运行voc_label.py将生成的2012_train.txt重命名为train.txt,复制到data文件夹下!

因为在obj.data中train路径为data/train.txt。也可以将这里修改为2012-train.txt.

4.训练命令

darknet.exe detector train data/obj.data cfg/yolov4-obj.cfg yolov4.conv.137

reference

https://blog.csdn.net/qq_30121457/article/details/112629354?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_baidulandingword-2&spm=1001.2101.3001.4242

https://blog.csdn.net/c2250645962/article/details/106064832?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-3.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-3.control

https://blog.csdn.net/weixin_44771532/article/details/105495755

https://blog.csdn.net/weixin_38353277/article/details/105841023

https://www.cnblogs.com/bob-jianfeng/p/12888111.html

video stream stooped解决方法:

参考这里

dll的配置

官网:https://github.com/AlexeyAB/darknet

一个参考:https://blog.csdn.net/qq_38316300/article/details/107290202
记得一定要在附加依赖项中添加yolo_cpp_dll.lib。
不然会提示无法解析的外部符号问题,一般出现这个问题我们就要知道是自己的库有问题。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值