code: def simclr_loss(
      temperature: float = 0.1,
      embedding_dim: int = 128,
      effective_batch_size: int = 1,  # set by setup training hook
      world_size: int = 1,  # set by setup training hook
      **kwargs,
  ) -> ClassyLoss:
      loss_name = "simclr_info_nce_loss"
      cfg = AttrDict(
          {
              "temperature": temperature,
              "buffer_params": AttrDict(
                  {
                      "world_size": world_size,
                      "embedding_dim": embedding_dim,
                      "effective_batch_size": effective_batch_size,
                  }
              ),
          }
      )
  
      return get_loss_fn(loss_name, cfg)
  
file_path: lightning-flash/src/flash/image/embedding/losses/vissl_losses.py
imports: from typing import List, Union
  from torch import Tensor
  from flash.core.registry import FlashRegistry
  from flash.core.utilities.imports import _VISSL_AVAILABLE
label_desc: Use image node_id 5 for calling a global function with example usage: simclr_loss(temperature, embedding_dim, effective_batch_size, world_size) and returns: get_loss_fn