获取数据集,展示图片
from torch.utils.data import Dataset
from PIL import Image
import os
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,self.label_dir) # 合并路径
self.img_path=os.listdir(self.path)
def __getitem__(self, item): # item:编号
img_name = self.img_path[item]
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='dataset/hymenoptera_data/train'
ants_label_dir='ants'
bees_label_dir='bees'
ants_dataset=MyData(root_dir,ants_label_dir)# 获取ants数据集
bees_dataset=MyData(root_dir,bees_label_dir)# 获取bees数据集
for i in range(1):
img,label=ants_dataset[i] # 获取ants_dataset中的第i张照片
img.show() # 展示图片
拼接两个数据集
#拼接两个数据集
train_dataset = ants_dataset + bees_dataset
print(len(train_dataset))
print(len(ants_dataset))
print(len(bees_dataset))
img, label = train_dataset[125]
img.show()