首先是修改配置文件,config/nanodet_custom_xml_dataset.yml

主要是修改以下几项

class_names: &class_names ['aeroplane','bicycle','bird','boat','bottle','bus','car','cat','chair','cow','diningtable',
'dog','horse','motorbike','person','pottedplant','sheep','sofa','train','tvmonitor']num_classes: 20img_path: /media/sf_D_DRIVE/tmp/data/VOCtrainval_11-May-2012/VOCdevkit/VOC2012/JPEGImages
ann_path: /media/sf_D_DRIVE/tmp/data/VOCtrainval_11-May-2012/VOCdevkit/VOC2012/Annotations

参考全部文件

#Config File example
save_dir: workspace/nanodet_m
model:weight_averager:name: ExpMovingAveragerdecay: 0.9998arch:name: NanoDetPlusdetach_epoch: 10backbone:name: ShuffleNetV2model_size: 1.0xout_stages: [2,3,4]activation: LeakyReLUfpn:name: GhostPANin_channels: [116, 232, 464]out_channels: 96kernel_size: 5num_extra_level: 1use_depthwise: Trueactivation: LeakyReLUhead:name: NanoDetPlusHeadnum_classes: 20input_channel: 96feat_channels: 96stacked_convs: 2kernel_size: 5strides: [8, 16, 32, 64]activation: LeakyReLUreg_max: 7norm_cfg:type: BNloss:loss_qfl:name: QualityFocalLossuse_sigmoid: Truebeta: 2.0loss_weight: 1.0loss_dfl:name: DistributionFocalLossloss_weight: 0.25loss_bbox:name: GIoULossloss_weight: 2.0# Auxiliary head, only use in training time.aux_head:name: SimpleConvHeadnum_classes: 20input_channel: 192feat_channels: 192stacked_convs: 4strides: [8, 16, 32, 64]activation: LeakyReLUreg_max: 7class_names: &class_names ['aeroplane','bicycle','bird','boat','bottle','bus','car','cat','chair','cow','diningtable',
'dog','horse','motorbike','person','pottedplant','sheep','sofa','train','tvmonitor']
data:train:name: XMLDatasetclass_names: *class_namesimg_path: /media/sf_D_DRIVE/tmp/data/VOCtrainval_11-May-2012/VOCdevkit/VOC2012/JPEGImages ann_path: /media/sf_D_DRIVE/tmp/data/VOCtrainval_11-May-2012/VOCdevkit/VOC2012/Annotationsinput_size: [320,320] #[w,h]keep_ratio: Truepipeline:perspective: 0.0scale: [0.6, 1.4]stretch: [[1, 1], [1, 1]]rotation: 0shear: 0translate: 0.2flip: 0.5brightness: 0.2contrast: [0.8, 1.2]saturation: [0.8, 1.2]normalize: [[103.53, 116.28, 123.675], [57.375, 57.12, 58.395]]val:name: XMLDatasetclass_names: *class_namesimg_path: /media/sf_D_DRIVE/tmp/data/VOCtrainval_11-May-2012/VOCdevkit/VOC2012/JPEGImages #Please fill in val image pathann_path: /media/sf_D_DRIVE/tmp/data/VOCtrainval_11-May-2012/VOCdevkit/VOC2012/Annotations #Please fill in val xml pathinput_size: [320,320] #[w,h]keep_ratio: Truepipeline:normalize: [[103.53, 116.28, 123.675], [57.375, 57.12, 58.395]]
device:gpu_ids: [0] # Set like [0, 1, 2, 3] if you have multi-GPUsworkers_per_gpu: 8batchsize_per_gpu: 96
schedule:
#  resume:
#  load_model: YOUR_MODEL_PATHoptimizer:name: AdamWlr: 0.001weight_decay: 0.05warmup:name: linearsteps: 500ratio: 0.0001total_epochs: 300lr_schedule:name: CosineAnnealingLRT_max: 300eta_min: 0.00005val_intervals: 10
grad_clip: 35
evaluator:name: CocoDetectionEvaluatorsave_key: mAPlog:interval: 10

开始训练

export PYTHONPATH=.
python tools/train.py config/nanodet_custom_xml_dataset.yml

voc的数据集的标签文件,Annotations/2011_003353.xml的ymin是一个float类型,运行时代码会报错,

ValueError: invalid literal for int() with base 10:

我就没改代码,直接把45.7改为了45

同样的还有2011_006777.xml

当然上面的配置是比较暴力,把所有数据都作为训练数据和验证数据,这肯定是不合理的

那我们可以把一部分数据移动到另一个文件夹即可,如

