import torch
import PIL
from PIL import Image
import numpy as np
# 二
class DealDataset(torch.utils.data.Dataset):
def __init__(self,images_path,labels_path,Transform = None):
#1:所有圖片和標籤的路徑
images_path_list = []
labels_path_list = []
""""""
#在這裏寫,獲得所有image路徑,所有label路徑的代碼,並將路徑放在分別放在images_path_list和labels_path_list中
""""""
self.images_path_list = images_path_list
self.labels_path_list = labels_path_list
self.transform = Transform
def __getitem__(self,index):
#2:根據index取得相應的一幅圖像,一幅標籤的路徑
image_path = image_path_list[index]
label_path = label_path_list[index]
#3:將圖片和label讀出。“L”表示灰度圖,也可以填“RGB”
image = Image.open(image_path).convert("L")
label = Image.open(label_path).convert("L")
#4:tansform 參數一般爲 transforms.ToTensor(),意思是上步image,label 轉換爲 tensor 類型
if self.transform is not None:
image = self.transform(image)
label = self.transform(label)
return image,label
def __len__(self):
return len(self.images_path_list)
# 一
images_path = ""
labels_path = ""
dataset = DealDataset(images_path,labels_path,Transform = transforms.ToTensor())
dataloader = torch.utils.data.DataLoader(dataset = dataset,batch_size = 16,shuffle = False) #shuffle 填True 就會打亂