PyTorch Lightning এবং Weights & Biases (WandB) একসাথে ব্যবহার করলে মেশিন লার্নিং মডেলের প্রশিক্ষণ, লগিং এবং মূল্যায়ন প্রক্রিয়া উন্নত হয়। WandB একটি শক্তিশালী টুল, যা ডেটা বিজ্ঞানীদের জন্য প্রশিক্ষণ, মেট্রিক্স ট্র্যাকিং এবং মডেল তুলনা করা সহজ করে তোলে। নিচে PyTorch Lightning এবং WandB-এর সাথে ইন্টিগ্রেশন করার পদক্ষেপগুলি আলোচনা করা হলো।
প্রয়োজনীয় লাইব্রেরি ইনস্টল করা
প্রথমে PyTorch Lightning এবং WandB ইনস্টল করুন। আপনি নিচের কমান্ড ব্যবহার করে ইনস্টল করতে পারেন:
pip install pytorch-lightning wandb
WandB অ্যাকাউন্ট তৈরি করা
- WandB ব্যবহার করার জন্য একটি অ্যাকাউন্ট তৈরি করুন এবং লগ ইন করুন।
PyTorch Lightning এবং WandB Integration
পদক্ষেপ ১: প্রাথমিক লাইব্রেরি ইমপোর্ট করা
import pytorch_lightning as pl
import wandb
from pytorch_lightning.loggers import WandbLogger
import torch
from torch import nn
from torch.utils.data import DataLoader, Dataset
পদক্ষেপ ২: ডেটাসেট তৈরি করা
class SimpleDataset(Dataset):
def __init__(self, size):
self.data = torch.randn(size, 10)
self.labels = (self.data.sum(dim=1) > 0).long() # সিম্পল লেবেল তৈরি
def __len__(self):
return len(self.data)
def __getitem__(self, idx):
return self.data[idx], self.labels[idx]
পদক্ষেপ ৩: মডেল তৈরি করা
class SimpleModel(pl.LightningModule):
def __init__(self):
super(SimpleModel, self).__init__()
self.layer = nn.Linear(10, 2)
def forward(self, x):
return self.layer(x)
def training_step(self, batch, batch_idx):
x, y = batch
y_hat = self(x)
loss = nn.CrossEntropyLoss()(y_hat, y)
self.log('train_loss', loss) # WandB লগ
return loss
def configure_optimizers(self):
return torch.optim.Adam(self.parameters(), lr=0.001)
পদক্ষেপ ৪: WandB Logger সেটআপ করা
# WandB Logger তৈরি করা
wandb_logger = WandbLogger(
project='pytorch-lightning-example', # প্রোজেক্টের নাম
log_model=True # মডেল লগ করার জন্য
)
পদক্ষেপ ৫: মডেল প্রশিক্ষণ করা
# ডেটা লোডার তৈরি
train_dataset = SimpleDataset(size=1000)
train_loader = DataLoader(train_dataset, batch_size=32)
# মডেল ইনস্ট্যান্স তৈরি করা
model = SimpleModel()
# প্রশিক্ষক তৈরি করা
trainer = pl.Trainer(logger=wandb_logger, max_epochs=5)
# প্রশিক্ষণ শুরু করা
trainer.fit(model, train_loader)
উপসংহার
PyTorch Lightning এবং WandB ইন্টিগ্রেশন মডেল প্রশিক্ষণের সময় কার্যকরী লগিং এবং মনিটরিং সরবরাহ করে। WandB ব্যবহার করে, আপনি আপনার মডেলের কার্যকারিতা ট্র্যাক করতে পারেন এবং বিভিন্ন প্রশিক্ষণের ফলাফল বিশ্লেষণ করতে পারেন। এই উদাহরণগুলি অনুসরণ করে, আপনি সহজেই আপনার মেশিন লার্নিং প্রকল্পে PyTorch Lightning এবং WandB ব্যবহার করতে পারেন।
Read more