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, 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.
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:
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ı.
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:
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ı.
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.
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ı.
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:
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ı.
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:
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ı.
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:
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ı.
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:
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ı.
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:
Bu veri kümesine erişmek için doğrudan şu adresten indirebilirsiniz:
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ı.
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:
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ı.
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:
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ı.
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:
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ı.
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: