trainerERA5_multistep_v1
========================

.. py:module:: trainerERA5_multistep_v1


Classes
-------

.. autoapisummary::

   trainerERA5_multistep_v1.Trainer


Module Contents
---------------

.. py:class:: Trainer(model: torch.nn.Module, rank: int)

   Bases: :py:obj:`credit.trainers.base_trainer.BaseTrainer`


   Helper class that provides a standard way to create an ABC using
   inheritance.


   .. py:method:: train_one_epoch(epoch, conf, trainloader, optimizer, criterion, scaler, scheduler, metrics, forecast_length=0)


   .. py:method:: validate(epoch, conf, valid_loader, criterion, metrics)


   .. py:method:: fit(conf, train_loader, valid_loader, optimizer, train_criterion, valid_criterion, scaler, scheduler, metrics, rollout_scheduler=None, trial=False)

      Run the full training loop.

      :param conf: Full configuration dict (passed through to train_one_epoch/validate
                   for data-related settings; trainer settings are accessed via self).
      :param train_loader: DataLoaders.
      :param valid_loader: DataLoaders.
      :param optimizer: Training objects.
      :param train_criterion: Training objects.
      :param valid_criterion: Training objects.
      :param scaler: Training objects.
      :param scheduler: Training objects.
      :param metrics: Training objects.
      :param rollout_scheduler: Optional callable to schedule rollout probability.
      :param trial: Optuna trial object, or False.

      :returns: Dict with the best epoch's results.



