mirror of
https://github.com/wassname/pytorch-lightning.git
synced 2026-09-10 12:21:57 +08:00
updated docs
This commit is contained in:
@@ -14,8 +14,6 @@ Otherwise, to Define a Lightning Module, implement the following methods:
|
|||||||
- [validation_end](RequiredTrainerInterface.md#validation_end)
|
- [validation_end](RequiredTrainerInterface.md#validation_end)
|
||||||
|
|
||||||
- [configure_optimizers](RequiredTrainerInterface.md#configure_optimizers)
|
- [configure_optimizers](RequiredTrainerInterface.md#configure_optimizers)
|
||||||
- [get_save_dict](RequiredTrainerInterface.md#get_save_dict)
|
|
||||||
- [load_model_specific](RequiredTrainerInterface.md#load_model_specific)
|
|
||||||
|
|
||||||
- [tng_dataloader](RequiredTrainerInterface.md#tng_dataloader)
|
- [tng_dataloader](RequiredTrainerInterface.md#tng_dataloader)
|
||||||
- [tng_dataloader](RequiredTrainerInterface.md#tng_dataloader)
|
- [tng_dataloader](RequiredTrainerInterface.md#tng_dataloader)
|
||||||
@@ -23,6 +21,8 @@ Otherwise, to Define a Lightning Module, implement the following methods:
|
|||||||
|
|
||||||
**Optional**:
|
**Optional**:
|
||||||
|
|
||||||
|
- [on_save_checkpoint](RequiredTrainerInterface.md#on_save_checkpoint)
|
||||||
|
- [on_load_checkpoint](RequiredTrainerInterface.md#on_load_checkpoint)
|
||||||
- [update_tng_log_metrics](RequiredTrainerInterface.md#update_tng_log_metrics)
|
- [update_tng_log_metrics](RequiredTrainerInterface.md#update_tng_log_metrics)
|
||||||
- [add_model_specific_args](RequiredTrainerInterface.md#add_model_specific_args)
|
- [add_model_specific_args](RequiredTrainerInterface.md#add_model_specific_args)
|
||||||
|
|
||||||
@@ -245,34 +245,35 @@ def configure_optimizers(self):
|
|||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
### get_save_dict
|
### on_save_checkpoint
|
||||||
|
|
||||||
``` {.python}
|
``` {.python}
|
||||||
def get_save_dict(self)
|
def on_save_checkpoint(self, checkpoint)
|
||||||
```
|
```
|
||||||
Called by lightning to checkpoint your model. Lightning saves current epoch, current batch nb, etc...
|
Called by lightning to checkpoint your model. Lightning saves the training state (current epoch, global_step, etc)
|
||||||
All you have to return is what specifically about your lightning model you want to checkpoint.
|
and also saves the model state_dict. If you want to save anything else, use this method to add your own
|
||||||
|
key-value pair.
|
||||||
|
|
||||||
##### Return
|
##### Return
|
||||||
Dictionary - No required keys. Most of the time as described in this example.
|
Nothing
|
||||||
|
|
||||||
**Example**
|
**Example**
|
||||||
|
|
||||||
``` {.python}
|
``` {.python}
|
||||||
def get_save_dict(self):
|
def on_save_checkpoint(self, checkpoint):
|
||||||
# 99% of use cases this is all you need to return
|
# 99% of use cases you don't need to implement this method
|
||||||
checkpoint = {'state_dict': self.state_dict()}
|
checkpoint['something_cool_i_want_to_save'] = my_cool_pickable_object
|
||||||
return checkpoint
|
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
### load_model_specific
|
### on_load_checkpoint
|
||||||
|
|
||||||
``` {.python}
|
``` {.python}
|
||||||
def load_model_specific(self, checkpoint)
|
def on_load_checkpoint(self, checkpoint)
|
||||||
```
|
```
|
||||||
Called by lightning to restore your model. This is your chance to restore your model using the keys you added in get_save_dict.
|
Called by lightning to restore your model. Lighting auto-restores global step, epoch, etc...
|
||||||
Lightning will automatically restore current epoch, batch nb, etc.
|
It also restores the model state_dict.
|
||||||
|
If you saved something with **on_save_checkpoint** this is your chance to restore this.
|
||||||
|
|
||||||
##### Return
|
##### Return
|
||||||
Nothing
|
Nothing
|
||||||
@@ -280,9 +281,9 @@ Nothing
|
|||||||
**Example**
|
**Example**
|
||||||
|
|
||||||
``` {.python}
|
``` {.python}
|
||||||
def load_model_specific(self, checkpoint):
|
def on_load_checkpoint(self, checkpoint):
|
||||||
# you defined 'state_dict' in get_save_dict()
|
# 99% of the time you don't need to implement this method
|
||||||
self.load_state_dict(checkpoint['state_dict'])
|
self.something_cool_i_want_to_save = checkpoint['something_cool_i_want_to_save']
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|||||||
Reference in New Issue
Block a user