首先得制作好自己的数据集
我的数据是来自比赛的一个数据集 里面就是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. Activity平移动画
  2. python比java简单好学-python和java哪个学起来更简单
  3. 【工具使用系列】关于 MATLAB 电路与系统分析,你需要知道的事
  4. react封装函数_React-Router源码解读
  5. 【2018.4.14】模拟赛之二-ssl2392 蚂蚁【图论】
  6. [蓝桥杯历届试题] 欧拉与鸡蛋
  7. ReactiveCocoa核心元素与信号流
  8. Hive设计和体系结构
  9. 一些不错的计算机书籍
  10. 三种Fibonacci数列第n项计算方法及其优劣分析
  11. Yaml spring boot 二维数组写法
  12. java底层实现分页
  13. centos 6.2网卡配置
  14. mac的hosts文件位置在哪?
  15. BLE安全之SM剖析(1)
  16. repl_backlog原理是什么
  17. CLOSE关闭连接的各种情况
  18. 用友和金蝶ERP产品私有云部署方案
  19. ARM核心板有哪些不同之处?
  20. Proteus C51仿真学习板0——KeilProteus

热门文章

  1. vlookup使用步骤_vlookup怎么用详细步骤(vlookup函数的使用方法)
  2. 基于Verilog HDL与虚拟实验平台的【计算机组成】与CPU实验第三章:三态门和多路器
  3. JetBrain系列软件的学生授权认证及认证到期重新申请授权
  4. np.cosh没有分配_Python中带有示例的math.cosh()方法
  5. windows10如何安装IIS6.0
  6. MapX编程详解(C++)----MapX发布技术
  7. initramfs模式介绍及解决方法
  8. python制表符的作用_Python制表符是什么
  9. 关闭windows server 2012 IE增强的安全配置
  10. leaflet流入迁徙图(canvas技术)(leaflet篇.71)