# PyTorch Lightning

Pass `im.LightningLogger` to the Lightning `Trainer` and everything you `self.log(...)` lands in InstantML. The logger implements the Lightning `Logger` interface and is rank-zero safe: in distributed training only the main process logs.

## Install

```bash
python -m pip install "instantml[frameworks]"
```

Authenticate with [`instantml login`](/docs/sdk/installation-auth.md) or `INSTANTML_API_KEY` if you haven't already.

## Wire the logger into the Trainer

This complete example trains a tiny regressor on synthetic data and logs `train/loss` every step:

```python
import instantml as im
import lightning as L
import torch
from torch import nn
from torch.utils.data import DataLoader, TensorDataset


class TinyRegressor(L.LightningModule):
    def __init__(self, lr=1e-3):
        super().__init__()
        self.save_hyperparameters()
        self.layer = nn.Linear(8, 1)

    def training_step(self, batch, batch_idx):
        x, y = batch
        loss = nn.functional.mse_loss(self.layer(x), y)
        self.log("train/loss", loss)
        return loss

    def configure_optimizers(self):
        return torch.optim.Adam(self.parameters(), lr=self.hparams.lr)


dataset = TensorDataset(torch.randn(256, 8), torch.randn(256, 1))

logger = im.LightningLogger(
    project="lightning-demo",
    name="tiny-regressor",
    tags=["lightning"],
)

trainer = L.Trainer(max_epochs=5, logger=logger, log_every_n_steps=1)
trainer.fit(TinyRegressor(), DataLoader(dataset, batch_size=32))
```

