class_docstr: ---------------------------------------------------------------------------
  Testing ViT individual blocks
  ---------------------------------------------------------------------------
code: def _create_dino_pretraining_config(
      with_fsdp: bool,
      with_mixed_precision: bool = False,
      with_normalized_prototypes: bool = True,
  ):
      cfg = compose_hydra_configuration(
          [
              "config=test/integration_test/quick_dino",
              "config.SEED_VALUE=0",
          ]
      )
      args, config = convert_to_attrdict(cfg)
      config["MODEL"]["TRUNK"]["VISION_TRANSFORMERS"]["NUM_LAYERS"] = 1
      if with_fsdp:
          config["MODEL"]["TRUNK"]["NAME"] = "vision_transformer_fsdp"
          config["MODEL"]["HEAD"]["PARAMS"][0][0] = "dino_head_fsdp"
          config.TRAINER.TASK_NAME = "self_supervision_fsdp_task"
          config.MODEL.FSDP_CONFIG.mixed_precision = (
              with_mixed_precision
          )
          config.MODEL.FSDP_CONFIG.fp32_reduce_scatter = (
              with_mixed_precision
          )
          config.MODEL.FSDP_CONFIG.compute_dtype = torch.float32
      config.MODEL.HEAD.PARAMS[0][1][
          "normalize_last_layer"
      ] = with_normalized_prototypes
      return config
  
imports: import contextlib
  import pickle
  import unittest
  import torch
  import torch.multiprocessing
  import torch.nn
  import torch.optim
  from torch.nn.parallel import DistributedDataParallel
  from vissl.config import AttrDict
  from vissl.models import build_model
  from vissl.models.heads import DINOHead
  from vissl.models.heads.dino_head import DINOHeadFSDP
  from vissl.models.trunks.vision_transformer import Block, PatchEmbed
  from vissl.utils.fsdp_utils import fsdp_wrapper, is_valid_fsdp_model
  from vissl.utils.hydra_config import compose_hydra_configuration, convert_to_attrdict
  from vissl.utils.misc import torch_version
  from vissl.utils.test_utils import gpu_test, init_distributed_on_file, with_temp_files
label_desc: Use image node_id 7 for calling the TestVitFSDP obj's underlying member method code with example usage: obj._create_dino_pretraining_config(with_fsdp, with_mixed_precision, with_normalized_prototypes) and returns: config