යූ-නෙට් අත්හදා බැලීම සඳහා කාර්වානා දත්ත කට්ටලය

ඔබටබාගත කිරීමේ උපදෙස් සොයාගත හැකිය Kaggle.

carvana/train ෆෝල්ඩරය තුළ පුහුණු පින්තූර සහ carvana/train_masks ෆෝල්ඩරයේ වෙස් මුහුණු සුරකින්න.

16from torch import nn
17from pathlib import Path
18
19import torch.utils.data
20import torchvision.transforms.functional
21from PIL import Image
22
23from labml import lab

කාර්වානාදත්ත කට්ටලය

26class CarvanaDataset(torch.utils.data.Dataset):
  • image_path රූප සඳහා මාර්ගය වේ
  • mask_path වෙස් මුහුණු වෙත යන මාර්ගයයි
31    def __init__(self, image_path: Path, mask_path: Path):

Idමගින් රූප ශබ්ද කෝෂයක් ලබා ගන්න

37        self.images = {p.stem: p for p in image_path.iterdir()}

හැඳුනුම්පතමගින් වෙස් මුහුණු ශබ්ද කෝෂයක් ලබා ගන්න

39        self.masks = {p.stem[:-5]: p for p in mask_path.iterdir()}

රූපIDS ලැයිස්තුව

42        self.ids = list(self.images.keys())

පරිවර්තනයන්

45        self.transforms = torchvision.transforms.Compose([
46            torchvision.transforms.Resize(572),
47            torchvision.transforms.ToTensor(),
48        ])

රූපයක්සහ එහි වෙස් මුහුණක් ලබා ගන්න.

  • idx රූපයේ දර්ශකය වේ
50    def __getitem__(self, idx: int):

රූපහැඳුනුම්පත ලබා ගන්න

58        id_ = self.ids[idx]

රූපයපටවන්න

60        image = Image.open(self.images[id_])

රූපයපරිවර්තනය කර එය පයිටෝච් ටෙන්සරයක් බවට පරිවර්තනය කරන්න

62        image = self.transforms(image)

ආවරණපටවන්න

64        mask = Image.open(self.masks[id_])

වෙස්මුහුණපරිවර්තනය කර එය පයිටෝච් ටෙන්සරයක් බවට පරිවර්තනය කරන්න

66        mask = self.transforms(mask)

ආවරණඅගයන් නොතිබුණි , එබැවින් අපි එය නිසි පරිදි පරිමාණය කරමු.

69        mask = mask / mask.max()

රූපයසහ වෙස්මුහුණ ආපසු ලබා දෙන්න

72        return image, mask

දත්තසමුදාය ප්රමාණය

74    def __len__(self):
78        return len(self.ids)

පරීක්ෂාකිරීමේ කේතය

82if __name__ == '__main__':
83    ds = CarvanaDataset(lab.get_data_path() / 'carvana' / 'train', lab.get_data_path() / 'carvana' / 'train_masks')