当前位置: 首页 > news >正文

初识Dataset

Dataset与Dataloader

Dataset主要是提供一种方式去获取数据以及label,主要实现如何获取每一个数据及其label,告诉我们总共有多少的数据;
Dataloader为后面的网络提供不同的数据类型;

Dataset

1.是一个抽象的类
2.可重写__getitiem__与__len__类
image


可以通过控制台,看到很多变量的属性。

运用dataset

image

添加标签

用的是蚂蚁和蜜蜂的数据集,并没有标签,当然可以手动添加简单的,下面提供代码形式自动增加
其中目录为:需手动添加文件夹
image

完整代码

点击查看代码
from torch.utils.data import Dataset  #引入Dataset这个类from PIL import Image   #读取我们的图片
#Image.open:读入该图片;
#.size:图片的大小;
#。show:打开看看图片import os   #获取所有图片的地址
#os.listdir(路径):获得列表所有文件的地址
#os.path.join:将两个路径合起来class Mydata(Dataset):   #定义了一个类#def:函数,传入参数后,赋予其性质或者功能def __init__(self, root_dir,label_dir):  #获取这个图片需要什么,就定义什么变量self.root_dir=root_dirself.label_dir=label_dirself.path=os.path.join(self.root_dir,self.label_dir)self.img_path=os.listdir(self.path)def __getitem__(self,idx):img_name=self.img_path[idx]img_item_path=os.path.join(self.root_dir,self.label_dir,img_name)img=Image.open(img_item_path)label =self.label_dirreturn img,labeldef  __len_(self):  #读取传入东西的长度,数量等return len(self.img_path)root_dir="dataset/train"
ants_label_dir="ants"
bees_label_dir="bees"
ants_dataset=Mydata(root_dir,ants_label_dir)
bees_dataset=Mydata(root_dir,bees_label_dir)train_dataset=ants_dataset+bees_dataset
### 添加标签代码
点击查看代码
#快速将所有图片都添加label
import osroot_dir="dataset/train"
target_dir="bees_image"
img_path=os.listdir(os.path.join(root_dir,target_dir))
label=target_dir.split('_')[0]
out_dir="bees_label"
for i in img_path:file_name=i.split('.jpg')[0]with open(os.path.join(root_dir,out_dir,"{}.txt".format(file_name)),'w') as f:f.write((label))

来源

练手数据集
密码: 5suq

笔记学习视频

http://www.gsyq.cn/news/393.html

相关文章:

  • Day15可变参数
  • 单词的长度
  • 111
  • LIN 的调度表周期和应用任务周期不一致的问题分析
  • 关于我的大三生活
  • 厨房小白学做饭——2.苦瓜炒蛋
  • GJOJ 9/6
  • CF1967D Long Way to be Non-decreasing
  • Proximal SFT:用PPO强化学习机制优化SFT,让大模型训练更稳定
  • 解题报告-洛谷P3773 [CTSC2017] 吉夫特
  • 政治笔记
  • Graspnet视觉抓取(一)——环境搭建
  • 3. 堆排序
  • 总结
  • 【Azure Container App】查看当前 Container App Environment 中的 CPU 使用情况的API
  • TTS微软Azure
  • 解决docker: Error response from daemon: Get “https://registry-1.docker.io/v2/“:连接超时问题
  • 27届春招备战一轮复习--第三期(推荐)
  • 三期集训 日记?
  • 需求爆炸?领歌3步科学精简法,让团队重获掌控力!
  • 在服务器后台运行python服务
  • HCIP回顾—2 OSPF工作过程及状态机制
  • 实时通信的头痛-问题不在WebSocket而是你的框架
  • 你的开发服务器在说谎-热重载与热重启的关键区别
  • AT_agc018_b [AGC018B] Sports Festival
  • 11.5 类与数据类型
  • 接口
  • 无重复字符的最长子串的解题分析
  • python基础——数据容器(序列、集合、字典)
  • 11.4 类与对象的绑定方法