code: def __init__(
      self,
      *,
      in_channels: int,
      hidden_size: int,
      upsample_factor: int,
      multiplier: float = 0.25,
  ) -> None:
      super().__init__()
      self.mask_head = nn.Sequential(
          Conv2dNormActivation(
              in_channels, hidden_size, norm_layer=None, kernel_size=3
          ),
          # https://arxiv.org/pdf/2003.12039.pdf (Annex section B) for the
          # following convolution output size
          nn.Conv2d(
              hidden_size, upsample_factor**2 * 9, 1, padding=0
          ),
      )
  
      self.multiplier = multiplier
  
imports: import math
  from functools import partial
  from typing import Callable, Dict, Iterable, List, Optional, Tuple
  import numpy
  import torch
  import torch.nn
  import torch.nn.functional
  import torchvision.models.optical_flow.raft
  from torch import Tensor
  from torchvision.models._api import register_model, Weights, WeightsEnum
  from torchvision.models._utils import handle_legacy_interface
  from torchvision.models.optical_flow._utils import grid_sample, make_coords_grid, upsample_flow
  from torchvision.ops import Conv2dNormActivation
  from torchvision.prototype.transforms._presets import StereoMatching
label_desc: Use image node_id 1 to create a new ConvexMaskPredictor object from inherited base classes: nn with example: obj = ConvexMaskPredictor()