উদাহরণসহ প্রাথমিক কনফিগারেশন এবং কাজের ধরণ

PyTorch Lightning ইন্সটলেশন এবং সেটআপ - পাইটর্চ লাইটনিং (PyTorch Lightning) - Latest Technologies

202

PyTorch ব্যবহার করে প্রাথমিক কনফিগারেশন এবং কাজের ধরণ সেটআপ করার জন্য কিছু ধাপ অনুসরণ করতে হবে। নিচে এই প্রক্রিয়া সম্পর্কে বিস্তারিত আলোচনা করা হলো উদাহরণসহ।

১. PyTorch ইন্সটলেশন

প্রথমে নিশ্চিত করুন যে আপনার সিস্টেমে PyTorch ইনস্টল করা আছে। আপনি pip ব্যবহার করে এটি ইন্সটল করতে পারেন।

pip install torch torchvision torchaudio

২. প্রাথমিক কনফিগারেশন

PyTorch-এর প্রাথমিক কনফিগারেশন করতে, নিচের কোডটি ব্যবহার করুন:

import torch

# CUDA সমর্থন চেক করা
device = 'cuda' if torch.cuda.is_available() else 'cpu'
print(f'Using device: {device}')

৩. টেন্সর তৈরি করা

PyTorch এ টেন্সর তৈরি করার একটি সাধারণ উদাহরণ:

# একটি 2D টেন্সর তৈরি
tensor_2d = torch.tensor([[1, 2], [3, 4]], dtype=torch.float32, device=device)
print("2D Tensor:")
print(tensor_2d)

৪. কাজের ধরণ

PyTorch এ সাধারণ কাজের ধরণ হচ্ছে ডেটা লোড করা, মডেল তৈরি করা, প্রশিক্ষণ দেওয়া এবং ইনফারেন্স করা।

৪.১. ডেটা লোড করা

ডেটা লোড করার জন্য PyTorch DataLoader এবং Dataset ব্যবহার করা হয়। এখানে একটি সাধারণ উদাহরণ:

from torch.utils.data import Dataset, DataLoader

# কাস্টম Dataset তৈরি করা
class CustomDataset(Dataset):
    def __init__(self):
        self.data = torch.tensor([[1, 2], [3, 4], [5, 6]], dtype=torch.float32)
        self.labels = torch.tensor([0, 1, 0], dtype=torch.float32)

    def __len__(self):
        return len(self.data)

    def __getitem__(self, idx):
        return self.data[idx], self.labels[idx]

# ডেটাসেট এবং ডেটালোডার তৈরি করা
dataset = CustomDataset()
dataloader = DataLoader(dataset, batch_size=2, shuffle=True)

# ডেটা লোড করা
for batch in dataloader:
    inputs, labels = batch
    print(f'Inputs: {inputs}, Labels: {labels}')

৪.২. মডেল তৈরি করা

নিউরাল নেটওয়ার্ক মডেল তৈরি করা একটি সাধারণ কাজ।

import torch.nn as nn
import torch.nn.functional as F

# একটি সাধারণ নিউরাল নেটওয়ার্ক মডেল
class SimpleNN(nn.Module):
    def __init__(self):
        super(SimpleNN, self).__init__()
        self.fc1 = nn.Linear(2, 2)  # ইনপুট সাইজ 2, আউটপুট সাইজ 2

    def forward(self, x):
        x = F.relu(self.fc1(x))
        return x

# মডেল তৈরি করা
model = SimpleNN().to(device)
print(model)

৪.৩. প্রশিক্ষণ দেওয়া

মডেল প্রশিক্ষণের জন্য লস ফাংশন এবং অপটিমাইজার নির্ধারণ করুন।

# লস ফাংশন এবং অপটিমাইজার
criterion = nn.BCELoss()
optimizer = torch.optim.Adam(model.parameters(), lr=0.001)

# প্রশিক্ষণ
num_epochs = 5
for epoch in range(num_epochs):
    for inputs, labels in dataloader:
        inputs, labels = inputs.to(device), labels.to(device)

        # গ্রেডিয়েন্ট শূন্য করা
        optimizer.zero_grad()

        # ফরওয়ার্ড পাস
        outputs = model(inputs)
        loss = criterion(outputs, labels.unsqueeze(1))  # লস হিসাব করা

        # ব্যাকওয়ার্ড পাস এবং অপটিমাইজ করা
        loss.backward()
        optimizer.step()

    print(f'Epoch [{epoch+1}/{num_epochs}], Loss: {loss.item():.4f}')

৪.৪. ইনফারেন্স করা

প্রশিক্ষণের পরে, মডেলটি নতুন ডেটার উপর ইনফারেন্স করতে প্রস্তুত।

# ইনফারেন্স করার জন্য নতুন ডেটা
test_data = torch.tensor([[2.0, 3.0]], dtype=torch.float32).to(device)

# মডেল ব্যবহার করে ইনফারেন্স
with torch.no_grad():
    prediction = model(test_data)
    print(f'Prediction: {prediction}')

উপসংহার

এই নির্দেশনাগুলি অনুসরণ করে, আপনি PyTorch এর প্রাথমিক কনফিগারেশন এবং কাজের ধরণ সহজেই সেটআপ করতে পারবেন। এটি আপনাকে ডেটা লোড করা, মডেল তৈরি করা, প্রশিক্ষণ দেওয়া এবং ইনফারেন্স করার প্রক্রিয়াটি বুঝতে সাহায্য করবে। 

Promotion

Are you sure to start over?

Loading...