Installs into .claude/skills of the current project.
Are you the author of Pytorch Training?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/fourteen1416-pytorch-training)
---
name: pytorch-training
description: Best practices for building robust PyTorch training loops. Use when generating or reviewing ML training code.
metadata:
category: tooling
trigger-keywords: "training,pytorch,torch,deep learning,neural network,model"
applicable-stages: "10,12"
priority: "3"
version: "1.0"
author: researchclaw
references: "PyTorch Performance Tuning Guide, pytorch.org"
code-template: |
import torch
import torch.nn as nn
from torch.utils.data import DataLoader
# Reproducibility
torch.manual_seed(seed)
torch.cuda.manual_seed_all(seed)
torch.backends.cudnn.deterministic = True
# Training loop
model.train()
for epoch in range(num_epochs):
for batch in train_loader:
optimizer.zero_grad(set_to_none=True)
loss = criterion(model(batch['input']), batch['target'])
loss.backward()
torch.nn.utils.clip_grad_norm_(model.parameters(), max_norm=1.0)
optimizer.step()
scheduler.step()
---
## PyTorch Training Best Practice
1. Use torch.manual_seed() for reproducibility (set for torch, numpy, random)
2. Use DataLoader with num_workers>0 and pin_memory=True for GPU
3. Enable cudnn.benchmark=True for fixed input sizes
4. Use learning rate schedulers (CosineAnnealingLR or OneCycleLR)
5. Implement early stopping based on validation metric
6. Log metrics every epoch, save best model checkpoint
7. Use torch.no_grad() for evaluation
8. Clear gradients with optimizer.zero_grad(set_to_none=True) for efficiency