`lr_finder` fails when model defines some layers in `setup`.
🐛 Bug
In lr_find, trainer.save_checkpoint(...)  is called before trainer has a chance to call model.setup(stage='fit') and datamodule.setup(stage='fit').
Therefore, weight restoration will fail later if extra layers are defined in setup.
Please reproduce using the BoringModel and post here
https://colab.research.google.com/gist/hbredin/7a2defe2a2b8760fb903429113092951/the-boringmodel.ipynb
Expected behavior
Both model.setup(stage='fit') and datamodule.setup(stage='fit') should be called before saving checkpoint.
Environment
* CUDA:
	- GPU:
		- Tesla P100-PCIE-16GB
	- available:         True
	- version:           10.1
* Packages:
	- numpy:             1.18.5
	- pyTorch_debug:     True
	- pyTorch_version:   1.7.0+cu101
	- pytorch-lightning: 1.0.6
	- tqdm:              4.41.1
* System:
	- OS:                Linux
	- architecture:
		- 64bit
		- 
	- processor:         x86_64
	- python:            3.6.9
	- version:           #1 SMP Thu Jul 23 08:00:38 PDT 2020

Additional context
Link to discussion in Slack: https://pytorch-lightning.slack.com/archives/CQXV8BRH9/p1605557610495400