code: def _init_process(self):
      if self.source_length > self.tokenizer.model_max_length:
          warnings.warn(
              f"The max length of source text {self.source_length} exceeds the max length {self.tokenizer.model_max_length} of {self.config['model']} model, and will be set to {self.tokenizer.model_max_length}."
          )
          self.source_length = self.tokenizer.model_max_length
  
      if self.target_length > self.tokenizer.model_max_length:
          warnings.warn(
              f"The max length of target text {self.target_length} exceeds the max length {self.tokenizer.model_max_length} of {self.config['model']} model, and will be set to {self.tokenizer.model_max_length}."
          )
          self.target_length = self.tokenizer.model_max_length
      if self.config["model_name"] in ["unilm"] + CLM_MODELS:
          if (
              self.source_length + self.target_length
              > self.tokenizer.model_max_length
          ):
              tgt_len = math.floor(
                  self.target_length
                  / (self.source_length + self.target_length)
                  * self.tokenizer.model_max_length
              )
              src_len = self.tokenizer.model_max_length - tgt_len
              warnings.warn(
                  f"The max length of the sum of source text {self.source_length} and target text {self.target_length}"
                  f" exceeds the max length {self.tokenizer.model_max_length} of {self.config['model']} model, "
                  f"and will be set to {src_len} and {tgt_len}, respectively."
              )
              self.target_length = tgt_len
              self.source_length = src_len
  
      if (
          self.config["efficient_methods"]
          and "prompt-tuning" in self.config["efficient_methods"]
      ):
          prompt_length = self.config["efficient_kwargs"][
              "prompt_length"
          ]
          if self.config["model_name"] in CLM_MODELS:
              if (
                  self.source_length
                  + self.target_length
                  + prompt_length
                  > self.tokenizer.model_max_length
              ):
                  warnings.warn(
                      f"The length of source text {self.source_length}, target text {self.target_length} and prompt {prompt_length} exceeds the max length {self.tokenizer.model_max_length} of {self.config['model']} model, and the max length of source sentence will be set to {self.tokenizer.model_max_length - prompt_length - self.target_length}."
                  )
                  self.source_length = (
                      self.tokenizer.model_max_length
                      - prompt_length
                      - self.target_length
                  )
          elif (
              self.source_length + prompt_length
              > self.tokenizer.model_max_length
          ):
              warnings.warn(
                  f"The length of source text {self.source_length} and prompt {prompt_length} exceeds the max length {self.tokenizer.model_max_length} of {self.config['model']} model, and the max length of source sentence will be set to {self.tokenizer.model_max_length - prompt_length}."
              )
              self.source_length = (
                  self.tokenizer.model_max_length - prompt_length
              )
  
      self.config["src_len"] = self.source_length
      self.config["tgt_len"] = self.target_length
  
file_path: TextBox/textbox/data/abstract_dataset.py
imports: import os
  import torch, warnings
  import math
  from torch.utils.data import DataLoader, Dataset
  from textbox import CLM_MODELS
  from typing import List
  from torch.nn.utils.rnn import pad_sequence
  from textbox.data.misc import load_data, _pad_sequence
label_desc: Use image node_id 4 for calling the AbstractDataset obj's underlying member method code with example usage: obj._init_process() without return types