class_docstr: Wrapper around the loss of IBOT (https://arxiv.org/pdf/2111.07832.pdf)
  
  Allows to feed the correct configuration to IBOTCriterion class (below)
  which implement the IBOT loss entirely decoupled from VISSL
docstr: Check if class token predictions match across global views:
  - masked vs unmasked
  - crop 1 vs crop 2
  - student vs teacher
  
  Args:
      teacher_global_cls_out: (batch_size * num_global_crops, out_dim)
      student_global_cls_out: (batch_size * num_global_crops, out_dim)
docstr_tok: ["Check","if","class","token","predictions","match","across","global","views",":","-","masked","vs","unmasked","-","crop","1","vs","crop","2","-","student","vs","teacher","Args",":","teacher_global_cls_out",":","(","batch_size","*","num_global_crops",",","out_dim",")","student_global_cls_out",":","(","batch_size","*","num_global_crops",",","out_dim",")"]
code: def _extract_cls_token_accuracy(
      self,
      teacher_global_cls_out: torch.Tensor,
      student_global_cls_out: torch.Tensor,
  ):
      """
      Check if class token predictions match across global views:
      - masked vs unmasked
      - crop 1 vs crop 2
      - student vs teacher
  
      Args:
          teacher_global_cls_out: (batch_size * num_global_crops, out_dim)
          student_global_cls_out: (batch_size * num_global_crops, out_dim)
      """
      t_probs = teacher_global_cls_out.chunk(self.num_global_crops)
      s_probs = student_global_cls_out.chunk(self.num_global_crops)
      pred1 = concat_all_gather(t_probs[0].max(dim=1)[1])
      pred2 = concat_all_gather(s_probs[1].max(dim=1)[1])
      acc = (pred1 == pred2).sum() / pred1.size(0)
      return acc.item()
  
imports: import logging
  import pprint
  from typing import List
  import numpy
  import torch
  import torch.distributed
  import torch.nn
  import torch.nn.functional
  from classy_vision.losses import ClassyLoss, register_loss
  from fairscale.nn import FullyShardedDataParallel
  from vissl.config import AttrDict
  from vissl.models.model_helpers import get_no_ddp_model
  from vissl.utils.distributed_utils import concat_all_gather
label_desc: Use image node_id 7 for calling the IBOTLoss obj's underlying member method code with example usage: obj._extract_cls_token_accuracy(teacher_global_cls_out, student_global_cls_out) and returns: acc