Lightning Integration

Use lightning.pytorch.loggers.LitLogger for Trainer and Fabric integration. LightningLogger remains available only as a deprecated compatibility alias.

Using with Trainer

Pass lightning.pytorch.loggers.LitLogger as the logger argument to the Trainer. Every self.log() call inside your LightningModule is forwarded automatically.

from lightning import Trainer
from lightning.pytorch.loggers import LitLogger

logger = LitLogger(name="cifar10-resnet")
trainer = Trainer(max_epochs=10, logger=logger)
trainer.fit(model, datamodule)

After trainer.fit() starts, the logger prints a URL where you can view live training curves.

Logging Hyperparameters

Lightning automatically calls log_hyperparams when your LightningModule defines self.save_hyperparameters().

class MyModel(L.LightningModule):
    def __init__(self, lr: float = 1e-3, hidden_dim: int = 128):
        super().__init__()
        self.save_hyperparameters()

You can also pass metadata directly:

logger = LitLogger(
    name="cifar10-resnet",
    metadata={"optimizer": "AdamW", "scheduler": "cosine"},
)

Automatic Checkpoint Logging

Set log_model=True to automatically upload checkpoints to the litmodels registry whenever Lightning saves a checkpoint.

from lightning.pytorch.callbacks import ModelCheckpoint

checkpoint_cb = ModelCheckpoint(save_top_k=2, monitor="val_loss")
logger = LitLogger(name="my-model", log_model=True)

trainer = Trainer(
    max_epochs=20,
    logger=logger,
    callbacks=[checkpoint_cb],
)
trainer.fit(model, datamodule)

Using with Fabric

lightning.pytorch.loggers.LitLogger also works as a Fabric logger:

import lightning as L
from lightning.pytorch.loggers import LitLogger

logger = LitLogger(name="fabric-run")
fabric = L.Fabric(loggers=[logger])
fabric.launch()

for step in range(1000):
    loss = train_step()
    fabric.log("train_loss", loss, step=step)

Logging Files and Models

The logger also exposes matching file and model logging helpers on lightning.pytorch.loggers.LitLogger:

trainer.logger.log_file("config.yaml")
trainer.logger.log_model_artifact("checkpoints/best.ckpt", version="best")

For media uploads in Lightning workflows, use the standalone Experiment API directly.

Accessing the Experiment URL

Use the logger’s url property to retrieve the run URL from the logger instance.

logger = LitLogger(name="my-run")
trainer = Trainer(logger=logger)
trainer.fit(model, datamodule)

print(logger.url)

Was this page helpful?

What went wrong?

↑↓ Navigate↵ Open⌘↵ New tabesc Close