docstr: At the end of the optimizer step, apply noam annealing.
docstr_tok: ["At","the","end","of","the","optimizer","step",",","apply","noam","annealing","."]
code: def on_fit_batch_end(self, batch, outputs, loss, should_step):
      """At the end of the optimizer step, apply noam annealing."""
      if should_step:
          if isinstance(
              self.hparams.lr_annealing,
              sb.nnet.schedulers.NoamScheduler,
          ) or isinstance(
              self.hparams.lr_annealing,
              sb.nnet.schedulers.CyclicCosineScheduler,
          ):
              self.hparams.lr_annealing(self.optimizer)
  
file_path: speechbrain/recipes/LibriSpeech/LM/train.py
imports: import os
  import sys
  import logging
  import glob
  import torch
  from datasets import load_dataset
  from hyperpyyaml import load_hyperpyyaml
  import speechbrain
  from speechbrain.utils.distributed import run_on_main
label_desc: Use image node_id 3 for calling the LM obj's underlying member method code with example usage: obj.on_fit_batch_end(batch, outputs, loss, should_step) without return types