当前位置:网站首页>mmclassification 标注文件生成
mmclassification 标注文件生成
2022-07-04 09:32:00 【Coding的叶子】
1 数据集构成
mmclassification数据集主要包含四个文件夹meta、train、val、test,其中meta存储了标注信息,包含train.txt、val.txt和test.txt三个文件。train、val、test存储了各个不同类别的图像。其构成如下图所示:
train.txt、val.txt和test.txt文件存储了图片路径和类别id,如下图所示:
train、val、test存储了各个不同类别的图像,相同类别的图像位于同一子文件夹下,子文件夹的名称为相应的类别名称,如下图所示:
上述示例图像中的数据来源于minist手写字体可视化数据集,已按照train、test文件夹进行存储,下载地址为:minist手写数字可视化数据集-深度学习文档类资源-CSDN下载。
2 标注文件生成
标注文件生成是指在没有meta文件夹的情况下,根据train、val、test文件夹自动生成meta文件夹,及其文件夹下的train.txt、val.txt和test.txt。
3 参考程序
# -*- coding: utf-8 -*-
"""
乐乐感知学堂公众号
@author: https://blog.csdn.net/suiyingy
"""
import os
from glob import glob
from pathlib import Path
def generate_mmcls_ann(data_dir, img_type='.png'):
data_dir = str(Path(data_dir)) + '/'
classes = ['0', '1', '2', '3', '4','5', '6', '7', '8', '9']
class2id = dict(zip(classes, range(len(classes))))
data_dir = str(Path(data_dir)) + '/'
dir_types = ['train', 'val', 'test']
sub_dirs = os.listdir(data_dir)
ann_dir = data_dir + 'meta/'
if not os.path.exists(ann_dir):
os.makedirs(ann_dir)
for sd in sub_dirs:
if sd not in dir_types:
continue
annotations = []
target_dir = data_dir + sd + '/'
for d in os.listdir(target_dir):
class_id = str(class2id[d])
images = glob(target_dir+d+'/*'+img_type)
for img in images:
img = d + '/' + os.path.basename(img)
annotations.append(img+' '+ class_id+'\n')
annotations[-1] = annotations[-1].strip()
with open(ann_dir+sd+'.txt', 'w') as f:
f.writelines(annotations)
if __name__ == '__main__':
data_dir = 'data/Minist手写数字可视化数据集/'
generate_mmcls_ann(data_dir)
4 运行结果
运行上述参考程序后,data_dir文件夹下会自动生成meta文件夹及相应的txt文件,txt文件内容如下图所示。
5 【python三维深度学习】python三维点云从基础到深度学习_Coding的叶子的博客-CSDN博客_python 三维点云
更多三维、二维感知算法和金融量化分析算法请关注“乐乐感知学堂”微信公众号,并将持续进行更新。
边栏推荐
- Mantis creates users without password options
- pcl::fromROSMsg报警告Failed to find match for field ‘intensity‘.
- C语言-入门-基础-语法-[主函数,头文件](二)
- Basic data types in golang
- After unplugging the network cable, does the original TCP connection still exist?
- HMS core helps baby bus show high-quality children's digital content to global developers
- 2022-2028 global industrial gasket plate heat exchanger industry research and trend analysis report
- Daughter love: frequency spectrum analysis of a piece of music
- Awk from entry to earth (18) GAW K line manual
- C language - Introduction - Foundation - syntax - [identifier, keyword, semicolon, space, comment, input and output] (III)
猜你喜欢
2022-2028 global industrial gasket plate heat exchanger industry research and trend analysis report
HMS core helps baby bus show high-quality children's digital content to global developers
Logstack configuration details -- elasticstack (elk) work notes 020
Reload CUDA and cudnn (for tensorflow and pytorch) [personal sorting summary]
C language - Introduction - Foundation - syntax - [operators, type conversion] (6)
After unplugging the network cable, does the original TCP connection still exist?
Mantis creates users without password options
C language - Introduction - Foundation - syntax - [variable, constant light, scope] (V)
2022-2028 global small batch batch batch furnace industry research and trend analysis report
Sword finger offer 30 contains the stack of Min function
随机推荐
Ultimate bug finding method - two points
Global and Chinese PCB function test scale analysis and development prospect planning report Ⓑ 2022 ~ 2027
Explanation of closures in golang
2022-2028 global industry research and trend analysis report on anterior segment and fundus OTC detectors
[untitled] forwarding least square method
2022-2028 global protein confectionery industry research and trend analysis report
Solution to null JSON after serialization in golang
Four common methods of copying object attributes (summarize the highest efficiency)
The old-fashioned synchronized lock optimization will make it clear to you at once!
Explain TCP protocol in detail three handshakes and four waves
Global and Chinese market of sampler 2022-2028: Research Report on technology, participants, trends, market size and share
"How to connect the network" reading notes - Web server request and response (4)
Deadlock in channel
Daughter love in lunch box
Lauchpad x | MODE
Launpad | basic knowledge
Reading notes of how the network is connected - understanding the basic concepts of the network (I)
Reading notes on how to connect the network - hubs, routers and routers (III)
After unplugging the network cable, does the original TCP connection still exist?
Clion console output Chinese garbled code