code: def setup(self, stage=None):
      # Assign train/val datasets for use in dataloaders
      if stage == "fit" or stage is None:
          mnist_full = MNIST(
              str(lab.get_data_path()),
              train=True,
              transform=self.transform,
          )
          self.mnist_train, self.mnist_val = random_split(
              mnist_full, [55000, 5000]
          )
  
      # Assign test dataset for use in dataloader(s)
      if stage == "test" or stage is None:
          self.mnist_test = MNIST(
              str(lab.get_data_path()),
              train=False,
              transform=self.transform,
          )
  
imports: import pytorch_lightning
  import torch
  from pytorch_lightning.metrics.functional import accuracy
  from torch import nn
  from torch.nn import functional
  from torch.utils.data import DataLoader, random_split
  from torchvision import transforms
  from torchvision.datasets import MNIST
  from labml import lab, experiment
  from labml.utils.lightning import LabMLLightningLogger
label_desc: Use image node_id 8 for calling the LitMNIST obj's underlying member method code with example usage: obj.setup(stage) without return types