Integrating 3LC with PyTorch Lightning¶

PyTorch Lightning users have the flexibility to integrate with 3LC within their Lightning modules manually, allowing for fine-tuned control over dataset registration and metrics collection. However, for those seeking a more streamlined approach, 3LC offers the simple yet powerful module_decorator. This decorator automatically registers datasets and facilitates the collection of metrics directly from PyTorch Lightning modules and trainers. Here is an example demonstrating how to use this feature:

import pytorch_lightning as pl
import tlc

@tlc.lightning_module(
    project_name=...,
    run_name=...,
    dataset_prefix=...,
    metrics_collectors=...,
)
class MyLightningModule(pl.LightningModule):
    """Your PyTorch Lightning module definition.

    Should include dataloader setup, training logic, etc.

    The `tlc.lightning_module` decorator will automatically register datasets and collect metrics during training.
    See the module documentation for more information.
    """
    ...

module = MyLightningModule()
trainer = pl.Trainer(max_epochs=10)
trainer.fit(module)

This example illustrates the ease with which 3LC can be incorporated into your PyTorch Lightning workflow, enhancing your project’s efficiency and insight into your models’ training and evaluation phases.