当前位置:网站首页>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 sampler 2022-2028: Research Report on technology, participants, trends, market size and share
- Service call feign of "micro service"
- Leetcode (Sword finger offer) - 35 Replication of complex linked list
- Reading notes on how to connect the network - hubs, routers and routers (III)
- Research and investment strategy report of China's electronic hydrogen peroxide industry (2022 Edition)
- Logstack configuration details -- elasticstack (elk) work notes 020
- 20220701 barbarat lemma proof
- Jianzhi offer 09 realizes queue with two stacks
- Implementation principle of redis string and sorted set
- 165 webmaster online toolbox website source code / hare online tool system v2.2.7 Chinese version
猜你喜欢
C language - Introduction - Foundation - syntax - [main function, header file] (II)
2022-2028 global strain gauge pressure sensor industry research and trend analysis report
How to ensure the uniqueness of ID in distributed environment
HMS core helps baby bus show high-quality children's digital content to global developers
2022-2028 research and trend analysis report on the global edible essence industry
C language - Introduction - Foundation - syntax - [operators, type conversion] (6)
2022-2028 global small batch batch batch furnace industry research and trend analysis report
How should PMP learning ideas be realized?
How does idea withdraw code from remote push
ArrayBuffer
随机推荐
Global and Chinese market of air fryer 2022-2028: Research Report on technology, participants, trends, market size and share
At the age of 30, I changed to Hongmeng with a high salary because I did these three things
C语言-入门-基础-语法-[运算符,类型转换](六)
How does idea withdraw code from remote push
Logstack configuration details -- elasticstack (elk) work notes 020
Global and Chinese trisodium bicarbonate operation mode and future development forecast report Ⓢ 2022 ~ 2027
Global and Chinese markets of water heaters in Saudi Arabia 2022-2028: Research Report on technology, participants, trends, market size and share
2022-2028 global special starch industry research and trend analysis report
Awk from entry to earth (15) awk executes external commands
Upgrading Xcode 12 caused Carthage to build cartfile containing only rxswift to fail
"How to connect the network" reading notes - Web server request and response (4)
China electronic grade sulfur trioxide Market Forecast and investment strategy report (2022 Edition)
2022-2028 global tensile strain sensor industry research and trend analysis report
Solve the problem of "Chinese garbled MySQL fields"
Jianzhi offer 09 realizes queue with two stacks
How to display √ 2 on the command line terminal ̅? This is actually a blog's Unicode test article
How do microservices aggregate API documents? This wave of show~
[untitled] forwarding least square method
Launpad | 基礎知識
2022-2028 global intelligent interactive tablet industry research and trend analysis report