class_docstr: E2E module.
  
  Args:
      idim (int): Input dimmensions.
      odim (int): Output dimmensions.
      args (Namespace): Training config.
      ignore_id (int, optional): Id for ignoring a character.
      flag_return (bool, optional): If true, return a list with (loss,
      loss_ctc, loss_att, acc) in forward. Otherwise, return loss.
class_docstr_tok: ["E2E","module",".","Args",":","idim","(","int",")",":","Input","dimmensions",".","odim","(","int",")",":","Output","dimmensions",".","args","(","Namespace",")",":","Training","config",".","ignore_id","(","int",",","optional",")",":","Id","for","ignoring","a","character",".","flag_return","(","bool",",","optional",")",":","If","true",",","return","a","list","with","(","loss",",","loss_ctc",",","loss_att",",","acc",")","in","forward",".","Otherwise",",","return","loss","."]
docstr: Get custom_updater of the model.
docstr_tok: ["Get","custom_updater","of","the","model","."]
code: def custom_updater(
      iters, optimizer, converter, device=-1, accum_grad=1
  ):
      """Get custom_updater of the model."""
      return CustomUpdater(
          iters,
          optimizer,
          converter=converter,
          device=device,
          accum_grad=accum_grad,
      )
  
imports: import logging
  import math
  from argparse import Namespace
  from distutils.util import strtobool
  import chainer
  import chainer.functions
  import numpy
  from chainer import reporter
  from espnet.nets.chainer_backend.asr_interface import ChainerASRInterface
  from espnet.nets.chainer_backend.transformer import ctc
  from espnet.nets.chainer_backend.transformer.attention import MultiHeadAttention
  from espnet.nets.chainer_backend.transformer.decoder import Decoder
  from espnet.nets.chainer_backend.transformer.encoder import Encoder
  from espnet.nets.chainer_backend.transformer.label_smoothing_loss import LabelSmoothingLoss
  from espnet.nets.chainer_backend.transformer.training import CustomConverter, CustomParallelUpdater, CustomUpdater
  from espnet.nets.ctc_prefix_score import CTCPrefixScore
  from espnet.nets.e2e_asr_common import ErrorCalculator, end_detect
  from espnet.nets.pytorch_backend.nets_utils import get_subsample
  from espnet.nets.pytorch_backend.transformer.plot import PlotAttentionReport
label_desc: Use image node_id 12 for calling the E2E obj's underlying member method code with example usage: obj.custom_updater(iters, optimizer, converter, device, accum_grad) and returns: CustomUpdater