Diretório de artigos
prefácio
Este artigo apresenta principalmente como converter o conjunto de dados de classificação de imagem existente em um conjunto de dados no formato ILSVRC
1. Conjunto de dados brutos
A estrutura de dados do conjunto de dados de classificação original é aproximadamente a seguinte:
Em seguida, sob os diretórios train e val estão as pastas que nomeamos após o nome da categoria, conforme mostrado na figura: ou seja, a
seguinte estrutura precisa ser satisfeita:
-数据集
-train
-class1
-class2
...
-val
-class1
-class2
2. Conversão de formato
O código de conversão é o seguinte:
import os
root=""#数据集根目录
class_id={
} #类别对应id的字典,如:{class1:0,class2:1} ,这个一定要记住
def create_txt(filename,mode):
filepath=os.path.join(root,filename)
with open(filepath,"a+") as f:
img_dir=os.path.join(root,mode)
for root1,dirs,files in os.walk(img_dir):
for file in files:
classname=root1.split(os.path.sep)[-1]
imgpath=os.path.join(root1,file)
data=imgpath+" "+str(class_id[classname])+"\n"
f.write(data)
if __name__ == '__main__':
create_txt("val.txt","val") #训练集即为create_txt("train.txt","train")
Após a execução, train.txt e val.txt serão gerados no diretório de estatísticas de train e val, conforme a figura:
a informação gravada nele é o caminho da imagem + id da categoria
Resumir
O texto acima é todo o conteúdo deste artigo, se você tiver alguma dúvida, seja bem-vindo para se comunicar na área de comentários