栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python处理tiny-imagenet的val,直接可用!

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python处理tiny-imagenet的val,直接可用!

tinyimagenet下载数据的保存方式

val文件夹下的文件

其中images是图片,val—annotations.txt是包含分类信息和框位置信息的标签文件,因为我用来做分类任务的,就没管后面的框,只提取了分类标签和图片名,有需要提取其他信息的可直接参考我代码中的a,b的来源

import os
import shutil
#因为我做分类,tinyimagenet一共有200个分类,val中每个分类有50张,所以先创建存放图片的文件夹
def mkdir(path):
    folder=os.path.exists(path)
    if not folder:
        os.makedirs(path)
    else:
        print(path)
if __name__=='__main__':
#tinyimagenet提供了200分类的txt,winds.txt,根据它创建
    file='data/val'
    with open('data/wnids.txt', 'r') as w:
        for line in w.readlines():
            line = line.strip('n')
            folder=file+'/'+line
            mkdir(folder)
    


里面尚未有图片

#现在根据val_annotations.txt,来提取出images中的每一类图片,根据每一行图片的信息,来指定对应文件夹存放
with open("data/val/val_annotations.txt", 'r') as f:
        for line in f.readlines():
            line = line.strip('n')
            dirlist = []
            imagelist=[]
            dir = line.split()
            dir_name = dir[1:2]
            image_name=dir[0:1]
            dirlist.append(dir_name)
            imagelist.append(image_name)
            a=dirlist[0][0]
            b=imagelist[0][0]
            image_path='data/val/images'+'/'+b
            dir_path='data/val'+'/'+a
            shutil.copy(image_path, dir_path)


正好50个,类别也正确。这就处理结束了!程序还是有有点冗长,感觉有许多操作可以更加简化,不过还是可以的。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/326492.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号