首先得制作好自己的数据集
我的数据是来自比赛的一个数据集 里面就是voc格式的数据集
所以 我只需要将VOC数据集转化为csv格式就可以 如果直接是图片 要制作VOC数据集的 可以看我的另一篇关于yolov3的训练 里面有介绍
1 制作自己的数据集 代码如下

import os
import xml.etree.ElementTree as ET
import random
import math
import argparsedef parse_args():parser = argparse.ArgumentParser()parser.add_argument('-i', '--indir', type=str)parser.add_argument('-p', '--percent', type=float, default=0.05)parser.add_argument('-t', '--train', type=str, default='train.csv')parser.add_argument('-v', '--val', type=str, default='val.csv')parser.add_argument('-c', '--classes', type=str, default='class.csv')args = parser.parse_args()return args#获取特定后缀名的文件列表
def get_file_index(indir, postfix):file_list = []for root, dirs, files in os.walk(indir):for name in files:if postfix in name:file_list.append(os.path.join(root, name))return file_list#写入标注信息
def convert_annotation(csv, address_list):cls_list = []with open(csv, 'w') as f:for i, address in enumerate(address_list):in_file = open(address, encoding='utf8')strXml =in_file.read()in_file.close()root=ET.XML(strXml)for obj in root.iter('object'):cls = obj.find('name').textcls_list.append(cls)xmlbox = obj.find('bndbox')b = (int(xmlbox.find('xmin').text), int(xmlbox.find('ymin').text),int(xmlbox.find('xmax').text), int(xmlbox.find('ymax').text))f.write(file_dict[address_list[i]])f.write( "," + ",".join([str(a) for a in b]) + ',' + cls)f.write('\n')return cls_listif __name__ == "__main__":args = parse_args()file_address = args.indirtest_percent = args.percenttrain_csv = args.traintest_csv = args.valclass_csv = args.classesAnnotations = get_file_index('/home/wanliu/retinanet/VOC2007/Annotations', '.xml') 和下面的同理Annotations.sort()JPEGfiles = get_file_index('/home/wanliu/retinanet/VOC2007/JPEGImages', '.jpg') #可根据自己数据集图片后缀名修改 这是你VOC数据集的JPEGImage的路径 每一人路径不一样 我一般用的就是绝对路径JPEGfiles.sort()assert len(Annotations) == len(JPEGfiles) #若XML文件和图片文件名不能一一对应即报错file_dict = dict(zip(Annotations, JPEGfiles))num = len(Annotations)test = random.sample(k=math.ceil(num*test_percent), population=Annotations)train = list(set(Annotations) - set(test))cls_list1 = convert_annotation(train_csv, train)cls_list2 = convert_annotation(test_csv, test)cls_unique = list(set(cls_list1+cls_list2))with open(class_csv, 'w') as f:for i, cls in enumerate(cls_unique):f.write(cls + ',' + str(i) + '\n')

这样你就会在你代码的那个文件目录下 得到你要的csv格式的文件
class.csv文件格式如下 (ps 我是用Notepa++这个软件打开的)

train.csv 格式如下

val.csv的格式如下

这样就制作好了
2 https://github.com/yhenon/pytorch-retinanet/tree/master/retinanet
我跑的是这个仓库的
然后根据这个提示
2.1 先clone 下来这个仓库 放在你创建的一个文件夹下面
2.2 再通过root根用户(一定要是这个用户 不然下载不下来这个包)

apt-get install tk-dev python-tk

2.3 换到自己的用户 去激活一个环境 下载安装包等 这 我就不去写了 按照要求安装就好
2.4 训练

python train.py --dataset csv --csv_train /home/wanliu/retinanet/train.csv --csv_classes /home/wanliu/retinanet/class.csv --csv_val  /home/wanliu/retinanet/val.csv(都换成自己的路径)

但是在过程中

一直下载不下来这个 可能是网速问题 一直卡在这个
所以我直接网上下载这个模型 然后放在我当前的执行目录下

这样就开始训练啦

