code: def _handle_batch(self, batch):
      x, y = batch
      y_hat = self.model(x.view(x.size(0), -1))
  
      loss = F.cross_entropy(y_hat, y)
      accuracy01, accuracy03 = metrics.accuracy(y_hat, y, topk=(1, 3))
      self.batch_metrics.update(
          {
              "loss": loss,
              "accuracy01": accuracy01,
              "accuracy03": accuracy03,
          }
      )
  
      if self.is_train_loader:
          loss.backward()
          self.optimizer.step()
          self.optimizer.zero_grad()
  
file_path: fastai/nbs/examples/migrating_catalyst.py
imports: from fastai.data.load import DataLoader
  import os, torch
  from torch.nn import functional
  from catalyst import dl
  from catalyst.data.cv import ToTensor
  from catalyst.contrib.datasets import MNIST
  from catalyst.utils import metrics
label_desc: Use image node_id 2 for calling the CustomRunner obj's underlying member method code with example usage: obj._handle_batch(batch) without return types