geowatch.utils.lightning_ext.callbacks.telemetry module¶
LightningTelemetry callback to interface with torch.package
- class geowatch.utils.lightning_ext.callbacks.telemetry.LightningTelemetry[source]¶
Bases:
Callback
The idea is that we wrap a fit job with ProcessContext
Example
>>> from geowatch.utils.lightning_ext.callbacks.telemetry import * # NOQA >>> from geowatch.utils.lightning_ext.demo import LightningToyNet2d >>> from geowatch.utils.lightning_ext.callbacks import StateLogger >>> import ubelt as ub >>> from geowatch.utils.lightning_ext.monkeypatches import disable_lightning_hardware_warnings >>> disable_lightning_hardware_warnings() >>> default_root_dir = ub.Path.appdir('geowatch/lightning_ext/test/telemetry') >>> default_root_dir.delete().ensuredir() >>> self = LightningTelemetry() >>> # Test starting a model without any existing checkpoints >>> trainer = pl.Trainer(default_root_dir=default_root_dir, callbacks=[ >>> self, >>> StateLogger() >>> ], max_epochs=2, accelerator='cpu', devices=1) >>> model = LightningToyNet2d() >>> trainer.fit(model)
- classmethod add_argparse_args(parent_parser)[source]¶
Example
>>> from geowatch.utils.lightning_ext.callbacks.telemetry import * # NOQA >>> from geowatch.utils.configargparse_ext import ArgumentParser >>> cls = LightningTelemetry >>> parent_parser = ArgumentParser(formatter_class='defaults') >>> cls.add_argparse_args(parent_parser) >>> parent_parser.print_help()
- setup(trainer, pl_module, stage=None)[source]¶
Finalize initialization step. Resolve the paths where files will be written.
- Parameters:
trainer (pl.Trainer)
pl_module (pl.LightningModule)
stage (str | None)
- Returns:
None