PyTorch-এ DataLoader ব্যবহার করে ডেটা লোড করা হয়, যা ডেটাকে ব্যাচে ভাগ করে এবং ট্রেনিং বা ভ্যালিডেশন সেটে ডেটা শাফল করে। এটি ডেটা লোডিং এবং প্রিপ্রসেসিং সহজ করে। নিচে একটি উদাহরণ দেওয়া হল যেখানে torchvision.datasets এবং DataLoader ব্যবহার করে ডেটা লোড করা হয়েছে।
উদাহরণ: MNIST ডেটাসেট লোড করা
import torch
from torch.utils.data import DataLoader
import torchvision.transforms as transforms
from torchvision.datasets import MNIST
# ডেটা ট্রান্সফর্মেশন ডিফাইন করা
transform = transforms.Compose([
transforms.ToTensor(), # ইমেজকে টেন্সরে কনভার্ট করা
transforms.Normalize((0.5,), (0.5,)) # নরমালাইজেশন (mean=0.5, std=0.5)
])
# ট্রেনিং এবং টেস্ট ডেটাসেট লোড করা
train_dataset = MNIST(root='./data', train=True, transform=transform, download=True)
test_dataset = MNIST(root='./data', train=False, transform=transform, download=True)
# DataLoader তৈরি করা
train_loader = DataLoader(dataset=train_dataset, batch_size=64, shuffle=True)
test_loader = DataLoader(dataset=test_dataset, batch_size=64, shuffle=False)
# ট্রেনিং ডেটার একটি ব্যাচ চেক করা
data_iter = iter(train_loader)
images, labels = next(data_iter)
print(f"Batch size: {images.size()}")
print(f"Labels: {labels}")
ব্যাখ্যা:
transforms.Compose:
- ডেটাকে প্রসেস বা ট্রান্সফর্ম করার জন্য এটি ব্যবহার করা হয়। এখানে,
transforms.ToTensor(): ইমেজকে PyTorch টেন্সরে কনভার্ট করে।transforms.Normalize((0.5,), (0.5,)): ইমেজ পিক্সেল ভ্যালুকে নরমালাইজ করে (mean = 0.5, std = 0.5)।
ডেটাসেট লোড করা:
MNISTডেটাসেট ডাউনলোড এবং লোড করার জন্যtorchvision.datasetsব্যবহার করা হয়েছে।train=Trueহলে ট্রেনিং ডেটাসেট লোড হয়, এবংtrain=Falseহলে টেস্ট ডেটাসেট।
DataLoader তৈরি করা:
DataLoaderPyTorch এর একটি ইম্পরট্যান্ট ফাংশন, যা ডেটাসেট থেকে ব্যাচ তৈরি করে। এখানে:batch_size=64দ্বারা প্রতিটি ব্যাচে ৬৪টি ইমেজ রাখা হয়েছে।shuffle=Trueদিয়ে ট্রেনিং ডেটাসেট শাফল করা হয়েছে যাতে প্রতিটি এপকে ডেটা মিক্সড থাকে।
ডেটা দেখা:
iter(train_loader)দিয়ে ডেটার একটি ইটারেটর তৈরি করা হয়েছে এবংnext()ফাংশন দিয়ে একটি ব্যাচ এক্সট্রাক্ট করা হয়েছে।imagesএবংlabelsভেরিয়েবলগুলোতে ইমেজ এবং তাদের লেবেলগুলো স্টোর করা হয়েছে।
সুবিধা:
DataLoaderব্যাচ প্রসেসিং, শাফলিং, এবং প্যারালাল ডেটা লোডিং সহজ করে, যা মডেল ট্রেনিংকে দ্রুত এবং ইফিশিয়েন্ট করে তোলে।
Content added By
Read more