Pytorch 01:語義分割自定義數據集的讀取

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 就會打亂
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章