吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 644|回复: 2
收起左侧

[求助] 图像识别中数据集预处理问题求助

  [复制链接]
蛇衔尾 发表于 2023-6-20 17:26
由于实验用到的代码是python但我没有学过,数据集预处理部分就不知道该怎么做了,求大佬提供一下帮助。
这个步骤主要目的就是生成训练集文件和验证集文件。给出的参考例子中图像数据只有两类猫和狗,并且存放在不同的路径,因此可以通过路径判断图片的类型。两个文件夹下均有1万多张图片,文件名均为数字。

图片文件存放位置

图片文件存放位置
但是实验给定的图像数据则有五类且存放在一起,但训练数据与测试数据被分开,训练数据接近1万张测试数据接近1千张,文件名同样为数字,这样就无法通过路径判断图片类型,实验提供了一个文本文件按文件名顺序列出了全部训练数据的类型,但是没有列出对应的路径,测试数据则没有给出其类型。

实验中的训练与测试数据存放路径

实验中的训练与测试数据存放路径

提供的训练数据

提供的训练数据

这是例子中数据集预处理步骤的参考代码
[Python] 纯文本查看 复制代码
# 1. 解压数据
!unzip -n -q  -d data/ data/data221571/archive.zip

# 2.获取图片路径,放到列表里
import os
cat_path=r'./data/kagglecatsanddogs_3367a/PetImages/Cat/'
dog_path=r'./data/kagglecatsanddogs_3367a/PetImages/Dog/'

#label 0 for Cat, label 1 for Dog
all_list=[]
cat_list=os.listdir(cat_path)
cnt=0
for itm in cat_list:
    if itm.endswith('.jpg'):
        itm=os.path.join(cat_path,itm)
        list_item=itm+'\t'+'0'
        all_list.append(list_item)
        cnt+=1
    else:
        print(itm)
print(r'猫图片:'+str(cnt))
print(all_list[0])

dog_list=os.listdir(dog_path)
cnt=0
for itm in dog_list:
    if itm.endswith('.jpg'):
        itm=os.path.join(dog_path,itm)
        list_item=itm+'\t'+'1'
        all_list.append(list_item)
        cnt+=1
    else:
        print(itm)
print(r'狗图片:'+str(cnt))
print(all_list[-1])

# 3.列表保存到文件,训练集文件,测试集文件
import random
with open('all_list.txt','w') as f:
    for itm in all_list:
        f.write(itm+'\n')

number_of_samples=len(all_list)
train_num=int(number_of_samples*0.8) #80%做为训练集, 20%作为验证集
random.shuffle(all_list)

train_list=all_list[:train_num]
val_list=all_list[train_num:]

with open('train.txt','w') as f:
    for itm in train_list:
        f.write(itm+'\n')

with open('val.txt','w') as f:
    for itm in val_list:
        f.write(itm+'\n')


以下是生成的三个文本文件

训练用的所有图片路径与类型文本

训练用的所有图片路径与类型文本

生成的训练集路径与类型文本

生成的训练集路径与类型文本

生成的验证集路径与类型文本

生成的验证集路径与类型文本

生成的文本文件中信息包含了数据路径与文件名和类型。
而实验给出的文本本人不知晓如何与训练数据相联系,求大佬指点如何处理

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

OmegaMolecule 发表于 2023-6-20 19:18
猫狗识别算经典案例了,Keras或者TF官网我记得都有现成的演示代码可用
raoquanquan 发表于 2023-6-20 21:07
兄弟,它(实验数据)这个文本每行后面的0,1,2,3,4就是类别标记,你可以看看图片,相同数字应该是同一种类别,所以这五种类别是可以放在一个文件夹里的,只是代码要改,具体的你自己学吧,推荐一个UP:Bubbliiiing     他视频里面将猫狗识别的代码适合你,而且特别贴心,有代码,有数据集,还有讲解。

免费评分

参与人数 1热心值 +1 收起 理由
蛇衔尾 + 1 谢谢@Thanks!

查看全部评分

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 22:34

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表