code: def tune_batch_size(
      self,
      config: ModelConfigDict,
      training_set: Dataset,
      random_seed: int = default_random_seed,
      max_trials: int = 10,
      halving_limit: int = 3,
      tune_for_training: bool = True,
  ) -> int:
      raise NotImplementedError()
  
file_path: ludwig/ludwig/trainers/base.py
imports: from abc import ABC, abstractmethod
  from ludwig.data.dataset.base import Dataset
  from ludwig.schema.trainer import BaseTrainerConfig
  from ludwig.types import ModelConfigDict
  from ludwig.utils.defaults import default_random_seed
label_desc: Use image node_id 3 for calling the BaseTrainer obj's underlying member method code with example usage: obj.tune_batch_size(config, training_set, random_seed, max_trials, halving_limit, tune_for_training) without return types