ml-lightning-basics

Organize PyTorch Lightning training into LightningModule, LightningDataModule, and Trainer modules.

Updated Feb 6, 2026
One-click install
npx skills add https://github.com/nishide-dev/claude-code-ml-research --skill ml-lightning-basics
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ml-lightning-basics
Source: https://github.com/nishide-dev/claude-code-ml-research/tree/main/skills/ml-lightning-basics
Command: npx skills add https://github.com/nishide-dev/claude-code-ml-research --skill ml-lightning-basics

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

It solves the complexity of structuring PyTorch training code by showing how to implement LightningModule, LightningDataModule, and Trainer in a way that supports scalable, reproducible ML workflows.

Core Features & Use Cases

  • LightningModule patterns: Encapsulates model architecture and training/validation logic with required hooks like training_step, validation_step, and configure_optimizers.
  • LightningDataModule for reproducible data: Centralizes prepare_data, setup, and dataloader definitions for consistent loading across distributed runs.
  • Trainer orchestration: Demonstrates automatic hardware/distributed configuration (DDP/FSDP/DeepSpeed), callbacks, logging, and mixed-precision settings.
  • PyTorch 2.0 optimization: Covers practical torch.compile integration (modes, best practices, and handling graph breaks).
  • Production best practices: Emphasizes hyperparameter saving, correct logging via self.log, and guidance for common issues like NaNs, OOM, and slow training.

Quick Start

Use the ml-lightning-basics skill to design your model as a LightningModule and your data as a LightningDataModule, then train it with Trainer using the configuration patterns shown in the skill.

Frequently Asked Questions about ml-lightning-basics

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I structure PyTorch Lightning training code for distributed training?

Structure PyTorch Lightning training code by encapsulating model architecture and validation logic in a LightningModule, centralizing data loading in a LightningDataModule, and orchestrating distributed training via the Trainer with strategies like DDP or FSDP.

What is the best way to configure a LightningDataModule for reproducible data loading?

Configure a LightningDataModule for reproducible data loading by centralizing prepare_data, setup, and dataloader definitions, which ensures consistent data loading across distributed runs and separates data logic from model logic.

How do I integrate torch.compile with PyTorch Lightning for speedups?

Integrate torch.compile with PyTorch Lightning by applying it within your LightningModule configuration to achieve PyTorch 2.0 speedups, handling graph breaks and selecting appropriate compile modes for optimized performance.

Can I use mixed precision and callbacks with PyTorch Lightning Trainer?

Yes, you can use mixed precision and callbacks with PyTorch Lightning Trainer by configuring the Trainer with appropriate precision settings and passing callback lists to monitor metrics, log data, and control training behavior automatically.

Why does my PyTorch Lightning training loop produce NaNs or run out of memory?

PyTorch Lightning training loops can produce NaNs or encounter OOM errors due to incorrect mixed-precision settings or improper batch sizing, requiring adjustments to Trainer configuration and hyperparameter logging to debug effectively.

Do I need to define configure_optimizers when building a LightningModule?

Yes, you need to define the configure_optimizers hook when building a LightningModule, along with training_step and validation_step, to properly encapsulate your model's optimization logic and training loop responsibilities.