Back to Templates

PyTorch Deep Learning Workspace

Active
Template-based project
Workspace

AI Assistant

Get help with your project

AI

I've set up your workspace based on the PyTorch Deep Learning template. What would you like to do first?

02:15 PM

Code Editor

Edit your project files

import torch
import torch.nn as nn
import torchvision.models as models
import torchvision.transforms as transforms
from torch.utils.data import DataLoader, Dataset

# Define the model
class MedicalImageClassifier(nn.Module):
    def __init__(self, num_classes=5):
        super(MedicalImageClassifier, self).__init__()
        # Load pre-trained ResNet-50
        self.model = models.resnet50(pretrained=True)
        
        # Freeze early layers
        for param in list(self.model.parameters())[:-20]:
            param.requires_grad = False
            
        # Replace the final fully connected layer
        num_features = self.model.fc.in_features
        self.model.fc = nn.Linear(num_features, num_classes)
    
    def forward(self, x):
        return self.model(x)

# Create the model
model = MedicalImageClassifier(num_classes=5)
criterion = nn.CrossEntropyLoss()
optimizer = torch.optim.Adam(model.parameters(), lr=0.001)

# Training function
def train_model(model, dataloader, criterion, optimizer, num_epochs=10):
    for epoch in range(num_epochs):
        model.train()
        running_loss = 0.0
        
        for inputs, labels in dataloader:
            optimizer.zero_grad()
            outputs = model(inputs)
            loss = criterion(outputs, labels)
            loss.backward()
            optimizer.step()
            
            running_loss += loss.item()
        
        epoch_loss = running_loss / len(dataloader)
        print(f'Epoch {epoch+1}/{num_epochs}, Loss: {epoch_loss:.4f}')
    
    return model

# Main execution
if __name__ == "__main__":
    # TODO: Load your dataset and create dataloaders
    # TODO: Train the model
    # TODO: Evaluate the model
    # TODO: Save the trained model
    print("Ready to start training!")