training
allennlp.tango.training
AllenNLP Tango is an experimental API and parts of it might change or disappear every time we release a new version.
TrainingStep¶
@Step.register("training")
class TrainingStep(Step)
This step trains a model given the model, the dataset, and various hyperparameters.
DETERMINISTIC¶
class TrainingStep(Step):
| ...
| DETERMINISTIC = True
VERSION¶
class TrainingStep(Step):
| ...
| VERSION = "003"
FORMAT¶
class TrainingStep(Step):
| ...
| FORMAT: Format = TorchFormat()
run¶
class TrainingStep(Step):
| ...
| def run(
| self,
| model: Lazy[Model],
| dataset: DatasetDict,
| data_loader: Lazy[TangoDataLoader],
| optimizer: Lazy[Optimizer],
| validation_data_loader: Optional[Lazy[TangoDataLoader]] = None,
| training_split: str = "train",
| validation_split: Optional[str] = None,
| patience: Optional[int] = None,
| validation_metric: Union[str, List[str]] = "-loss",
| num_epochs: int = 20,
| checkpointer: Optional[Lazy[Checkpointer]] = None,
| grad_norm: Union[float, bool] = False,
| grad_clipping: Optional[float] = None,
| learning_rate_scheduler: Optional[Lazy[LearningRateScheduler]] = None,
| momentum_scheduler: Optional[Lazy[MomentumScheduler]] = None,
| moving_average: Optional[Lazy[MovingAverage]] = None,
| callbacks: List[Lazy[TrainerCallback]] = None,
| num_gradient_accumulation_steps: int = 1,
| use_amp: bool = False,
| enable_default_callbacks: bool = True,
| run_confidence_checks: bool = True,
| no_grad: Optional[List[str]] = None,
| limit_batches_per_epoch: Optional[int] = None
| ) -> Model