class_docstr: https://arxiv.org/abs/1707.05847
code: def __init__(self, in_channels: int, scale_factor: int = 2):
      super().__init__()
      self.n = 2**scale_factor
      self.in_channels = in_channels
      self.out_channels = in_channels // self.n
  
      if in_channels % self.n != 0:
          raise ValueError(
              f"Number of input channels ({in_channels}) must be divisable by n ({self.n})"
          )
  
      self.in_channels = in_channels
      self.upsample = nn.UpsamplingBilinear2d(scale_factor=scale_factor)
  
imports: from enum import Enum
  from math import hypot
  from typing import Optional, List, Tuple, Union, Type
  import torch
  from torch import nn, Tensor
label_desc: Use image node_id 1 to create a new BilinearAdditiveUpsample2d object from inherited base classes: AbstractResizeLayer with example: obj = BilinearAdditiveUpsample2d(in_channels, scale_factor)