当前位置:网站首页>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 三维点云
更多三维、二维感知算法和金融量化分析算法请关注“乐乐感知学堂”微信公众号,并将持续进行更新。
边栏推荐
- Upgrading Xcode 12 caused Carthage to build cartfile containing only rxswift to fail
- Trim leading or trailing characters from strings- Trim leading or trailing characters from a string?
- Report on research and investment prospects of polyglycolic acid industry in China (2022 Edition)
- 2022-2028 global special starch industry research and trend analysis report
- Global and Chinese markets for laser assisted liposuction (LAL) devices 2022-2028: Research Report on technology, participants, trends, market size and share
- The 14th five year plan and investment risk analysis report of China's hydrogen fluoride industry 2022 ~ 2028
- Flutter tips: various fancy nesting of listview and pageview
- Write a jison parser (7/10) from scratch: the iterative development process of the parser generator 'parser generator'
- 2022-2028 global gasket metal plate heat exchanger industry research and trend analysis report
- How to batch change file extensions in win10
猜你喜欢
2022-2028 global gasket metal plate heat exchanger industry research and trend analysis report
Markdown syntax
2022-2028 global protein confectionery industry research and trend analysis report
Explain TCP protocol in detail three handshakes and four waves
C语言-入门-基础-语法-[主函数,头文件](二)
C语言-入门-基础-语法-[标识符,关键字,分号,空格,注释,输入和输出](三)
After unplugging the network cable, does the original TCP connection still exist?
Logstack configuration details -- elasticstack (elk) work notes 020
2022-2028 global gasket plate heat exchanger industry research and trend analysis report
How to batch change file extensions in win10
随机推荐
2022-2028 global industrial gasket plate heat exchanger industry research and trend analysis report
Global and Chinese markets of hemoglobin analyzers in care points 2022-2028: Research Report on technology, participants, trends, market size and share
Trees and graphs (traversal)
2022-2028 global industry research and trend analysis report on anterior segment and fundus OTC detectors
If you can quickly generate a dictionary from two lists
How to display √ 2 on the command line terminal ̅? This is actually a blog's Unicode test article
Are there any principal guaranteed financial products in 2022?
Mantis creates users without password options
Awk from entry to earth (15) awk executes external commands
MySQL foundation 02 - installing MySQL in non docker version
In depth investigation and Strategic Research Report on China's motion controller Market (2022 Edition)
C language - Introduction - Foundation - syntax - [main function, header file] (II)
2022-2028 global protein confectionery industry research and trend analysis report
Deadlock in channel
Lauchpad X | 模式
什么是权限?什么是角色?什么是用户?
【LeetCode 42】501. Mode in binary search tree
2022-2028 global strain gauge pressure sensor industry research and trend analysis report
How to ensure the uniqueness of ID in distributed environment
2022-2028 global tensile strain sensor industry research and trend analysis report