文件位置:data文件下有trian和val两个文件夹,train中“ants_image”存放蚂蚁的图片
代码与注释:
from torch.utils.data import Dataset #从torch.utils中取出Dataset这个类
from PIL import Image
import os
class Mydata(Dataset): #Mydata继承Dataset这个父类
def __init__(self,root_dir,label_dir): #初始化
self.root_dir = root_dir
self.label_dir = label_dir
self.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.path,img_name) #合成该图片的位置
img = Image.open(img_item_path) #用Image方式打开该图片
label = self.label_dir
return img,label #返回打开的图片与label
root_dir = 'data/train'
ants_label_dir = 'ants_image'
ants_dataset = Mydata(root_dir, ants_label_dir)
打开图片:
img,label = ants_dataset[1]#魔法方法,用下标直接运行__getieem__,返回img,label(可以用a,b接受也行)数据
img.show() #显示图片
现象: