paint-brush
Bilgisayarlı Görme için Bilmeniz Gereken 11 Torchvision Veri Kümesiile@datasets
7,691 okumalar
7,691 okumalar

Bilgisayarlı Görme için Bilmeniz Gereken 11 Torchvision Veri Kümesi

Çok uzun; Okumak

Torchvision, bilgisayarlı görme görevleri için özel olarak tasarlanmış önceden oluşturulmuş veri kümelerine, modellere ve dönüşümlere erişim sağlar. Veri kümeleri önceden işlenir, etiketlenir ve kolayca yüklenip kullanılabilecek formatlarda düzenlenir. Torchvision ayrıca hem CPU hem de GPU hızlandırmayı destekleyerek bilgisayarlı görüntü uygulamaları geliştirmek için onu esnek ve güçlü bir araç haline getiriyor.
featured image - Bilgisayarlı Görme için Bilmeniz Gereken 11 Torchvision Veri Kümesi
Open Datasets Compiled by HackerNoon HackerNoon profile picture

Bilgisayarla görme, önemli bir büyüme yaşayan bir alandır ve sürücüsüz arabalardan yüz tanıma sistemlerine kadar çok sayıda pratik uygulamaya sahiptir. Ancak bu alandaki en büyük zorluklardan biri, makine öğrenimi modellerini eğitmek için yüksek kaliteli veri kümeleri elde etmektir.


Bu zorluğun üstesinden gelmek için torchvision, bilgisayarlı görme görevleri için özel olarak tasarlanmış önceden oluşturulmuş veri kümelerine, modellere ve dönüşümlere erişim sağlar. Torchvision ayrıca hem CPU hem de GPU hızlandırmayı destekleyerek bilgisayarlı görüntü uygulamaları geliştirmek için onu esnek ve güçlü bir araç haline getiriyor.

“Torchvision Veri Kümeleri” nedir?

Torchvision veri kümeleri, makine öğrenimi modellerini geliştirmek ve test etmek için bilgisayarlı görmede yaygın olarak kullanılan popüler veri kümelerinin koleksiyonlarıdır. Geliştiriciler torchvision veri kümeleriyle makine öğrenimi modellerini görüntü sınıflandırma, nesne algılama ve segmentasyon gibi çeşitli görevlerde eğitebilir ve test edebilir.

Veri kümeleri ayrıca önceden işlenir, etiketlenir ve kolayca yüklenip kullanılabilecek formatlarda düzenlenir.

Torchvision Veri Kümelerinin Listesi

  1. MNIST
  2. CIFAR-10
  3. CIFAR-100
  4. ImageNet
  5. Hindistan cevizi
  6. Moda-MNIST
  7. SVHN
  8. STL-10
  9. CelebA
  10. Pascal'ın VOC'si
  11. Yerler365

1. MNIST

Bu torchvision veri kümesi popülerdir ve makine öğrenimi ve bilgisayarlı görme alanlarında yaygın olarak kullanılmaktadır. 60.000'i eğitim ve 10.000'i test için olmak üzere, 0-9 arası elle yazılmış rakamlardan oluşan 70.000 gri tonlamalı görüntüden oluşur. Her görüntü 28x28 piksel boyutundadır ve hangi basamakları temsil ettiğini belirten karşılık gelen bir etikete sahiptir.


Bu veri kümesine erişmek için doğrudan şu adresten indirebilirsiniz: Kaggle veya torchvision kullanarak veri kümesini yükleyin:


 import torchvision.datasets as datasets # Load the training dataset train_dataset = datasets.MNIST(root='data/', train=True, transform=None, download=True) # Load the testing dataset test_dataset = datasets.MNIST(root='data/', train=False, transform=None, download=True)


PyTorch torchvision paketini kullanarak MNIST veri kümesini yüklemek için kod. 20/3/2023 tarihinde https://pytorch.org/vision/stable/geneated/torchvision.datasets.MNIST.html#torchvision.datasets.MNIST adresinden alındı.


MNIST veri kümesinin bir temsili

2. CIFAR-10

CIFAR-10 veri seti, sınıf başına 6.000 görüntü olmak üzere 10 sınıfta 60.000 32x32 renkli görüntüden oluşur. Toplamda 50.000 eğitim görüntüsü ve 10.000 test görüntüsü vardır; bunlar ayrıca her biri 10.000 görüntü içeren beş eğitim kümesine ve bir test kümesine bölünmüştür.


Bu veri kümesi şu adresten indirilebilir: Kaggle , veya torchvision kullanılarak buraya yüklendi:


 import torch import torchvision import torchvision.transforms as transforms transform = transforms.Compose( [transforms.ToTensor(), transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))]) trainset = torchvision.datasets.CIFAR10(root='./data', train=True, download=True, transform=transform) testset = torchvision.datasets.CIFAR10(root='./data', train=False, download=True, transform=transform) trainloader = torch.utils.data.DataLoader(trainset, batch_size=4, shuffle=True, num_workers=2) testloader = torch.utils.data.DataLoader(testset, batch_size=4, shuffle=False, num_workers=2)


Veri yükleyiciler için toplu iş boyutunu ve çalışan işlem sayısını gerektiği gibi ayarlayabileceğinizi unutmayın.


PyTorch torchvision paketini kullanarak CIFAR-10 veri kümesini yüklemek için kod. https://pytorch.org/vision/stable/geneated/torchvision.datasets.CIFAR10.html#torchvision.datasets.CIFAR10 adresinden 20/3/2023 tarihinde alındı.

3. CIFAR-100

CIFAR-100 veri seti, sınıf başına 600 görüntü olmak üzere 100 sınıfta 60.000 (50.000 eğitim görüntüsü ve 10.000 test görüntüsü) 32x32 renkli görüntüye sahiptir. 100 sınıf, kendi sınıfını belirten ince bir etiket ve ait olduğu süper sınıfı temsil eden kaba bir etiketle 20 süper sınıfa ayrılmıştır.


Torchvision veri kümesini Kaggle'dan indirmek için lütfen Kaggle'ı ziyaret edin. İnternet sitesi ve orada verilen talimatları izleyin. Alternatif olarak, veri kümesini torchvision kitaplığını kullanarak yüklemeyi tercih ederseniz şunu yapabilirsiniz:


 import torchvision.datasets as datasets import torchvision.transforms as transforms # Define transform to normalize data transform = transforms.Compose([ transforms.ToTensor(), transforms.Normalize(mean=[0.5, 0.5, 0.5], std=[0.5, 0.5, 0.5]) ]) # Load CIFAR-100 train and test datasets trainset = datasets.CIFAR100(root='./data', train=True, download=True, transform=transform) testset = datasets.CIFAR100(root='./data', train=False, download=True, transform=transform) # Create data loaders for train and test datasets trainloader = torch.utils.data.DataLoader(trainset, batch_size=64, shuffle=True) testloader = torch.utils.data.DataLoader(testset, batch_size=64, shuffle=False)


PyTorch torchvision paketini kullanarak CIFAR-100 veri kümesini yüklemek için kod. 20/3/2023 tarihinde https://pytorch.org/vision/stable/geneated/torchvision.datasets.CIFAR100.html#torchvision.datasets.CIFAR100 adresinden alındı.

4. ImageNet

Torchvision'daki ImageNet veri kümesi yaklaşık 1,2 milyon eğitim görüntüsü, 50.000 doğrulama görüntüsü ve 100.000 test görüntüsü içerir. Veri kümesindeki her görsel, "kedi", "köpek", "araba", "uçak" vb. gibi 1000 kategoriden biriyle etiketlenmiştir.


Bu torchvision veri kümesini indirmek için şu adresi ziyaret etmeniz gerekir: İnternet sitesi veya torchvision'a yükleyin:


 import torchvision.datasets as datasets import torchvision.transforms as transforms # Set the path to the ImageNet dataset on your machine data_path = "/path/to/imagenet" # Create the ImageNet dataset object with custom options imagenet_train = datasets.ImageNet( root=data_path, split='train', transform=transforms.Compose([ transforms.Resize(256), transforms.RandomCrop(224), transforms.RandomHorizontalFlip(), transforms.ToTensor(), transforms.Normalize( mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]) ]), download=False ) imagenet_val = datasets.ImageNet( root=data_path, split='val', transform=transforms.Compose([ transforms.Resize(256), transforms.CenterCrop(224), transforms.ToTensor(), transforms.Normalize( mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]) ]), download=False ) # Print the number of images in the training and validation sets print("Number of images in the training set:", len(imagenet_train)) print("Number of images in the validation set:", len(imagenet_val))


PyTorch torchvision paketini kullanarak ImageNet veri kümesini yüklemek için kod. https://pytorch.org/vision/stable/geneated/torchvision.datasets.ImageNet.html#torchvision.datasets.ImageNet adresinden 21/3/2023 tarihinde alındı.


ImageNet veri kümesinin bir temsili

5. MS Coco

Microsoft Common Objects in Context(MS Coco) veri kümesi, günlük nesnelere ve insanlara ait 328.000 yüksek kaliteli görsel görüntü içerir ve genellikle gerçek zamanlı nesne algılamada algoritmaların performansını karşılaştırmak için standart olarak kullanılır.


Bu torchvision veri kümesini indirmek için lütfen şu adresi ziyaret edin: İnternet sitesi veya torchvision'a yükleyin:


 import torch from torchvision import datasets, transforms # Define transformation transform = transforms.Compose([ transforms.Resize(256), transforms.CenterCrop(224), transforms.ToTensor(), transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]) ]) # Load training dataset train_dataset = datasets.CocoDetection(root='/path/to/dataset/train2017', annFile='/path/to/dataset/annotations/instances_train2017.json', transform=transform) train_loader = torch.utils.data.DataLoader(train_dataset, batch_size=32, shuffle=True) # Load validation dataset val_dataset = datasets.CocoDetection(root='/path/to/dataset/val2017', annFile='/path/to/dataset/annotations/instances_val2017.json', transform=transform) val_loader = torch.utils.data.DataLoader(val_dataset, batch_size=32, shuffle=False)


/path/to/dataset yer tutucularını veri kümesi dizininizin gerçek yoluyla değiştirdiğinizden emin olun. Ayrıca Batch_size parametresini ihtiyaçlarınıza uyacak şekilde ayarlayın.


PyTorch torchvision paketini kullanarak MS Coco veri kümesini yüklemek için kod. 21/3/2023 tarihinde https://pytorch.org/vision/stable/geneated/torchvision.datasets.CocoDetection.html#torchvision.datasets.CocoDetection adresinden alındı.

6. Moda-MNIST

Fashion MNIST veri seti, orijinal MNIST veri setinin yerine geçmek üzere Zalando Research tarafından oluşturuldu. Fashion MNIST veri seti, giyim öğelerinin 70.000 gri tonlamalı görüntüsünden (60.000 eğitim seti ve 10.000 test seti) oluşur.


Görüntüler 28x28 piksel boyutundadır ve tişörtler/üstler, pantolonlar, kazaklar, elbiseler, paltolar, sandaletler, gömlekler, spor ayakkabılar, çantalar ve bilekte botlar dahil olmak üzere 10 farklı giyim öğesini temsil etmektedir. Orijinal MNIST veri setine benzer ancak giyim öğelerinin daha karmaşık ve çeşitli olması nedeniyle sınıflandırma görevleri daha zorludur.