pytorch版训练retinanet-csv数据集相关推荐

  1. detectron2训练自己的数据集_YOLO(v3)PyTorch版 训练自己的数据集

    Yolo v3比Frcnn好调试多了--就是数据集准备比较麻烦-- 但是好Debug,linux和win10差别不大-- 代码链接(cpu版本): https://github.com/eriklin ...

  2. pytorch——AlexNet——训练花分类数据集

    宝藏博主:霹雳吧啦Wz_太阳花的小绿豆_CSDN博客-深度学习,Tensorflow,软件安装领域博主 目录 数据集下载 训练集与测试集划分 "split_data.py" Ale ...

  3. (Pytorch) YOLOV4 : 训练自己的数据集【左侧有码】

    项目地址:https://github.com/argusswift/YOLOv4-pytorch 这份代码实现的逻辑非常清楚,主要一些数据集处理的代码需要相应的改动: 这里的数据集label格式: ...

  4. pyTorch入门(五)——训练自己的数据集

    学更好的别人, 做更好的自己. --<微卡智享> 本文长度为1749字,预计阅读5分钟 前言 前面四篇将Minist数据集的训练及OpenCV的推理都介绍完了,在实际应用项目中,往往需要用 ...

  5. 结构化数据建模——titanic数据集的模型建立和训练(Pytorch版)

    本文参考<20天吃透Pytorch>来实现titanic数据集的模型建立和训练 在书中理论的同时加入自己的理解. 一,准备数据 数据加载 titanic数据集的目标是根据乘客信息预测他们在 ...

  6. WIN10 +pytorch版yolov3训练自己数据集

    pytorch版yolov3训练自己数据集 目录 1. 环境搭建 2. 数据集构建 3. 训练模型 4. 测试模型 5. 评估模型 6. 可视化 7. 高级进阶-网络结构更改 1. 环境搭建 将git ...

  7. 使用pytorch版faster-rcnn训练自己数据集

    使用pytorch版faster-rcnn训练自己数据集 引言 faster-rcnn pytorch代码下载 训练自己数据集 接下来工作 参考文献 引言 最近在复现目标检测代码(师兄强烈推荐FPN, ...

  8. Pytorch版deeplabv3+环境配置训练自己的数据集

    这个很不错:https://blog.csdn.net/qq_39056987/article/details/106455828     [windows10]使用pytorch版本deeplabv ...

  9. Step by Step演示如何训练Pytorch版的EfficientDet

    向AI转型的程序员都关注了这个号???????????? 机器学习AI算法工程   公众号:datayx Paper:https://arxiv.org/abs/1911.09070 Base Git ...

最新文章

  1. 数据库缓存最终一致性的四种方案
  2. 大型机,说爱你不容易
  3. 方法用于ThinkPHP3.1快速入门连贯操作
  4. 详解Parcel:快速,零配置web应用打包工具
  5. Perceptual Losses for Real-Time Style Transfer and Super-Resolution
  6. 【天梯选拔月赛】寻宝路线(dp)
  7. 淘淘商城系列——VMware添加已配置好的虚拟机
  8. odoo采购单入库代码剖析
  9. 怎么才能够坚持做一件事并且把它做好?
  10. 机器学习Sklearn Day1
  11. 网络爬虫的基本结构是什么?如何建立网络爬虫抓取数据?
  12. Chrome浏览器清除cookies方法
  13. 笔记本一直提示计算机内存不足怎么办,电脑总是提醒内存不足怎么办,电脑提醒内存不足-...
  14. 蓝桥杯------蓝桥幼儿园
  15. 自动驾驶开发中的地图
  16. 「信号机制」Python信号处理—signal模块
  17. 顾大松:对北京市出租车、网约车、顺风车文件征求意见稿的六项建议
  18. LaTeX中TikZ绘图备忘一
  19. C语言字符串的两种定义方式
  20. java 23_《分布式JAVA应用 基础与实践》 第三章 3.2 JVM内存管理(三)

热门文章

  1. Linux切换中英文环境
  2. 正弦信号发生器(A题)
  3. 使用stress服务进行CPU和内存压力测试
  4. antd3.x版本table使用fixed错位问题修复
  5. 基于STM32 HAL库的遥控小车
  6. BAT脚本开启、关闭IE代理服务器
  7. Android移动应用程序开发
  8. 【p2p】p2p streaming capturer based on flv
  9. js毫秒转换年月日时分秒
  10. 免备案二级域名 长久稳定+已备案