code: def __init__(
      self,
      data: BertAbsDataBunch,
      model: nn.Module,
      pretrained_model_path,
      device,
      logger,
      metrics=None,
      multi_gpu=True,
      is_fp16=True,
      loss_scale=0,
      warmup_steps=0,
      fp16_opt_level="O1",
      grad_accumulation_steps=1,
      max_grad_norm=1.0,
      adam_epsilon=1e-8,
      logging_steps=100,
      alpha=0.95,
      beam_size=5,
      min_length=50,
      max_length=200,
      block_trigram=True,
  ):
      super(BertAbsLearner, self).__init__(
          data,
          model,
          pretrained_model_path,
          None,
          device,
          logger,
          multi_gpu,
          is_fp16,
          warmup_steps,
          fp16_opt_level,
          grad_accumulation_steps,
          max_grad_norm,
          adam_epsilon,
          logging_steps,
      )
  
      # Classification specific attributes
      self.metrics = metrics
  
      # Summarisation specific features
      if type(self.data.tokenizer) == BertWordPieceTokenizer:
          symbols = {
              "BOS": self.data.tokenizer.token_to_id("[unused0]"),
              "EOS": self.data.tokenizer.token_to_id("[unused1]"),
              "PAD": self.data.tokenizer.token_to_id("[PAD]"),
          }
      else:
          symbols = {
              "BOS": self.data.tokenizer.vocab["[unused0]"],
              "EOS": self.data.tokenizer.vocab["[unused1]"],
              "PAD": self.data.tokenizer.vocab["[PAD]"],
          }
  
      self.predictor_args = Box(
          {
              "alpha": alpha,
              "beam_size": beam_size,
              "min_length": min_length,
              "max_length": max_length,
              "block_trigram": block_trigram,
          }
      )
  
      # predictor object
      self.predictor = build_predictor(
          self.predictor_args, self.data.tokenizer, symbols, self.model
      )
  
imports: import os
  from .data_abs import BertAbsDataBunch
  from .learner_util import Learner
  from torch import nn
  from typing import List
  import torch
  from box import Box
  from tokenizers import BertWordPieceTokenizer
  from .summarisation import BertAbs, build_predictor
  from .summarisation import BertAbsConfig
  from fastprogress.fastprogress import master_bar, progress_bar
  import numpy
  import pandas
  from pathlib import Path
label_desc: Use image node_id 2 to create a new BertAbsLearner object from inherited base classes: Learner with example: obj = BertAbsLearner(data, model, pretrained_model_path, device, logger, metrics, multi_gpu, is_fp16, loss_scale, warmup_steps, fp16_opt_level, grad_accumulation_steps, max_grad_norm, adam_epsilon, logging_steps, alpha, beam_size, min_length, max_length, block_trigram)