Skip to content

Properties

A LightningModule has the following properties which you can access at any time


current_epoch

The current epoch


dtype

Current dtype


experiment

An instance of test-tube Experiment which you can use to log anything for tensorboard (subclass of PyTorch SummaryWriter).

1
2
3
self.experiment.add_embedding(...)   
self.experiment.log({'val_loss': 0.9})   
self.experiment.add_scalars(...)   

global_step

Total training batches seen across all epochs


gradient_clip

The current gradient clip value


on_gpu

True if your model is currently running on GPUs. Useful to set flags around the LightningModule for different CPU vs GPU behavior.


trainer

Last resort access to any state the trainer has. Changing certain properties here could affect your training run.

1
2
3
self.trainer.optimizers
self.trainer.current_epoch
...   

Debugging

The LightningModule also offers these tricks to help debug.


example_input_array

In the LightningModule init, you can set a dummy tensor for this property to get a print out of sizes coming into and out of every layer.

1
2
3
def __init__(self):
    # put the dimensions of the first input to your system
    self.example_input_array = torch.rand(5, 28 * 28)