কম্পিউটার ভিশন হল একটি ক্ষেত্র যা উল্লেখযোগ্য বৃদ্ধির সম্মুখীন হয় এবং স্ব-ড্রাইভিং গাড়ি থেকে ফেসিয়াল রিকগনিশন সিস্টেম পর্যন্ত অনেকগুলি ব্যবহারিক অ্যাপ্লিকেশন রয়েছে। যাইহোক, এই ক্ষেত্রের প্রধান চ্যালেঞ্জগুলির মধ্যে একটি হল মেশিন লার্নিং মডেলগুলিকে প্রশিক্ষণের জন্য উচ্চ-মানের ডেটাসেটগুলি প্রাপ্ত করা।
এই চ্যালেঞ্জ মোকাবেলার জন্য, টর্চভিশন পূর্ব-নির্মিত ডেটাসেট, মডেল এবং বিশেষভাবে কম্পিউটার ভিশন কাজের জন্য ডিজাইন করা রূপান্তরগুলিতে অ্যাক্সেস সরবরাহ করে। টর্চভিশন সিপিইউ এবং জিপিইউ উভয় ত্বরণকেও সমর্থন করে, এটি কম্পিউটার ভিশন অ্যাপ্লিকেশন বিকাশের জন্য একটি নমনীয় এবং শক্তিশালী হাতিয়ার করে তোলে।
টর্চভিশন ডেটাসেট হল জনপ্রিয় ডেটাসেটের সংগ্রহ যা সাধারণত কম্পিউটার ভিশনে মেশিন লার্নিং মডেল তৈরি এবং পরীক্ষা করার জন্য ব্যবহৃত হয়। টর্চভিশন ডেটাসেটগুলির সাহায্যে, বিকাশকারীরা তাদের মেশিন লার্নিং মডেলগুলিকে বিভিন্ন কাজের উপর প্রশিক্ষণ এবং পরীক্ষা করতে পারে, যেমন চিত্র শ্রেণীবিভাগ, অবজেক্ট সনাক্তকরণ এবং বিভাজন।
ডেটাসেটগুলিও প্রি-প্রসেসড, লেবেলযুক্ত এবং বিন্যাসে সংগঠিত হয় যা সহজেই লোড এবং ব্যবহার করা যায়।
এই টর্চভিশন ডেটাসেটটি মেশিন লার্নিং এবং কম্পিউটার ভিশনের ক্ষেত্রে জনপ্রিয় এবং ব্যাপকভাবে ব্যবহৃত হয়। এটিতে হাতে লেখা 0-9 সংখ্যার 70,000টি গ্রেস্কেল চিত্র রয়েছে, যার মধ্যে 60,000টি প্রশিক্ষণের জন্য এবং 10,000টি পরীক্ষার জন্য রয়েছে। প্রতিটি চিত্রের আকার 28x28 পিক্সেল এবং একটি সংশ্লিষ্ট লেবেল রয়েছে যা নির্দেশ করে যে এটি কোন সংখ্যাগুলিকে প্রতিনিধিত্ব করে৷
এই ডেটাসেট অ্যাক্সেস করতে, আপনি এটি সরাসরি এখান থেকে ডাউনলোড করতে পারেন
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 টর্চভিশন প্যাকেজ ব্যবহার করে MNIST ডেটাসেট লোড করার জন্য কোড। 20/3/2023 তারিখে https://pytorch.org/vision/stable/generated/torchvision.datasets.MNIST.html#torchvision.datasets.MNIST থেকে সংগৃহীত।
CIFAR-10 ডেটাসেটে 10টি ক্লাসে 60,000টি 32x32টি রঙিন ছবি রয়েছে, প্রতি ক্লাসে 6,000টি ছবি রয়েছে। এটিতে মোট 50,000টি প্রশিক্ষণের ছবি এবং 10,000টি পরীক্ষার ছবি রয়েছে যা আরও পাঁচটি প্রশিক্ষণ ব্যাচে এবং একটি পরীক্ষা ব্যাচে বিভক্ত, প্রতিটিতে 10,000টি ছবি রয়েছে।
এই ডেটাসেট থেকে ডাউনলোড করা যেতে পারে
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)
মনে রাখবেন যে আপনি প্রয়োজন অনুসারে ডেটা লোডারগুলির জন্য ব্যাচের আকার এবং কর্মী প্রক্রিয়ার সংখ্যা সামঞ্জস্য করতে পারেন।
PyTorch টর্চভিশন প্যাকেজ ব্যবহার করে CIFAR-10 ডেটাসেট লোড করার জন্য কোড। 20/3/2023 তারিখে https://pytorch.org/vision/stable/generated/torchvision.datasets.CIFAR10.html#torchvision.datasets.CIFAR10 থেকে সংগৃহীত।
CIFAR-100 ডেটাসেটে 60,000টি (50,000 প্রশিক্ষণের ছবি এবং 10,000 পরীক্ষার ছবি) 32x32 রঙের ছবি 100টি ক্লাসে রয়েছে, প্রতি ক্লাসে 600টি ছবি রয়েছে। 100টি শ্রেণীকে 20টি সুপার-ক্লাসে বিভক্ত করা হয়েছে, একটি সূক্ষ্ম লেবেল সহ এটির শ্রেণী বোঝানোর জন্য এবং একটি মোটা লেবেল যা এটির অন্তর্গত সুপার-ক্লাসের প্রতিনিধিত্ব করে।
Kaggle থেকে টর্চভিশন ডেটাসেট ডাউনলোড করতে, অনুগ্রহ করে Kaggle এ যান
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 টর্চভিশন প্যাকেজ ব্যবহার করে CIFAR-100 ডেটাসেট লোড করার জন্য কোড। 20/3/2023 তারিখে https://pytorch.org/vision/stable/generated/torchvision.datasets.CIFAR100.html#torchvision.datasets.CIFAR100 থেকে সংগৃহীত।
টর্চভিশনের ইমেজনেট ডেটাসেটে আনুমানিক 1.2 মিলিয়ন প্রশিক্ষণের ছবি, 50,000টি যাচাইকরণের ছবি এবং 100,000টি পরীক্ষার ছবি রয়েছে। ডেটাসেটের প্রতিটি ছবিকে 1,000টি বিভাগের একটি দিয়ে লেবেল করা হয়েছে যেমন "বিড়াল," "কুকুর", "গাড়ি", "বিমান" ইত্যাদি।
এই টর্চভিশন ডেটাসেট ডাউনলোড করতে, আপনাকে দেখতে হবে
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 টর্চভিশন প্যাকেজ ব্যবহার করে ImageNet ডেটাসেট লোড করার জন্য কোড। 21/3/2023 তারিখে https://pytorch.org/vision/stable/generated/torchvision.datasets.ImageNet.html#torchvision.datasets.ImageNet থেকে সংগৃহীত।
মাইক্রোসফ্ট কমন অবজেক্টস ইন কনটেক্সট(এমএস কোকো) ডেটাসেটে প্রতিদিনের বস্তু এবং মানুষের 328,000টি উচ্চ-মানের ভিজ্যুয়াল চিত্র রয়েছে, যা প্রায়শই রিয়েল-টাইম অবজেক্ট সনাক্তকরণে অ্যালগরিদমের কর্মক্ষমতা তুলনা করার জন্য একটি মান হিসাবে ব্যবহৃত হয়।
এই টর্চভিশন ডেটাসেট ডাউনলোড করতে, অনুগ্রহ করে দেখুন
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 স্থানধারক প্রতিস্থাপন করা নিশ্চিত করুন। এছাড়াও, আপনার প্রয়োজনের জন্য ব্যাচ_সাইজ প্যারামিটার সামঞ্জস্য করুন।
PyTorch টর্চভিশন প্যাকেজ ব্যবহার করে MS Coco ডেটাসেট লোড করার জন্য কোড। 21/3/2023 তারিখে https://pytorch.org/vision/stable/generated/torchvision.datasets.CocoDetection.html#torchvision.datasets.CocoDetection থেকে সংগৃহীত।
ফ্যাশন MNIST ডেটাসেটটি মূল MNIST ডেটাসেটের প্রতিস্থাপন হিসাবে Zalando রিসার্চ দ্বারা তৈরি করা হয়েছিল। ফ্যাশন এমএনআইএসটি ডেটাসেটে 70,000টি গ্রেস্কেল চিত্র (60,000টির প্রশিক্ষণ সেট এবং 10,000টির একটি পরীক্ষামূলক সেট) পোশাকের আইটেম রয়েছে।
চিত্রগুলি 28x28 পিক্সেল আকারের এবং টি-শার্ট/টপস, ট্রাউজার, পুলওভার, ড্রেস, কোট, স্যান্ডেল, শার্ট, স্নিকার, ব্যাগ এবং গোড়ালি বুট সহ 10টি বিভিন্ন শ্রেণীর পোশাকের আইটেমগুলিকে উপস্থাপন করে৷ এটি মূল MNIST ডেটাসেটের অনুরূপ, তবে পোশাকের আইটেমগুলির বৃহত্তর জটিলতা এবং বৈচিত্র্যের কারণে আরও চ্যালেঞ্জিং শ্রেণীবিভাগের কাজ রয়েছে৷
এই টর্চভিশন ডেটাসেট থেকে ডাউনলোড করা যাবে
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)
PyTorch টর্চভিশন প্যাকেজ ব্যবহার করে ফ্যাশন-MNIST ডেটাসেট লোড করার জন্য কোড। 21/3/2023 তারিখে https://pytorch.org/vision/stable/generated/torchvision.datasets.FashionMNIST.html#torchvision.datasets.FashionMNIST থেকে সংগৃহীত।
SVHN (রাস্তার দৃশ্য হাউস নম্বর) ডেটাসেট হল Google-এর রাস্তার দৃশ্যের ছবি থেকে প্রাপ্ত একটি ইমেজ ডেটাসেট, যা রাস্তার-স্তরের ছবি থেকে নেওয়া বাড়ির নম্বরের ক্রপ করা ছবি নিয়ে গঠিত। এটি সমস্ত বাড়ির নম্বর এবং তাদের সীমাবদ্ধ বাক্সগুলির সাথে একটি সম্পূর্ণ বিন্যাসে এবং শুধুমাত্র বাড়ির নম্বরগুলি সহ একটি ক্রপ করা বিন্যাসে উপলব্ধ। সম্পূর্ণ বিন্যাসটি প্রায়শই অবজেক্ট সনাক্তকরণ কাজের জন্য ব্যবহৃত হয়, যখন ক্রপ করা ফরম্যাটটি সাধারণত শ্রেণিবিন্যাসের কাজের জন্য ব্যবহৃত হয়।
SVHN ডেটাসেটটি টর্চভিশন প্যাকেজেও অন্তর্ভুক্ত করা হয়েছে এবং এতে প্রশিক্ষণের জন্য 73,257টি ছবি, পরীক্ষার জন্য 26,032টি ছবি এবং অতিরিক্ত প্রশিক্ষণ ডেটার জন্য 531,131টি অতিরিক্ত ছবি রয়েছে।
এই টর্চভিশন ডেটাসেট ডাউনলোড করতে, আপনি যেতে পারেন
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 টর্চভিশন প্যাকেজ ব্যবহার করে SVHN ডেটাসেট লোড করার জন্য কোড। 22/3/2023 তারিখে https://pytorch.org/vision/stable/generated/torchvision.datasets.SVHN.html#torchvision.datasets.SVHN থেকে সংগৃহীত।
STL-10 ডেটাসেট হল একটি ইমেজ রিকগনিশন ডেটাসেট যা মোট 6,000+ ছবি সহ 10টি ক্লাস নিয়ে গঠিত। STL-10-এর অর্থ হল "ইমেজ রিকগনিশন-10 ক্লাসের জন্য স্ট্যান্ডার্ড ট্রেনিং এবং টেস্ট সেট" এবং ডেটাসেটের 10টি ক্লাস হল:
এই ডেটাসেট অ্যাক্সেস করতে, আপনি এটি সরাসরি এখান থেকে ডাউনলোড করতে পারেন
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 টর্চভিশন প্যাকেজ ব্যবহার করে STL-10 ডেটাসেট লোড করার জন্য কোড। 22/3/2023 তারিখে https://pytorch.org/vision/stable/generated/torchvision.datasets.STL10.html#torchvision.datasets.STL10 থেকে সংগৃহীত।
এই টর্চভিশন ডেটাসেটটি একটি জনপ্রিয় বৃহৎ-স্কেল ফেস অ্যাট্রিবিউট ডেটাসেট যা 200,000 টিরও বেশি সেলিব্রিটি ছবি নিয়ে গঠিত। এটি 2015 সালে চাইনিজ ইউনিভার্সিটি অফ হংকং-এর গবেষকরা প্রথম প্রকাশ করেছিলেন৷ CelebA-এর একটি ছবিতে বয়স, চুলের রঙ, মুখের অভিব্যক্তি এবং লিঙ্গের মতো 40টি মুখের বৈশিষ্ট্য রয়েছে৷ এছাড়াও, এই ছবিগুলি ইন্টারনেট থেকে পুনরুদ্ধার করা হয়েছে এবং বিভিন্ন জাতি, বয়স এবং লিঙ্গ সহ মুখের চেহারাগুলির একটি বিস্তৃত পরিসর কভার করেছে৷ প্রতিটি ছবিতে মুখের অবস্থানের জন্য বাউন্ডিং বক্সের টীকা, সেইসাথে চোখ, নাক এবং মুখের জন্য 5টি ল্যান্ডমার্ক পয়েন্ট।
আপনি এই ডেটাসেটটি ডাউনলোড করতে পারেন
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 টর্চভিশন প্যাকেজ ব্যবহার করে CelebA ডেটাসেট লোড করার জন্য কোড। 22/3/2023 তারিখে https://pytorch.org/vision/stable/generated/torchvision.datasets.CelebA.html#torchvision.datasets.CelebA থেকে সংগৃহীত।
ভিওসি ডেটাসেট (ভিজ্যুয়াল অবজেক্ট ক্লাস) 2005 সালে PASCAL VOC চ্যালেঞ্জের অংশ হিসাবে প্রথম চালু করা হয়েছিল, যার লক্ষ্য ছিল ভিজ্যুয়াল স্বীকৃতিতে শিল্পের অবস্থাকে এগিয়ে নেওয়া। এটিতে প্রাণী, যানবাহন এবং সাধারণ গৃহস্থালী সামগ্রী সহ 20টি বিভিন্ন অবজেক্ট বিভাগের ছবি রয়েছে। এই চিত্রগুলির প্রত্যেকটি চিত্রের মধ্যে থাকা বস্তুর অবস্থান এবং শ্রেণীবিভাগের সাথে টীকাযুক্ত। টীকাগুলির মধ্যে বাউন্ডিং বাক্স এবং পিক্সেল-স্তরের বিভাজন মাস্ক উভয়ই অন্তর্ভুক্ত।
ডেটাসেট দুটি প্রধান সেটে বিভক্ত: প্রশিক্ষণ এবং বৈধতা সেট। প্রশিক্ষণ সেটটিতে টীকা সহ প্রায় 5,000টি চিত্র রয়েছে, যখন বৈধকরণ সেটটিতে টীকা ছাড়াই প্রায় 5,000টি চিত্র রয়েছে৷ এছাড়াও, ডেটাসেটে আনুমানিক 10,000 ইমেজ সহ একটি পরীক্ষা সেটও রয়েছে, কিন্তু এই সেটের জন্য টীকাগুলি সর্বজনীনভাবে উপলব্ধ নয়৷
সাম্প্রতিক ডেটাসেট অ্যাক্সেস করতে, আপনি থেকে ডাউনলোড করতে পারেন
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 টর্চভিশন প্যাকেজ ব্যবহার করে PASCAL VOC ডেটাসেট লোড করার জন্য কোড। 22/3/2023 তারিখে https://pytorch.org/vision/stable/generated/torchvision.datasets.VOCDetection.html#torchvision.datasets.VOCDetection থেকে সংগৃহীত।
Places365 ডেটাসেট হল একটি বৃহৎ আকারের দৃশ্য শনাক্তকরণ ডেটাসেট যেখানে 1.8 মিলিয়নেরও বেশি ছবি রয়েছে যা 365টি দৃশ্যের বিভাগকে কভার করে৷ Places365 স্ট্যান্ডার্ড ডেটাসেটে প্রায় 1.8 মিলিয়ন ছবি রয়েছে, যেখানে Places365-চ্যালেঞ্জ ডেটাসেটে 50,000টি অতিরিক্ত বৈধতা চিত্র রয়েছে যা স্বীকৃতি মডেলের জন্য আরও চ্যালেঞ্জিং।
এই ডেটাসেট অ্যাক্সেস করতে, আপনি ব্যবহার করতে পারেন
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 টর্চভিশন প্যাকেজ ব্যবহার করে Places365 ডেটাসেট লোড করার জন্য কোড। 22/3/2023 তারিখে https://pytorch.org/vision/stable/generated/torchvision.datasets.Places365.html#torchvision.datasets.Places365 থেকে সংগৃহীত।
টর্চভিশন ডেটাসেটগুলি প্রায়শই মেশিন লার্নিং মডেলের প্রশিক্ষণ এবং মূল্যায়নের জন্য ব্যবহৃত হয় যেমন কনভোল্যুশনাল নিউরাল নেটওয়ার্ক (সিএনএন), যা সাধারণত কম্পিউটার ভিশন অ্যাপ্লিকেশনগুলিতে ব্যবহৃত হয়।
এগুলি যে কেউ ডাউনলোড করতে এবং অবাধে ব্যবহার করার জন্য উপলব্ধ।
এই নিবন্ধটির প্রধান চিত্রটি হ্যাকারনুন-এর এআই স্টেবল ডিফিউশন মডেলের মাধ্যমে তৈরি করা হয়েছে 'ছোট ফ্রেমে একত্রে সংগঠিত হাজার হাজার ছবি' প্রম্পট ব্যবহার করে।
আরও ডেটাসেট তালিকা: