当前位置:网站首页>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 三维点云
更多三维、二维感知算法和金融量化分析算法请关注“乐乐感知学堂”微信公众号,并将持续进行更新。
边栏推荐
- Global and Chinese market of planar waveguide optical splitter 2022-2028: Research Report on technology, participants, trends, market size and share
- 20220701 Barbalat引理证明
- Les différents modèles imbriqués de listview et Pageview avec les conseils de flutter
- 《网络是怎么样连接的》读书笔记 - 认识网络基础概念(一)
- Trim leading or trailing characters from strings- Trim leading or trailing characters from a string?
- Awk from digging into the ground to getting started (10) awk built-in functions
- HMS core helps baby bus show high-quality children's digital content to global developers
- pcl::fromROSMsg报警告Failed to find match for field ‘intensity‘.
- Reading notes on how to connect the network - tcp/ip connection (II)
- Research Report on research and investment prospects of China's testing machine industry (2022 Edition)
猜你喜欢

Sword finger offer 30 contains the stack of Min function

2022-2028 global elastic strain sensor industry research and trend analysis report

2022-2028 global strain gauge pressure sensor industry research and trend analysis report

2022-2028 global intelligent interactive tablet industry research and trend analysis report
![[C Advanced] file operation (2)](/img/50/e3f09d7025c14ee6c633732aa73cbf.jpg)
[C Advanced] file operation (2)

Target detection -- intensive reading of yolov3 paper
![[untitled] forwarding least square method](/img/8b/4039715e42cb4dc3e1006e8094184a.png)
[untitled] forwarding least square method
](/img/89/0f5f4ba07c637b09abe873016cba2d.png)
C语言-入门-基础-语法-[标识符,关键字,分号,空格,注释,输入和输出](三)

How should PMP learning ideas be realized?

Solve the problem of "Chinese garbled MySQL fields"
随机推荐
Reading notes on how to connect the network - tcp/ip connection (II)
Report on the development trend and prospect trend of high purity zinc antimonide market in the world and China Ⓕ 2022 ~ 2027
Global and Chinese market of sampler 2022-2028: Research Report on technology, participants, trends, market size and share
2022-2028 global intelligent interactive tablet industry research and trend analysis report
Launpad | 基础知识
Les différents modèles imbriqués de listview et Pageview avec les conseils de flutter
C语言-入门-基础-语法-[主函数,头文件](二)
"How to connect the Internet" reading notes - FTTH
Awk from entry to earth (14) awk output redirection
Mantis creates users without password options
Service call feign of "micro service"
Function comparison between cs5261 and ag9310 demoboard test board | cost advantage of cs5261 replacing ange ag9310
How do microservices aggregate API documents? This wave of show~
Write a jison parser from scratch (4/10): detailed explanation of the syntax format of the jison parser generator
What is uid? What is auth? What is a verifier?
2022-2028 global gasket plate heat exchanger industry research and trend analysis report
The old-fashioned synchronized lock optimization will make it clear to you at once!
Investment analysis and prospect prediction report of global and Chinese high purity tin oxide Market Ⓞ 2022 ~ 2027
UML 时序图[通俗易懂]
pcl::fromROSMsg报警告Failed to find match for field ‘intensity‘.