trainer¶
- trojanzoo.trainer.add_argument(parser, ClassType=Trainer)[source]¶
- Add trainer arguments to argument parser.For specific arguments implementation, see
Trainer.add_argument()
.- Parameters:
parser (argparse.ArgumentParser) – The parser to add arguments.
ClassType (type[Trainer]) – The trainer type. Defaults to
Trainer
.
- Returns:
argparse._ArgumentGroup – The argument group.
- trojanzoo.trainer.create(dataset_name=None, dataset=None, model=None, model_ema=False, pre_conditioner=None, tensorboard=None, ClassType=Trainer, config=config, **kwargs)[source]¶
- Create a trainer instance.For arguments not included in
kwargs
, use the default values inconfig
.For trainer implementation, seeTrainer
.- Parameters:
dataset_name (str) – The dataset name.
dataset (str | trojanzoo.datasets.Dataset) – Dataset instance (required for
model_ema
) or dataset name (as the alias of dataset_name).model (trojanzoo.models.Model) – Model instance.
model_ema (bool) – Whether to use
ExponentialMovingAverage
. Defaults toFalse
.pre_conditioner (str) –
Choose from
Defaults to
None
.tensorboard (bool) – Whether to use
torch.utils.tensorboard.writer.SummaryWriter
. Defaults toFalse
.ClassType (type[Trainer]) – The trainer class type. Defaults to
Trainer
.config (Config) – The default parameter config.
**kwargs – The keyword arguments in keys of
['optim_args', 'train_args', 'writer_args']
.
- Returns:
Trainer – The trainer instance.
- class trojanzoo.trainer.Trainer(optim_args={}, train_args={}, writer_args={}, optimizer=None, lr_scheduler=None, model_ema=None, pre_conditioner=None, writer=None, **kwargs)[source]¶
A dict-like class to contain training arguments which supports attribute-like view as well.
It inherits
trojanzoo.utils.module.BasicObject
.Note
The most common usage is
train(**trainer)
. Seekeys()
for details.- Variables:
writer_args (dict[str, Any]) –
torch.utils.tensorboard.writer.SummaryWriter
arguments.optimizer (torch.optim.Optimizer) – Optimizer instance.
lr_scheduler (
torch.optim.lr_scheduler._LRScheduler
| None) – LR_Scheduler instance.model_ema (ExponentialMovingAverage | None) – Exponential Moving Average instance.
pre_conditioner (KFAC | EKFAC | None) – Pre-conditioner instance.
writer (SummaryWriter | None) – Tensorboard summary writer instance.
- classmethod add_argument(group)[source]¶
Add trainer arguments to argument parser group. View source to see specific arguments.
Note
This is the implementation of adding arguments. For users, please use
add_argument()
instead, which is more user-friendly.