| | |
| | | grad_clip: float |
| | | grad_clip_type: float |
| | | log_interval: Optional[int] |
| | | no_forward_run: bool |
| | | use_tensorboard: bool |
| | | use_wandb: bool |
| | | # no_forward_run: bool |
| | | # use_tensorboard: bool |
| | | # use_wandb: bool |
| | | output_dir: Union[Path, str] |
| | | max_epoch: int |
| | | max_update: int |
| | | seed: int |
| | | sharded_ddp: bool |
| | | # sharded_ddp: bool |
| | | patience: Optional[int] |
| | | keep_nbest_models: Union[int, List[int]] |
| | | nbest_averaging_interval: int |
| | |
| | | best_model_criterion: Sequence[Sequence[str]] |
| | | val_scheduler_criterion: Sequence[str] |
| | | unused_parameters: bool |
| | | wandb_model_log_interval: int |
| | | # wandb_model_log_interval: int |
| | | use_pai: bool |
| | | oss_bucket: Union[oss2.Bucket, None] |
| | | |
| | |
| | | schedulers: Sequence[Optional[AbsScheduler]], |
| | | train_dataloader: AbsIterFactory, |
| | | valid_dataloader: AbsIterFactory, |
| | | trainer_options, |
| | | distributed_option: DistributedOption): |
| | | self.trainer_options = self.build_options(args) |
| | | self.model = model |
| | |
| | | self.schedulers = schedulers |
| | | self.train_dataloader = train_dataloader |
| | | self.valid_dataloader = valid_dataloader |
| | | self.trainer_options = trainer_options |
| | | self.distributed_option = distributed_option |
| | | |
| | | def build_options(self, args: argparse.Namespace) -> TrainerOptions: |
| | |
| | | schedulers: Sequence[Optional[AbsScheduler]], |
| | | train_dataloader: AbsIterFactory, |
| | | valid_dataloader: AbsIterFactory, |
| | | trainer_options, |
| | | distributed_option: DistributedOption |
| | | ): |
| | | trainer = Trainer( |
| | |
| | | schedulers=schedulers, |
| | | train_dataloader=train_dataloader, |
| | | valid_dataloader=valid_dataloader, |
| | | trainer_options=trainer_options, |
| | | distributed_option=distributed_option |
| | | ) |
| | | return trainer |