mirror of
https://github.com/wassname/pytorch-lightning.git
synced 2026-08-22 12:20:50 +08:00
55 lines
1.3 KiB
Markdown
55 lines
1.3 KiB
Markdown
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 tensorboarX.
|
|
```{.python}
|
|
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.
|
|
```{.python}
|
|
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.
|
|
```python
|
|
def __init__(self):
|
|
# put the dimensions of the first input to your system
|
|
self.example_input_array = torch.rand(5, 28 * 28)
|
|
```
|
|
|
|
|