class_docstr: Audio Visual Transformer model for multiple n-way classification.
class_docstr_tok: ["Audio","Visual","Transformer","model","for","multiple","n-way","classification","."]
code: def __init__(self, config, dataset_meta_data):
      super().__init__(config, dataset_meta_data)
  
      assert self.config.dataset_configs.get(
          "class_splits"
      ), "dataset_configs.class_splits must be specified"
      self.class_splits = np.cumsum(
          self.config.dataset_configs.class_splits
      )
      if self.config.dataset_configs.get("split_names"):
          self.split_names = self.config.dataset_configs.split_names
      else:
          self.split_names = [
              str(x + 1) for x in range(len(self.class_splits))
          ]
  
      assert not config.get("multicrop_softmax_logits", False), (
          "Returning softmaxed logits during multicrop evaluation is not "
          "supported for this model."
      )
  
imports: import functools
  import re
  from typing import Any, Callable, Dict, Optional, Sequence, Tuple
  from absl import logging
  import flax
  import flax.linen
  import jax
  import jax.numpy
  import ml_collections
  import numpy
  from scenic.common_lib import debug_utils
  from scenic.model_lib.base_models import base_model
  from scenic.model_lib.base_models import classification_model
  from scenic.model_lib.base_models import model_utils
  from scenic.model_lib.base_models.classification_model import ClassificationModel
  from scenic.model_lib.layers import nn_layers
  from scenic.projects.av_mae import model_utils
  from scenic.projects.baselines import vit
  from scenic.projects.mbt import model
  from scenic.projects.vivit import model_utils
  import scipy
label_desc: Use image node_id 1 to create a new MBTMultiHeadClassificationModel object from inherited base classes: MBTClassificationModel with example: obj = MBTMultiHeadClassificationModel(config, dataset_meta_data)