Bu torchvision veri kümesi şu adresten indirilebilir: Kaggle , veya bu kod kullanılarak yüklendi:


 import torch import torchvision import torchvision.transforms as transforms # Define transformations transform = transforms.Compose( [transforms.ToTensor(), transforms.Normalize((0.5,), (0.5,))]) # Load the dataset trainset = torchvision.datasets.FashionMNIST(root='./data', train=True, download=True, transform=transform) testset = torchvision.datasets.FashionMNIST(root='./data', train=False, download=True, transform=transform) # Create data loaders trainloader = torch.utils.data.DataLoader(trainset, batch_size=4, shuffle=True, num_workers=2) testloader = torch.utils.data.DataLoader(testset, batch_size=4, shuffle=False, num_workers=2)


Fashion-MNIST veri kümesini PyTorch torchvision paketini kullanarak yüklemeye yönelik kod. 21/3/2023 tarihinde https://pytorch.org/vision/stable/geneated/torchvision.datasets.FashionMNIST.html#torchvision.datasets.FashionMNIST adresinden alındı.

7. SVHN

SVHN (Sokak Görünümü Ev Numaraları) veri kümesi, Google'ın Sokak Görünümü görüntülerinden türetilen ve sokak düzeyindeki görüntülerden alınan ev numaralarının kırpılmış görüntülerinden oluşan bir görüntü veri kümesidir. Tüm ev numaralarını ve bunların sınırlayıcı kutularını içeren tam formatta ve yalnızca ev numaralarını içeren kırpılmış formatta mevcuttur. Tam format genellikle nesne algılama görevleri için kullanılırken, kırpılmış format genellikle sınıflandırma görevleri için kullanılır.


SVHN veri seti de torchvision paketine dahil olup eğitim için 73.257 görüntü, test için 26.032 görüntü ve ekstra eğitim verileri için 531.131 ek görüntü içermektedir.


Bu torchvision veri kümesini indirmek için şu adrese gidebilirsiniz: Kaggle veya buraya yükleyebilirsiniz:


 import torchvision import torch # Load the train and test sets train_set = torchvision.datasets.SVHN(root='./data', split='train', download=True, transform=torchvision.transforms.ToTensor()) test_set = torchvision.datasets.SVHN(root='./data', split='test', download=True, transform=torchvision.transforms.ToTensor()) # Create data loaders train_loader = torch.utils.data.DataLoader(train_set, batch_size=64, shuffle=True) test_loader = torch.utils.data.DataLoader(test_set, batch_size=64, shuffle=False)


PyTorch torchvision paketini kullanarak SVHN veri kümesini yüklemek için kod. 22/3/2023 tarihinde https://pytorch.org/vision/stable/generate/torchvision.datasets.SVHN.html#torchvision.datasets.SVHN adresinden alındı.

8. STL-10

STL-10 veri kümesi, toplamda yaklaşık 6.000'den fazla görüntü içeren 10 sınıftan oluşan bir görüntü tanıma veri kümesidir. STL-10, “Görüntü Tanıma için Standart Eğitim ve Test Seti-10 sınıfları” anlamına gelir ve veri kümesindeki 10 sınıf şunlardır:


  • Uçak
  • Kuş
  • Araba
  • Kedi
  • Geyik
  • Köpek
  • Atış
  • Maymun
  • Gemi
  • Kamyon


Bu veri kümesine erişmek için doğrudan şu adresten indirebilirsiniz: Kaggle veya torchvision kullanarak veri kümesini yükleyin:


 import torchvision.datasets as datasets import torchvision.transforms as transforms # Define the transformation to apply to the data transform = transforms.Compose([ transforms.ToTensor(), # Convert PIL image to PyTorch tensor transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5)) # Normalize the data ]) # Load the STL-10 dataset train_dataset = datasets.STL10(root='./data', split='train', download=True, transform=transform) test_dataset = datasets.STL10(root='./data', split='test', download=True, transform=transform)


PyTorch torchvision paketini kullanarak STL-10 veri kümesini yüklemek için kod. https://pytorch.org/vision/stable/geneated/torchvision.datasets.STL10.html#torchvision.datasets.STL10 adresinden 22/3/2023 tarihinde alındı.

9. CelebA

