code: def __init__(self):
      super().__init__()
      resnet = torchvision.models.resnet18()
      self.backbone = nn.Sequential(*list(resnet.children())[:-1])
      self.projection_head = TiCoProjectionHead(512, 1024, 256)
  
      self.backbone_momentum = copy.deepcopy(self.backbone)
      self.projection_head_momentum = copy.deepcopy(
          self.projection_head
      )
  
      deactivate_requires_grad(self.backbone_momentum)
      deactivate_requires_grad(self.projection_head_momentum)
  
      self.criterion = TiCoLoss()
  
file_path: lightly/examples/pytorch_lightning_distributed/tico.py
imports: import copy
  import pytorch_lightning
  import torch
  import torchvision
  from torch import nn
  from lightly.loss.tico_loss import TiCoLoss
  from lightly.models.modules.heads import TiCoProjectionHead
  from lightly.models.utils import deactivate_requires_grad, update_momentum
  from lightly.transforms.byol_transform import BYOLTransform, BYOLView1Transform, BYOLView2Transform
  from lightly.utils.scheduler import cosine_schedule
label_desc: Use image node_id 1 to create a new TiCo object from inherited base classes: pl with example: obj = TiCo()