@@ -17,8 +17,9 @@ transfer learning [#]_ [#]_ [#]_ .
17
17
:class: `~pytorch_lightning.callbacks.finetuning_scheduler.fts.FinetuningScheduler ` orchestrates the gradual unfreezing
18
18
of models via a finetuning schedule that is either implicitly generated (the default) or explicitly provided by the user
19
19
(more computationally efficient). Finetuning phase transitions are driven by
20
- :class: `~pytorch_lightning.callbacks.early_stopping.EarlyStopping ` criteria, user-specified epoch transitions or a
21
- composition of the two (the default mode). A
20
+ :class: `~pytorch_lightning.callbacks.finetuning_scheduler.fts_supporters.FTSEarlyStopping ` criteria (a multi-phase
21
+ extension of :class: `~pytorch_lightning.callbacks.early_stopping.EarlyStopping `), user-specified epoch transitions
22
+ or a composition of the two (the default mode). A
22
23
:class: `~pytorch_lightning.callbacks.finetuning_scheduler.fts.FinetuningScheduler ` training session completes when the
23
24
final phase of the schedule has its stopping criteria met. See
24
25
:ref: `Early Stopping<common/early_stopping:Early stopping> ` for more details on that callback's configuration.
@@ -31,14 +32,15 @@ Basic Example
31
32
If no finetuning schedule is user-provided,
32
33
:class: `~pytorch_lightning.callbacks.finetuning_scheduler.fts.FinetuningScheduler ` will generate a
33
34
:ref: `default schedule<advanced/finetuning_scheduler:The Default Finetuning Schedule> ` and proceed to finetune
34
- according to the generated schedule, using default :class: `~pytorch_lightning.callbacks.early_stopping.EarlyStopping `
35
+ according to the generated schedule, using default
36
+ :class: `~pytorch_lightning.callbacks.finetuning_scheduler.fts_supporters.FTSEarlyStopping `
35
37
and :class: `~pytorch_lightning.callbacks.finetuning_scheduler.fts_supporters.FTSCheckpoint ` callbacks with
36
38
``monitor=val_loss ``.
37
39
38
40
.. code-block :: python
39
41
40
42
from pytorch_lightning import Trainer
41
- from pytorch_lightning.callbacks import FinetuningScheduler
43
+ from pytorch_lightning.callbacks.finetuning_scheduler import FinetuningScheduler
42
44
43
45
trainer = Trainer(callbacks = [FinetuningScheduler()])
44
46
@@ -70,7 +72,7 @@ and executed in ascending order.
70
72
.. code-block :: python
71
73
72
74
from pytorch_lightning import Trainer
73
- from pytorch_lightning.callbacks import FinetuningScheduler
75
+ from pytorch_lightning.callbacks.finetuning_scheduler import FinetuningScheduler
74
76
75
77
trainer = Trainer(callbacks = [FinetuningScheduler(gen_ft_sched_only = True )])
76
78
@@ -133,19 +135,20 @@ and executed in ascending order.
133
135
.. code-block :: python
134
136
135
137
from pytorch_lightning import Trainer
136
- from pytorch_lightning.callbacks import FinetuningScheduler
138
+ from pytorch_lightning.callbacks.finetuning_scheduler import FinetuningScheduler
137
139
138
140
trainer = Trainer(callbacks = [FinetuningScheduler(ft_schedule = " /path/to/my/schedule/my_schedule.yaml" )])
139
141
140
142
EarlyStopping and Epoch-Driven Phase Transition Criteria
141
143
========================================================
142
144
143
- By default, :class: `~pytorch_lightning.callbacks.early_stopping.EarlyStopping ` and epoch-driven transition criteria are
144
- composed. If a ``max_transition_epoch `` is specified for a given phase, the next finetuning phase will begin at that
145
- epoch unless :class: `~pytorch_lightning.callbacks.early_stopping.EarlyStopping ` criteria are met first.
145
+ By default, :class: `~pytorch_lightning.callbacks.finetuning_scheduler.fts_supporters.FTSEarlyStopping ` and epoch-driven
146
+ transition criteria are composed. If a ``max_transition_epoch `` is specified for a given phase, the next finetuning
147
+ phase will begin at that epoch unless
148
+ :class: `~pytorch_lightning.callbacks.finetuning_scheduler.fts_supporters.FTSEarlyStopping ` criteria are met first.
146
149
If :paramref: `~pytorch_lightning.callbacks.finetuning_scheduler.fts.FinetuningScheduler.epoch_transitions_only ` is
147
- ``True ``, :class: `~pytorch_lightning.callbacks.early_stopping.EarlyStopping ` will not be used and transitions will be
148
- exclusively epoch-driven.
150
+ ``True ``, :class: `~pytorch_lightning.callbacks.finetuning_scheduler.fts_supporters.FTSEarlyStopping ` will not be used
151
+ and transitions will be exclusively epoch-driven.
149
152
150
153
.. tip ::
151
154
@@ -194,7 +197,7 @@ metadata.
194
197
.. code-block :: python
195
198
196
199
from pytorch_lightning import Trainer
197
- from pytorch_lightning.callbacks import FinetuningScheduler
200
+ from pytorch_lightning.callbacks.finetuning_scheduler import FinetuningScheduler
198
201
199
202
trainer = Trainer(callbacks = [FinetuningScheduler()], resume_from_checkpoint = " some/path/to/my_checkpoint.ckpt" )
200
203
0 commit comments