Bu torchvision veri seti, 200.000'den fazla ünlünün görselinden oluşan popüler bir büyük ölçekli yüz özellikleri veri setidir. İlk kez 2015 yılında Hong Kong Çin Üniversitesi'ndeki araştırmacılar tarafından yayımlandı. CelebA'daki bir görüntü, yaş, saç rengi, yüz ifadesi ve cinsiyet gibi 40 yüz özelliğinden oluşuyor. Ayrıca bu görüntüler internetten alınmıştır ve farklı ırklar, yaşlar ve cinsiyetler de dahil olmak üzere çok çeşitli yüz görünümlerini kapsamaktadır. Her görüntüde yüzün konumu için sınırlayıcı kutu açıklamalarının yanı sıra gözler, burun ve ağız için 5 dönüm noktası noktası.


Bu veri kümesini şu adresten indirebilirsiniz: Kaggle veya bu kodu kullanarak yükleyin:


 import torchvision.datasets as datasets import torchvision.transforms as transforms transform = transforms.Compose([ transforms.CenterCrop(178), transforms.Resize(128), transforms.ToTensor(), transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5)) ]) celeba_dataset = datasets.CelebA(root='./data', split='train', transform=transform, download=True)


PyTorch torchvision paketini kullanarak CelebA veri kümesini yüklemek için kod. https://pytorch.org/vision/stable/generate/torchvision.datasets.CelebA.html#torchvision.datasets.CelebA adresinden 22/3/2023 tarihinde alındı.

10. PASCAL VOC

VOC veri seti (Görsel Nesne Sınıfları) ilk olarak 2005 yılında, görsel tanıma alanında en son teknolojiyi geliştirmeyi amaçlayan PASCAL VOC Challenge'ın bir parçası olarak tanıtıldı. Hayvanlar, araçlar ve yaygın ev eşyaları dahil olmak üzere 20 farklı nesne kategorisinin görüntülerinden oluşur. Bu görüntülerin her birine, görüntü içindeki nesnelerin konumları ve sınıflandırmaları eklenmiştir. Ek açıklamalar hem sınırlayıcı kutuları hem de piksel düzeyinde segmentasyon maskelerini içerir.


Veri seti iki ana gruba ayrılmıştır: eğitim ve doğrulama setleri. Eğitim seti, açıklamalı yaklaşık 5.000 görüntü içerirken, doğrulama seti, açıklama içermeyen yaklaşık 5.000 görüntü içerir. Ayrıca veri seti yaklaşık 10.000 görselden oluşan bir test seti de içeriyor ancak bu sete ilişkin açıklamalar kamuya açık değil.


Güncel veri kümesine erişmek için şu adresten indirebilirsiniz: İnternet sitesi , Kaggle veya torchvision'a yükleyin:


 import torch import torchvision from torchvision import transforms # Define transformations to apply to the images transform = transforms.Compose([ transforms.Resize((224, 224)), transforms.ToTensor(), transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]) ]) # Load the train and validation datasets train_dataset = torchvision.datasets.VOCDetection(root='./data', year='2007', image_set='train', transform=transform) val_dataset = torchvision.datasets.VOCDetection(root='./data', year='2007', image_set='val', transform=transform) # Create data loaders train_loader = torch.utils.data.DataLoader(train_dataset, batch_size=32, shuffle=True) val_loader = torch.utils.data.DataLoader(val_dataset, batch_size=32, shuffle=False)


PyTorch torchvision paketini kullanarak PASCAL VOC veri kümesini yüklemek için kod. 22/3/2023 tarihinde https://pytorch.org/vision/stable/geneated/torchvision.datasets.VOCDetection.html#torchvision.datasets.VOCDetection adresinden alındı.

11. Yerler365

Places365 veri kümesi, 365 sahne kategorisini kapsayan 1,8 milyondan fazla görüntüden oluşan büyük ölçekli bir sahne tanıma veri kümesidir. Places365 Standard veri kümesi yaklaşık 1,8 milyon görüntüden oluşurken Places365-Challenge veri kümesi, tanıma modelleri için daha zorlu olan 50.000 ek doğrulama görüntüsü içerir.


