code: def __init__(
      self,
      in_channels,
      out_channels,
      kernel_size=3,
      activation=None,
      upsampling=1,
  ):
      dropout = nn.Dropout2d(0.5)
      conv2d = nn.Conv2d(
          in_channels,
          out_channels,
          kernel_size=kernel_size,
          padding=kernel_size // 2,
      )
      upsampling = (
          nn.UpsamplingBilinear2d(scale_factor=upsampling)
          if upsampling > 1
          else nn.Identity()
      )
      activation = Activation(activation)
      super().__init__(dropout, conv2d, upsampling, activation)
  
file_path: baal/experiments/segmentation/utils.py
imports: from typing import List
  import numpy
  import segmentation_models_pytorch
  from segmentation_models_pytorch.base.modules import Activation
  import torch
  from torch import nn
  from torch.nn import functional
  from torchvision import datasets
  from torchvision.transforms import transforms
  from baal import ActiveLearningDataset
label_desc: Use image node_id 1 to create a new SegmentationHead object from inherited base classes: nn with example: obj = SegmentationHead(in_channels, out_channels, kernel_size, activation, upsampling)