mv *9.xml ../test/Annotations

然后把验证数据的 ann_path 设定为新建的文件夹即可

nanodet训练voc数据集相关推荐

  1. DETR训练VOC数据集

    在学习DETR过程中,原模型用的COCO数据集,训练的太慢了,故使用VOC数据集.网上找了好长好长时间,好多博客都走不通,特此记录一下. 1. 数据集准备 数据集转换目标:文件夹名为coco, 里面包 ...

  2. yolov5训练voc数据集

    1.数据集 下载好voc数据集,以2007为例,把数据集(VOCtrainval_06-Nov-2007和VOCtest_06-Nov-2007)都解压同一个文件夹里,记住解压后的图片是从000001 ...

  3. Yolox训练VOC数据集

    使用旷视科技发布的Yolox训练自己的VOC数据集,标注文件与yolov3.yolov4.yolov5格式相同. 一.搭建Yolox代码环境 1.下载Yolox代码 Yolox代码链接:GitHub ...

  4. (官方步骤)YOLO-V3训练VOC数据集

    前提:编译好darknet,教程参考本人链接:https://blog.csdn.net/qq_34806812/article/details/81167836 开始: darknet目录下新建VO ...

  5. windows10和ubuntu两种环境搭建YOLOX环境配置,并训练VOC数据集

    前言:本文使用的代码来自于:https://github.com/Megvii-BaseDetection/YOLOX,确保系统中已经安装好cuda cudnn,未装好的请自行查阅资料进行安装 一.W ...

  6. mmdetection训练voc数据集

  7. 20、NanoDet训练、测试 以及使用ncnn部署Jetson Nano 进行目标检测和串口数据转发

    基本思想:最近想尝试一下nano 上部署nanodet,于是记录一下训练过程,手中有一份labelme标注的数据集,于是开始了一波操作~ 首先进行划分数据集分为训练集和验证集 31.TensorFlo ...

  8. mmdetection训练自己的VOC数据集及常见问题

    训练自己的COCO数据集及常见问题见下文: mmdetection训练自己的COCO数据集及常见问题_不瘦8斤的妥球球饼的博客-CSDN博客 目录 一.环境安装 二.训练测试步骤 三.常见问题 bat ...

  9. YOLOv7训练自己的VOC数据集

    YOLOv7源码:https://github.com/WongKinYiu/yolov7 本文是对YOLOV7训练自己的yolo数据集的扩展,具体训练等步骤不再详细赘述,遇到看不懂的请移步YOLOV ...

最新文章

  1. Adaboost通俗易懂入门教程
  2. 排序算法:希尔、归并、快速、堆排序
  3. 6 个核心理念!诠释了吴恩达新书《Machine Learning Yearning》
  4. 微软正在考虑将Windows默认浏览器改为Chromium
  5. android sp wp实例,android sp wp详解
  6. [禅悟人生]谦虚有助于自我消融
  7. 一个关于反序列化的小问题
  8. 2013蓝桥杯C++B:高斯日记;马虎的算式(2种解法)
  9. 042 实例10-文本词频统计
  10. 「深度小课堂」如何开发一款属于自己的时尚屏保应用?
  11. sql server在指定模式下创建表
  12. scala练习——fold函数
  13. 【问题征集】向 iPod 之父、iPhone 联合设计者、Google Nest 创始人 Tony Fadell 提问啦
  14. 一个直肠癌患者的最后50天,转发自阮一峰博客
  15. html 项目实战摄影开课吧,最新《开课吧Web全栈架构师正式课》(Vue.JS及实战项目)...
  16. 地图可视化绘制 | R-tanaka/metR包 绘制3D阴影效果地图
  17. 儒家文化圈孕育人工智能新文明
  18. On the Generality of Facial Forgery Detection论文原文翻译以及阅读笔记
  19. Linux系统的简易命令(三)
  20. 画流动虚线框(java)

热门文章

  1. Ubuntu系统执行shell 脚本的方法
  2. Manifest merger failed : uses-sdk:minSdkVersion 15 cannot be smaller than version 16 declared in lib
  3. Android studio更新后出现警告:Warning:The `android.dexOptions.incremental` property is deprecated and it has
  4. com.android.ide.common process ProcessException:Failed to execcue aapt
  5. MyBatis 切换不同的类型数据库方案
  6. 大话设计模式之简单的工厂模式
  7. DOS批处理的字符串功能
  8. ORB_SLAM2代码阅读(3)——LocalMapping线程
  9. 交换排序图解_图解简单选择排序
  10. from . import_python首行代码import *,from * import * 解析