code: def __init__(self):
      super().__init__()
      resnet = torchvision.models.resnet18()
      self.backbone = nn.Sequential(*list(resnet.children())[:-1])
      self.projection_head = SimCLRProjectionHead(512, 2048, 2048)
  
      # enable gather_distributed to gather features from all gpus
      # before calculating the loss
      self.criterion = NTXentLoss(gather_distributed=True)
  
file_path: lightly/examples/pytorch_lightning_distributed/simclr.py
imports: import pytorch_lightning
  import torch
  import torchvision
  from torch import nn
  from lightly.loss import NTXentLoss
  from lightly.models.modules import SimCLRProjectionHead
  from lightly.transforms.simclr_transform import SimCLRTransform
label_desc: Use image node_id 1 to create a new SimCLR object from inherited base classes: pl with example: obj = SimCLR()