code: def __init__(
      self,
      invariance_lambda=25,
      variance_mu=25,
      covariance_v=1,
      eps=1e-4,
      **kwargs,
  ):
      if "distance" in kwargs:
          raise ValueError("VICRegLoss cannot use a distance function")
      if "embedding_regularizer" in kwargs:
          raise ValueError("VICRegLoss cannot use a regularizer")
      super().__init__(**kwargs)
      """
          The overall loss function is a weighted average of the invariance, variance and covariance terms:
              L(Z, Z') = λs(Z, Z') + µ[v(Z) + v(Z')] + ν[c(Z) + c(Z')],
          where λ, µ and ν are hyper-parameters controlling the importance of each term in the loss.
          """
      self.invariance_lambda = invariance_lambda
      self.variance_mu = variance_mu
      self.covariance_v = covariance_v
      self.eps = eps
  
file_path: pytorch-metric-learning/src/pytorch_metric_learning/losses/vicreg_loss.py
imports: import torch
  import torch.nn.functional
  from ..utils import common_functions
  from .base_metric_loss_function import BaseMetricLossFunction
label_desc: Use image node_id 1 to create a new VICRegLoss object from inherited base classes: BaseMetricLossFunction with example: obj = VICRegLoss(invariance_lambda, variance_mu, covariance_v, eps)