class_docstr: ---------------------------------------------------------------------------
  Testing ViT individual blocks
  ---------------------------------------------------------------------------
code: def _run_dino_head_loop(
      cls, with_fsdp: bool, with_amp: bool, output_file_name: str
  ):
      with with_temp_files(count=1) as sync_file:
          mp.spawn(
              cls._dino_head_worker,
              (with_fsdp, with_amp, sync_file, output_file_name),
              nprocs=2,
          )
  
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 5 for calling the TestVitFSDP obj's underlying member method code with example usage: obj._run_dino_head_loop(cls, with_fsdp, with_amp, output_file_name) without return types