code: def get_datasets(initial_pool, path):
      IM_SIZE = 224
      # TODO add better data augmentation scheme.
      transform = transforms.Compose(
          [
              transforms.Resize(512),
              transforms.CenterCrop(IM_SIZE),
              transforms.ToTensor(),
              transforms.Normalize(
                  [0.485, 0.456, 0.406], [0.229, 0.224, 0.225]
              ),
          ]
      )
      test_transform = transforms.Compose(
          [
              transforms.Resize(512),
              transforms.CenterCrop(IM_SIZE),
              transforms.ToTensor(),
              transforms.Normalize(
                  [0.485, 0.456, 0.406], [0.229, 0.224, 0.225]
              ),
          ]
      )
  
      target_transform = transforms.Compose(
          [
              transforms.Resize(512, interpolation=Image.NEAREST),
              transforms.CenterCrop(IM_SIZE),
              PILToLongTensor(pascal_voc_ids),
          ]
      )
      active_set, test_set = active_pascal(
          path=path,
          transform=transform,
          test_transform=test_transform,
          target_transform=target_transform,
      )
      active_set.label_randomly(initial_pool)
      return active_set, test_set
  
imports: import argparse
  from copy import deepcopy
  from pprint import pprint
  import torch.backends
  from PIL import Image
  from torch import optim
  from torchvision.transforms import transforms
  from tqdm import tqdm
  from baal import get_heuristic, ActiveLearningLoop
  from baal.bayesian.dropout import MCDropoutModule
  from baal import ModelWrapper
  from baal import ClassificationReport
  from baal import PILToLongTensor
  from utils import pascal_voc_ids, active_pascal, add_dropout, FocalLoss
  import torch
  import torch.nn.functional
  import numpy
label_desc: Use image node_id 3 for calling a global function with example usage: get_datasets(initial_pool, path) and returns: active_set,  test_set