code: def __init__(
      self,
      config,
      visual_embedding_dim=512,
      embedding_strategy="plain",
      bypass_transformer=False,
      output_attentions=False,
      output_hidden_states=False,
  ):
      super().__init__(config)
      self.config = config
  
      config.visual_embedding_dim = visual_embedding_dim
      config.embedding_strategy = embedding_strategy
      config.bypass_transformer = bypass_transformer
      config.output_attentions = output_attentions
      config.output_hidden_states = output_hidden_states
  
      self.embeddings = BertVisioLinguisticEmbeddings(config)
      self.encoder = BertEncoderJit(config)
      self.pooler = BertPooler(config)
      self.bypass_transformer = config.bypass_transformer
  
      if self.bypass_transformer:
          self.additional_layer = BertLayerJit(config)
  
      self.output_attentions = self.config.output_attentions
      self.output_hidden_states = self.config.output_hidden_states
      self.init_weights()
  
imports: import os
  from copy import deepcopy
  from typing import Dict, List, Optional, Tuple
  import torch
  from mmf.common.registry import registry
  from mmf.models import BaseModel
  from mmf.modules.embeddings import BertVisioLinguisticEmbeddings
  from mmf.modules.hf_layers import BertEncoderJit, BertLayerJit
  from mmf.utils.configuration import get_mmf_cache_dir
  from mmf.utils.modeling import get_optimizer_parameters_for_bert
  from mmf.utils.torchscript import getattr_torchscriptable
  from mmf.utils.transform import transform_to_batch_sequence, transform_to_batch_sequence_dim
  from omegaconf import OmegaConf
  from torch import nn, Tensor
label_desc: Use image node_id 1 to create a new VisualBERTBase object from inherited base classes: BertPreTrainedModel with example: obj = VisualBERTBase(config, visual_embedding_dim, embedding_strategy, bypass_transformer, output_attentions, output_hidden_states)