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?
Thanks for the feedback.