from torch.utils.data import Dataset
from PIL import Image
import os
help(Dataset)
class 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,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_dir
return img,label #返回一个列表
def __len__(self):
return len(self.img_path)
root_dir = "/home/dongguangjian/PycharmProjects/pythonProject1/AlexNet1/Test2_alexnet/data_set/train/"
daisy_label_dir = "daisy"
roses_label_dir = "roses"
daisy_dataset = MyData(root_dir,daisy_label_dir) #返回一个列表
#通过数据集的路径和标签来以列表形式返回每张图片的信息(PIL 的Image.open()打开的图片是PIL类型,默认RGB格式)
#img,label = daisy_daset #shiyigeliebiao
roses_dataset = MyData(root_dir,roses_label_dir)
train_dataset = roses_dataset + daisy_daset #数据集的拼接合并
img,label = train_dataset[103]
img.show()