code: def __init__(
      self,
      val_targets,
      rec_prefix,
      summary_writer=None,
      image_size=(112, 112),
      wandb_logger=None,
  ):
      self.rank: int = distributed.get_rank()
      self.highest_acc: float = 0.0
      self.highest_acc_list: List[float] = [0.0] * len(val_targets)
      self.ver_list: List[object] = []
      self.ver_name_list: List[str] = []
      if self.rank is 0:
          self.init_dataset(
              val_targets=val_targets,
              data_dir=rec_prefix,
              image_size=image_size,
          )
  
      self.summary_writer = summary_writer
      self.wandb_logger = wandb_logger
  
file_path: insightface/recognition/arcface_torch/utils/utils_callbacks.py
imports: import logging
  import os
  import time
  from typing import List
  import torch
  from eval import verification
  from utils.utils_logging import AverageMeter
  from torch.utils.tensorboard import SummaryWriter
  from torch import distributed
label_desc: Use image node_id 1 to create a new CallBackVerification object from inherited base classes: object with example: obj = CallBackVerification(val_targets, rec_prefix, summary_writer, image_size, wandb_logger)