| name | deep-learning |
| description | Build and train neural networks with PyTorch - MLPs, CNNs, and training best practices |
| version | 1.4.0 |
| sasmp_version | 1.4.0 |
| bonded_agent | 04-deep-learning |
| bond_type | PRIMARY_BOND |
| parameters | {"required":[{"name":"model","type":"nn.Module","validation":"Valid PyTorch model"},{"name":"train_loader","type":"DataLoader","validation":"Non-empty DataLoader"}],"optional":[{"name":"epochs","type":"integer","default":10,"validation":"1 <= epochs <= 1000"},{"name":"lr","type":"float","default":0.001,"validation":"1e-6 <= lr <= 1"}]} |
| retry_logic | {"strategy":"exponential_backoff","max_attempts":3,"base_delay_ms":1000} |
| logging | {"level":"info","metrics":["train_loss","val_loss","val_accuracy","gpu_memory"]} |
Deep Learning Skill
Build and train neural networks using PyTorch.
Quick Start
import torch
import torch.nn as nn
from torch.utils.data import DataLoader, TensorDataset
class SimpleNN(nn.Module):
def __init__(self, input_dim, hidden_dim, output_dim):
super().__init__()
self.layers = nn.Sequential(
nn.Linear(input_dim, hidden_dim),
nn.ReLU(),
nn.Dropout(0.3),
nn.Linear(hidden_dim, output_dim)
)
def forward(self, x):
return self.layers(x)
model = SimpleNN(10, 64, 2)
optimizer = torch.optim.AdamW(model.parameters(), lr=1e-3)
criterion = nn.CrossEntropyLoss()
for epoch in range(10):
model.train()
for batch_x, batch_y in train_loader:
optimizer.zero_grad()
output = model(batch_x)
loss = criterion(output, batch_y)
loss.backward()
optimizer.step()
Key Topics
1. Neural Network Architectures
| Architecture | Use Case | Key Layers |
|---|
| MLP | Tabular data | Linear, ReLU, Dropout |
| CNN | Images | Conv2d, MaxPool2d, BatchNorm |
| RNN/LSTM | Sequences |