Bu veri kümesine erişmek için şunları kullanabilirsiniz: Kaggle veya torchvision'u buraya yükleyin:


 import torch import torchvision from torchvision import transforms # Define transformations to apply to the images transform = transforms.Compose([ transforms.Resize((224, 224)), transforms.ToTensor(), transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]) ]) # Load the train and validation datasets train_dataset = torchvision.datasets.Places365(root='./data', split='train-standard', transform=transform) val_dataset = torchvision.datasets.Places365(root='./data', split='val', transform=transform) # Create data loaders train_loader = torch.utils.data.DataLoader(train_dataset, batch_size=32, shuffle=True) val_loader = torch.utils.data.DataLoader(val_dataset, batch_size=32, shuffle=False)


PyTorch torchvision paketini kullanarak Places365 veri kümesini yükleme kodu. https://pytorch.org/vision/stable/geneated/torchvision.datasets.Places365.html#torchvision.datasets.Places365 adresinden 22/3/2023 tarihinde alındı.


Places365 veri kümesinin bir temsili

Torchvision Veri Kümeleri için Yaygın Kullanım Durumları

MNIST - Bu veri kümesi, özellikle el yazısı rakam tanıma olmak üzere görüntü sınıflandırma görevlerinde yaygın olarak kullanılır.


CIFAR-10 Ve CIFAR-100 - Bu veri kümeleri genellikle görüntü sınıflandırma görevlerinde, özellikle de nesne tanımada kullanılır.


ImageNet - Bu torchvision veri kümesi, çeşitli nesne ve hayvanların milyonlarca görüntüsünü içerir ve genellikle nesne tanıma görevleri için kullanılır.


MS COCO - Bu veri kümesi genellikle nesne algılama, segmentasyon ve altyazı ekleme görevleri için kullanılır.


Moda-MNIST - MNIST'e benzer şekilde bu veri seti, özellikle moda öğesi tanıma olmak üzere görüntü sınıflandırma görevlerinde yaygın olarak kullanılır.


SVHN - Bu veri kümesi yaygın olarak rakam tanıma görevleri için kullanılır. Gerçek dünya ortamlarında sayıları tanımaya yönelik algoritmalar geliştirmek ve test etmek için özellikle kullanışlıdır.


STL-10 - Bu torchvision veri seti, özellikle nesne tanıma olmak üzere görüntü sınıflandırma görevlerinde yaygın olarak kullanılır.


CelebA - Bu veri kümesi yaygın olarak yüz tanıma ve nitelik sınıflandırma görevleri için kullanılır. Çeşitli yüz ifadeleri, pozlar ve arka planların görüntülerinden oluşur.


Pascal'ın VOC'si - Bu veri seti genellikle nesne tespiti ve segmentasyon görevleri için kullanılır.


Yerler365 - Bu veri seti genellikle sahne tanıma görevleri için kullanılır. Yatak odaları, plajlar ve ofisler gibi çeşitli iç ve dış mekan manzaralarından oluşur.

Son düşünceler

Torchvision veri kümeleri genellikle bilgisayarlı görme uygulamalarında yaygın olarak kullanılan evrişimli sinir ağları (CNN'ler) gibi makine öğrenimi modellerini eğitmek ve değerlendirmek için kullanılır.


Ayrıca herkesin ücretsiz olarak indirip kullanmasına da açıktır.


Bu makalenin ana görseli , HackerNoon'un AI Stabil Difüzyon modeli aracılığıyla 'küçük kareler halinde bir araya getirilen binlerce görüntü' istemi kullanılarak oluşturuldu.


Daha Fazla Veri Kümesi Listesi:

  1. Excel Veri Kümeleri
  2. Keras Veri Kümeleri
  3. R Veri Kümeleri
  4. PyTorch Veri Kümeleri
  5. Veri Kümelerini Kucaklamak