pytorch-retinanet训练自己的数据集
1.VOC数据集标注
https://blog.csdn.net/qq_38082979/article/details/102868269
2.VOC2csv
得到annotations.csv
classes.csv
val.csv
# -*- coding:utf-8 -*-import csv
import os
import glob
import sysclass PascalVOC2CSV(object):def __init__(self,xml=[], ann_path='./annotations.csv',classes_path='./classes.csv'):''':param xml: 所有Pascal VOC的xml文件路径组成的列表:param ann_path: ann_path:param classes_path: classes_path'''self.xml = xmlself.ann_path = ann_pathself.classes_path=classes_pathself.label=[]self.annotations=[]self.data_transfer()self.write_file()def data_transfer(self):for num, xml_file in enumerate(self.xml):try:# print(xml_file)# 进度输出sys.stdout.write('\r>> Converting image %d/%d' % (num + 1, len(self.xml)))sys.stdout.flush()with open(xml_file, 'r') as fp:for p in fp:if '<filename>' in p:self.filen_ame = p.split('>')[1].split('<')[0]if '<object>' in p:# 类别d = [next(fp).split('>')[1].split('<')[0] for _ in range(9)]self.supercategory = d[0]if self.supercategory not in self.label:self.label.append(self.supercategory)# 边界框x1 = int(d[-4]);y1 = int(d[-3]);x2 = int(d[-2]);y2 = int(d[-1])self.annotations.append([os.path.join('/data/VOCdevkit/VOC2007/JPEGImages',self.filen_ame),x1,y1,x2,y2,self.supercategory])except:continuesys.stdout.write('\n')sys.stdout.flush()def write_file(self,):with open(self.ann_path, 'w', newline='') as fp:csv_writer = csv.writer(fp, dialect='excel')csv_writer.writerows(self.annotations)class_name=sorted(self.label)class_=[]for num,name in enumerate(class_name):class_.append([name,num])with open(self.classes_path, 'w', newline='') as fp:csv_writer = csv.writer(fp, dialect='excel')csv_writer.writerows(class_)xml_file = glob.glob('./Annotations/*.xml')PascalVOC2CSV(xml_file)
3.pytorch-retinanet
https://github.com/yhenon/pytorch-retinanet
4.pytorch1.1修改nms
https://github.com/huaifeng1993/NMS
model文件修改
def nms(dets, thresh):"Dispatch to either CPU or GPU NMS implementations.\Accept dets as tensor"""dets = np.array(dets.cpu())#return pth_nms(dets, thresh)return gpu_nms(dets, thresh)
pytorch-retinanet训练自己的数据集相关推荐
- 使用Retinanet训练自己的数据集
目录 目录 1 构建Retinanet环境 2 生成CSV文件 3训练 4.转化模型 5.测试 6.评测 loss可视化 ap,precision-recall 数据集什么的看我之前博客,资源里也有标 ...
- pytorch——AlexNet——训练花分类数据集
宝藏博主:霹雳吧啦Wz_太阳花的小绿豆_CSDN博客-深度学习,Tensorflow,软件安装领域博主 目录 数据集下载 训练集与测试集划分 "split_data.py" Ale ...
- detectron2训练自己的数据集_YOLO(v3)PyTorch版 训练自己的数据集
Yolo v3比Frcnn好调试多了--就是数据集准备比较麻烦-- 但是好Debug,linux和win10差别不大-- 代码链接(cpu版本): https://github.com/eriklin ...
- (Pytorch) YOLOV4 : 训练自己的数据集【左侧有码】
项目地址:https://github.com/argusswift/YOLOv4-pytorch 这份代码实现的逻辑非常清楚,主要一些数据集处理的代码需要相应的改动: 这里的数据集label格式: ...
- pyTorch入门(五)——训练自己的数据集
学更好的别人, 做更好的自己. --<微卡智享> 本文长度为1749字,预计阅读5分钟 前言 前面四篇将Minist数据集的训练及OpenCV的推理都介绍完了,在实际应用项目中,往往需要用 ...
- YOLOV3训练自己的数据集(PyTorch版本)
由于这一段时间从事目标检测相关工作,因而接触到yolov3,进行目标检测,具体原理大家可以参考大神的博客目标检测(九)--YOLO v1,v2,v3,我就不细讲了,直接进入正题,如何利用深度学习框架P ...
- 【Pytorch分布式训练】在MNIST数据集上训练一个简单CNN网络,将其改成分布式训练
文章目录 普通单卡训练-GPU 普通单卡训练-CPU 分布式训练-GPU 分布式训练-CPU 租GPU服务器相关 以下代码示例基于:在MNIST数据集上训练一个简单CNN网络,将其改成分布式训练. 普 ...
- Pytorch版deeplabv3+环境配置训练自己的数据集
这个很不错:https://blog.csdn.net/qq_39056987/article/details/106455828 [windows10]使用pytorch版本deeplabv ...
- Pytorch实现中药材(中草药)分类识别(含训练代码和数据集)
Pytorch实现中药材(中草药)分类识别(含训练代码和数据集) 目录 Pytorch实现中药材(中草药)分类识别(含训练代码和数据集) 1. 前言 2. 中药材(中草药)数据集说明 (1)中药材(中 ...
- 1.Pytorch框架下使用yolov3-tiny网络模型 训练自己的数据集
在Pytorch框架下使用yolov3-tiny网络模型 ,训练自己的数据集 1.本文参考链接如下: https://blog.csdn.net/gbz3300255/article/details/ ...
最新文章
- 美国国家创新体系的演化历程、特点及启示
- 中兴交换机查看光纤板支持的类型
- java gson 工具类_gson工具类将Java类转换为json的使用
- P1375-小猫【卡特兰数】
- 【BZOJ3218】a+b problem (最小割 + 主席树)
- Leetcode--150. 逆波兰表达式求值
- 2013年快要过去了,为新来的2104计划
- 掉入陷阱的数字 (15 分)
- tomcat默认密码,admin,manager密码需要自己设置,tomcat-users.xml
- Python+django网页设计入门(20):使用WebSocket创建多人在线聊天室
- 2021-09-07218. 天际线问题
- 和威金作者的聊天记录 (附:VIKING专杀及杀毒思路)
- TAC配置错误导致无法切换
- C语言中,开3次方用什么?
- 布尔矩阵与自动推荐系统
- Python利用Twitter API根据tweet id抓取tweet(via tweepy/twython)
- 【大数据】第二章:搭建Hadoop集群(送尚硅谷大数据笔记)
- Dynamics CRM 知识库设置
- 载荷谱、雨流计数、ncode中雨流计数的实现
- linux cmake 编译64位,cmake编译win下64位obs