DataLoader ব্যবহার করে ডেটা লোড করা

মডেল ট্রেনিং এবং ভ্যালিডেশন - টর্চ (Torch) - Latest Technologies

297

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 তৈরি করা:

  • DataLoader PyTorch এর একটি ইম্পরট্যান্ট ফাংশন, যা ডেটাসেট থেকে ব্যাচ তৈরি করে। এখানে:
    • batch_size=64 দ্বারা প্রতিটি ব্যাচে ৬৪টি ইমেজ রাখা হয়েছে।
    • shuffle=True দিয়ে ট্রেনিং ডেটাসেট শাফল করা হয়েছে যাতে প্রতিটি এপকে ডেটা মিক্সড থাকে।

ডেটা দেখা:

  • iter(train_loader) দিয়ে ডেটার একটি ইটারেটর তৈরি করা হয়েছে এবং next() ফাংশন দিয়ে একটি ব্যাচ এক্সট্রাক্ট করা হয়েছে।
  • images এবং labels ভেরিয়েবলগুলোতে ইমেজ এবং তাদের লেবেলগুলো স্টোর করা হয়েছে।

সুবিধা:

  • DataLoader ব্যাচ প্রসেসিং, শাফলিং, এবং প্যারালাল ডেটা লোডিং সহজ করে, যা মডেল ট্রেনিংকে দ্রুত এবং ইফিশিয়েন্ট করে তোলে।
Promotion

Are you sure to start over?

Loading...