pytorch独自の画像データを訓練可能な画像タイプに処理

1021 ワード

独自の画像データを使用するには、pytorchデータ入力に倣って新しいクラスを作成する必要があり、データフォーマットはnumpyである.ndarray.
自分の画像をnumpyに保存します.ndarrayでクラスを作成します
from torch.utils.data import Dataset
import numpy as np


class Dataset(Dataset):
    def __init__(self, path_img, path_target, transforms=None):
        self.train = path_img
        self.targets = path_target
        self.transforms = transforms

    def __len__(self):
        return len(self.train)

    def __getitem__(self, idx):
        img = self.train[idx]
        target = self.targets[idx]

        if self.transforms:
            img = self.transforms(img)
            target = self.transforms(target)

        return img, target

使用方法Mnistデータと同様の使用方法
isbi = Dataset(imgs_train, imgs_mask_train,
                       transforms=transform)
dataload=torch.utils.data.DataLoader(isbi,batch_size=4,shuffle=True)
for i, data in enumerate(dataload, 1):
    img,label=data
    print img.shape
    print img.shape
    print 10*'*'