Train the model. The Composer :class:`.Trainer` supports multiple calls to :meth:`.fit`. Any arguments specified during the call to :meth:`.fit` will override the values specified when constructing the :class:`.Trainer`. All arguments are optional, with the following excepti
(
self,
*,
# Train Dataloader
train_dataloader: Optional[Union[Iterable, DataSpec, dict[str, Any]]] = None,
train_dataloader_label: str = 'train',
train_subset_num_batches: Optional[int] = None,
spin_dataloaders: Optional[bool] = None,
# Timing
duration: Optional[Union[int, str, Time[int]]] = None,
reset_time: bool = False,
# Schedulers
schedulers: Optional[Union[
ComposerScheduler,
LRScheduler,
Sequence[Union[ComposerScheduler, LRScheduler]],
]] = None,
scale_schedule_ratio: float = 1.0,
step_schedulers_every_batch: Optional[bool] = None,
# Evaluation
eval_dataloader: Optional[Union[Iterable, DataSpec, Evaluator, Sequence[Evaluator]]] = None,
eval_subset_num_batches: int = -1,
eval_interval: Union[int, str, Time, Callable[[State, Event], bool]] = 1,
# Numerics
device_train_microbatch_size: Optional[Union[int, float, str]] = None,
precision: Optional[Union[str, Precision]] = None,
)
| 1931 | return latest_checkpoint_path |
| 1932 | |
| 1933 | def fit( |
| 1934 | self, |
| 1935 | *, |
| 1936 | # Train Dataloader |
| 1937 | train_dataloader: Optional[Union[Iterable, DataSpec, dict[str, Any]]] = None, |
| 1938 | train_dataloader_label: str = 'train', |
| 1939 | train_subset_num_batches: Optional[int] = None, |
| 1940 | spin_dataloaders: Optional[bool] = None, |
| 1941 | |
| 1942 | # Timing |
| 1943 | duration: Optional[Union[int, str, Time[int]]] = None, |
| 1944 | reset_time: bool = False, |
| 1945 | |
| 1946 | # Schedulers |
| 1947 | schedulers: Optional[Union[ |
| 1948 | ComposerScheduler, |
| 1949 | LRScheduler, |
| 1950 | Sequence[Union[ComposerScheduler, LRScheduler]], |
| 1951 | ]] = None, |
| 1952 | scale_schedule_ratio: float = 1.0, |
| 1953 | step_schedulers_every_batch: Optional[bool] = None, |
| 1954 | |
| 1955 | # Evaluation |
| 1956 | eval_dataloader: Optional[Union[Iterable, DataSpec, Evaluator, Sequence[Evaluator]]] = None, |
| 1957 | eval_subset_num_batches: int = -1, |
| 1958 | eval_interval: Union[int, str, Time, Callable[[State, Event], bool]] = 1, |
| 1959 | |
| 1960 | # Numerics |
| 1961 | device_train_microbatch_size: Optional[Union[int, float, str]] = None, |
| 1962 | precision: Optional[Union[str, Precision]] = None, |
| 1963 | ): |
| 1964 | """Train the model. |
| 1965 | |
| 1966 | The Composer :class:`.Trainer` supports multiple calls to :meth:`.fit`. Any arguments specified during |
| 1967 | the call to :meth:`.fit` will override the values specified when constructing the :class:`.Trainer`. |
| 1968 | All arguments are optional, with the following exceptions: |
| 1969 | |
| 1970 | * The ``train_dataloader`` must be specified here if not provided when constructing the :class:`.Trainer`. |
| 1971 | * The ``duration`` must be specified here if not provided when constructing the :class:`.Trainer`, |
| 1972 | or if this is a subsequent call to :meth:`.fit`. |
| 1973 | |
| 1974 | For example, the following are equivalent: |
| 1975 | |
| 1976 | .. testcode:: |
| 1977 | |
| 1978 | # The `train_dataloader` and `duration` can be specified |
| 1979 | # when constructing the Trainer |
| 1980 | trainer_1 = Trainer( |
| 1981 | model=model, |
| 1982 | train_dataloader=train_dataloader, |
| 1983 | max_duration="1ep", |
| 1984 | ) |
| 1985 | trainer_1.fit() |
| 1986 | |
| 1987 | # Or, these arguments can be specified on `fit()` |
| 1988 | trainer_2 = Trainer(model) |
| 1989 | trainer_2.fit( |
| 1990 | train_dataloader=train_dataloader, |