code: def training_step(self, batch, batch_idx):
      x, y, _ = batch
      y_hat = self.forward(x)
      loss = self.criterion(y_hat, y)
      self.log("train_loss_fc", loss)
      return loss
  
imports: import copy
  import pytorch_lightning
  import torch
  import torch.nn
  import torchvision
  from lightly.data import LightlyDataset
  from lightly.loss import NTXentLoss
  from lightly.models import ResNetGenerator
  from lightly.models.modules.heads import MoCoProjectionHead
  from lightly.models.utils import batch_shuffle, batch_unshuffle, deactivate_requires_grad, update_momentum
  from lightly.transforms import MoCoV2Transform, utils
label_desc: Use image node_id 3 for calling the Classifier obj's underlying member method code with example usage: obj.training_step(batch, batch_idx) and returns: loss