Pytorch General Dataset
Dataset – Saat ini kaggle merupakan rujukan dalam urusan hosting dataset yang banyak digunakan untuk proses pengujian. Tidak melulu untuk urusan machine learning tapi juga hal lain. Mencari dataset yang cocok untuk digunakan pada uji coba machine learning di General Dataset di PyTorch sebenarnya sudah cukup. Salah satu manfaat menggunakan general dataset di PyTorch yaitu tidak dipusingkan untuk membuat class Module sebagai container dataset lagi jadi hanya tinggal download dan pakai saja.
Jika kalian mengerjakan proyek yang melibatkan Pembelajaran Mendalam/Deep Learning, biasanya sebagian besar waktu malah banyak digunakan untuk menangani data, bukan jaringan saraf yang akan kalian bangun. Ini karena data seperti bahan bakar untuk JST: semakin sesuai, semakin cepat dan semakin akurat hasilnya! Salah satu alasan utama JST berkinerja buruk mungkin karena data yang buruk atau kurang dipahami.
Class Torch.Datasets
PyTorch hadir dengan beberapa set data bawaan, yang semuanya sudah dimuat sebelumnya di class torch.datasets. Berikut Kumpulan Data/dataset di Torchvision yaitu
- MNIST: MNIST adalah kumpulan data yang terdiri dari gambar tulisan tangan yang dinormalisasi dan dipangkas di tengah/dibuat crop center. Ini memiliki lebih dari 60.000 gambar pelatihan dan 10.000 gambar uji. Ini adalah salah satu kumpulan data yang paling banyak digunakan untuk tujuan pembelajaran dan eksperimen.
torchvision.datasets.MNIST()
- Fashion MNIST: Dataset ini mirip dengan MNIST, tetapi alih-alih digit tulisan tangan, dataset ini mencakup item pakaian seperti T-shirt, celana panjang, tas, dll. Jumlah sampel pelatihan dan pengujian masing-masing adalah 60.000 dan 10.000. Di bawah ini adalah lokasi kelas FMNIST.
torchvision.datasets.FashionMNIST()
- CIFAR: Dataset CIFAR memiliki dua versi, CIFAR10 dan CIFAR100. CIFAR10 terdiri dari gambar 10 label yang berbeda, sedangkan CIFAR100 memiliki 100 kelas yang berbeda. Ini termasuk gambar umum seperti truk, katak, perahu, mobil, rusa, dan lainnya. Kumpulan data ini direkomendasikan untuk membangun CNN.
torchvision.datasets.CIFAR10()
torchvision.datasets.CIFAR100()
- COCO: Dataset ini terdiri dari lebih dari 100.000 objek sehari-hari seperti orang, botol, alat tulis, buku, dll. Dataset gambar ini banyak digunakan untuk aplikasi deteksi objek dan teks gambar. Di bawah ini adalah lokasi dari mana COCO dapat dimuat:
torchvision.datasets.CocoCaptions()
- EMNIST: Dataset ini adalah versi lanjutan dari dataset MNIST. Ini terdiri dari gambar termasuk angka dan abjad. Jika Anda sedang mengerjakan masalah yang didasarkan pada pengenalan teks dari gambar, ini adalah kumpulan data yang tepat untuk dilatih. Di bawah ini adalah kelasnya:
torchvision.datasets.EMNIST()
- IMAGE-NET: ImageNet adalah salah satu kumpulan data unggulan yang digunakan untuk melatih jaringan saraf kelas atas. Ini terdiri dari lebih dari 1,2 juta gambar yang tersebar di 10.000 kelas. Biasanya, kumpulan data ini dimuat pada sistem perangkat keras kelas atas karena CPU saja tidak dapat menangani kumpulan data sebesar ini. Di bawah ini adalah kelas untuk memuat dataset ImageNet:
torchvision.datasets.ImageNet()
Selain itu ada beberapa kumpulan data/dataset pytorch yang paling sering digunakan saat membangun jaringan saraf di PyTorch. Beberapa lainnya termasuk KMNIST, QMNIST, LSUN, STL10, SVHN, PhotoTour, SBU, Cityscapes, SBD, USPS, Kinetics-400. Kalian dapat mempelajari lebih lanjut tentang ini dari dokumentasi resmi PyTorch
Contoh Penggunaannya
Untuk cara penggunaan dataset pytorch cukup mudah koq, pastikan kalian terkoneksi internet hal yang dilakukan yaitu
- membuat transform terlebih dahulu
- download dataset/atau membuat dataset dari class dataset /atau Image Folder
- memasukan dataset ke data loader
import torchvision.datasets as datasets import os if os.path.exists('data')==False: os.mkdir('data') transform = transforms.Compose( [ transforms.Resize((28,28)), transforms.ToTensor(), transforms.Normalize(( 0.5), ( 0.5)) ]) train = datasets.MNIST(root='data',train=True,transform=transform,download=False) test = datasets.MNIST(root='data',train=False,transform=transform,download=False) batch_size = 8 train_loader = DataLoader(train,batch_size=batch_size,shuffle=False) test_loader = DataLoader(test,batch_size=batch_size,shuffle=False)
Adapun untuk membuat dataset tersendiri, kalian bisa baca Membuat Dataset untuk Training Deep Learning
ref:
https://blog.paperspace.com/dataloaders-abstractions-pytorch/