code: def __init__(
      self,
      hidden_size=768,
      num_hidden_layers=12,
      num_attention_heads=12,
      intermediate_size=3072,
      hidden_act="gelu",
      hidden_dropout_prob=0.0,
      attention_probs_dropout_prob=0.0,
      initializer_range=0.02,
      layer_norm_eps=1e-12,
      image_size=384,
      patch_size=16,
      num_channels=3,
      qkv_bias=True,
      backbone_out_indices=[2, 5, 8, 11],
      readout_type="project",
      reassemble_factors=[4, 2, 1, 0.5],
      neck_hidden_sizes=[96, 192, 384, 768],
      fusion_hidden_size=256,
      head_in_index=-1,
      use_batch_norm_in_fusion_residual=False,
      use_auxiliary_head=True,
      auxiliary_loss_weight=0.4,
      semantic_loss_ignore_index=255,
      semantic_classifier_dropout=0.1,
      **kwargs,
  ):
      super().__init__(**kwargs)
  
      self.hidden_size = hidden_size
      self.num_hidden_layers = num_hidden_layers
      self.num_attention_heads = num_attention_heads
      self.intermediate_size = intermediate_size
      self.hidden_act = hidden_act
      self.hidden_dropout_prob = hidden_dropout_prob
      self.attention_probs_dropout_prob = attention_probs_dropout_prob
      self.initializer_range = initializer_range
      self.layer_norm_eps = layer_norm_eps
      self.image_size = image_size
      self.patch_size = patch_size
      self.num_channels = num_channels
      self.qkv_bias = qkv_bias
      self.backbone_out_indices = backbone_out_indices
      if readout_type not in ["ignore", "add", "project"]:
          raise ValueError(
              "Readout_type must be one of ['ignore', 'add', 'project']"
          )
      self.readout_type = readout_type
      self.reassemble_factors = reassemble_factors
      self.neck_hidden_sizes = neck_hidden_sizes
      self.fusion_hidden_size = fusion_hidden_size
      self.head_in_index = head_in_index
      self.use_batch_norm_in_fusion_residual = (
          use_batch_norm_in_fusion_residual
      )
      # auxiliary head attributes (semantic segmentation)
      self.use_auxiliary_head = use_auxiliary_head
      self.auxiliary_loss_weight = auxiliary_loss_weight
      self.semantic_loss_ignore_index = semantic_loss_ignore_index
      self.semantic_classifier_dropout = semantic_classifier_dropout
  
imports: from ...configuration_utils import PretrainedConfig
  from ...utils import logging
label_desc: Use image node_id 1 to create a new DPTConfig object from inherited base classes: PretrainedConfig with example: obj = DPTConfig(hidden_size, num_hidden_layers, num_attention_heads, intermediate_size, hidden_act, hidden_dropout_prob, attention_probs_dropout_prob, initializer_range, layer_norm_eps, image_size, patch_size, num_channels, qkv_bias, backbone_out_indices, readout_type, reassemble_factors, neck_hidden_sizes, fusion_hidden_size, head_in_index, use_batch_norm_in_fusion_residual, use_auxiliary_head, auxiliary_loss_weight, semantic_loss_ignore_index, semantic_classifier_dropout)