class_docstr: PolyVit base model.
code: def __init__(
      self,
      config: Optional[ml_collections.ConfigDict],
      dataset_meta_data: Dict[str, Dict[str, Any]],
  ) -> None:
      if config is None:
          logging.warning(
              "You are creating the model with default config."
          )
          config = self.default_flax_model_config()
      self.config = config
      self.dataset_meta_data = dataset_meta_data
      self.flax_model = self.build_flax_model()
  
imports: import functools
  from typing import Any, Dict, Optional, Tuple, List
  from absl import logging
  from flax.training import common_utils
  from immutabledict import immutabledict
  import jax.numpy
  import ml_collections
  import numpy
  from scenic.model_lib.base_models import base_model
  from scenic.model_lib.base_models import model_utils
  from scenic.model_lib.base_models.classification_model import classification_metrics_function
  from scenic.model_lib.base_models.encoder_decoder_model import encoder_decoder_metrics_function
  from scenic.model_lib.base_models.multilabel_classification_model import multilabel_classification_metrics_function
  from scenic.projects.vivit import model_utils
label_desc: Use image node_id 1 to create a new PolyVitBaseModel object from inherited base classes: base_model with example: obj = PolyVitBaseModel(config, dataset_meta_data)