Open the `lightning-demo` project at [instantml.ai](https://instantml.ai) to watch the `train/loss` chart live. The run is finished automatically when Lightning calls `finalize(...)` at the end of training.

`LightningLogger` accepts the same keyword arguments as `im.init(...)` (`name`, `config`, `tags`, `notes`, `api_key`, ...) and forwards them when it creates the run on first use.

## What gets logged

- **Metrics** — everything you pass to `self.log(...)` inside your `LightningModule` is forwarded through `log_metrics(...)` at the current step.
- **Hyperparameters** — `log_hyperparams(...)` records them as run config, so `self.save_hyperparameters()` in your module captures your config automatically.
- **Media** — Lightning's `log_image`, `log_audio`, and `log_video` map to InstantML [rich objects](/docs/sdk/rich-objects.md).

## Reuse an existing run

Pass an already-created run when you want the logger to share a run with other code instead of creating its own:

```python
run = im.init(project="lightning-demo", name="tiny-regressor")
logger = im.LightningLogger(run=run)
trainer = L.Trainer(logger=logger)
```

## Next steps

- [Understand metrics and steps](/docs/sdk/metrics-steps.md)
- [Log checkpoints as artifacts](/docs/sdk/artifacts-checkpoints.md)
- [Log images, audio, and video](/docs/sdk/rich-objects.md)
- [Log from distributed training](/docs/sdk/distributed-training.md)
- [Chart metrics in the dashboard](/docs/dashboard/metrics-charts.md)

## Agent navigation

- [Docs index](/llms.txt)
- [Full docs bundle](/llms-full.txt)

### Get Started

- [Overview](/docs/index.md)
- [Quickstart](/docs/quickstart.md)
- [Core Concepts](/docs/concepts/core-concepts.md)
- [Pricing](/docs/pricing.md)
- [Benchmarks](/docs/benchmarks.md)
- [Examples](/docs/guides/examples.md)
- [Troubleshooting](/docs/troubleshooting.md)

### SDK

- [Installation Auth](/docs/sdk/installation-auth.md)
- [Logging](/docs/sdk/logging.md)
- [Tracing](/docs/sdk/tracing.md)
- [Metrics Steps](/docs/sdk/metrics-steps.md)
- [Config Tags Notes](/docs/sdk/config-tags-notes.md)
- [Artifacts Checkpoints](/docs/sdk/artifacts-checkpoints.md)
- [Rich Objects](/docs/sdk/rich-objects.md)
- [Distributed Training](/docs/sdk/distributed-training.md)
- [Console System Integrations](/docs/sdk/console-system-integrations.md)
- [Reliability](/docs/sdk/reliability.md)
- [Cli Login](/docs/sdk/cli-login.md)
- [Querying Data](/docs/sdk/querying-data.md)
- [Agent Mcp](/docs/sdk/agent-mcp.md)
- [Examples Patterns](/docs/sdk/examples-patterns.md)

### Integrations

- [Overview](/docs/integrations/overview.md)
- [Pytorch Lightning](/docs/integrations/pytorch-lightning.md) (current page)
- [Huggingface Transformers](/docs/integrations/huggingface-transformers.md)
- [Keras](/docs/integrations/keras.md)
- [Wandb](/docs/integrations/wandb.md)

### Dashboard

- [Tour](/docs/dashboard/tour.md)
- [Organizations Workspaces](/docs/dashboard/organizations-workspaces.md)
- [Runs Workspace](/docs/dashboard/runs-workspace.md)
- [Metrics Charts](/docs/dashboard/metrics-charts.md)
- [Run Detail](/docs/dashboard/run-detail.md)
- [Traces](/docs/dashboard/traces.md)
- [Compare Runs](/docs/dashboard/compare-runs.md)
- [Research Dashboards](/docs/dashboard/research-dashboards.md)
- [Artifacts Files](/docs/dashboard/artifacts-files.md)
- [Run Health](/docs/dashboard/alerts.md)
- [Datasets](/docs/dashboard/datasets.md)
- [Checkpoints](/docs/dashboard/checkpoints.md)
- [Reports](/docs/dashboard/reports.md)
- [Settings Api Keys](/docs/dashboard/settings-api-keys.md)
- [Api Tab](/docs/dashboard/api-tab.md)
- [Onboarding Team Billing](/docs/dashboard/onboarding-team-billing.md)

### Data

- [Imports](/docs/guides/imports.md)
- [W&B alternative](/docs/guides/wandb-alternative.md)
- [InstantML vs MLflow](/docs/guides/instantml-vs-mlflow.md)
- [W&B import guide](/docs/guides/wandb-import-guide.md)
- [W&B and Neptune imports](/docs/guides/wandb-neptune-imports.md)
- [Export Usage Limits](/docs/guides/export-usage-limits.md)
- [Pricing Limits Billing](/docs/guides/pricing-limits-billing.md)
- [Auth Billing Storage](/docs/guides/auth-billing-storage.md)
- [Customer Owned Clickhouse](/docs/guides/customer-owned-clickhouse.md)
- [Observability](/docs/guides/observability.md)

### API

**Practical API guides**

- [Authentication](/docs/api/authentication.md)
- [Errors And Limits](/docs/api/errors-and-limits.md)
- [Health Observability](/docs/api/health-observability.md)
- [Projects Runs](/docs/api/projects-runs.md)
- [Metrics Series](/docs/api/metrics-series.md)
- [Attributes Objects](/docs/api/attributes-objects.md)
- [Artifacts](/docs/api/artifacts.md)
- [Reports](/docs/api/reports.md)
- [Iframe Embeds](/docs/api/iframe-embeds.md)
- [Import Export Usage](/docs/api/import-export-usage.md)
- [Dashboard Control State](/docs/api/dashboard-control-state.md)
**Architecture**

- [System Overview](/docs/architecture/system-overview.md)
- [Service Planes](/docs/architecture/service-planes.md)
- [Storage Model](/docs/architecture/storage-model.md)
- [Google Clickhouse](/docs/architecture/google-clickhouse.md)
- [Auth Tenancy](/docs/architecture/auth-tenancy.md)
- [Schema Reference](/docs/architecture/schema-reference.md)

### API Reference

- [API Reference](/docs/api-reference.md)
