code: def __init__(
      self,
      in_channels,
      out_channels,
      norm_layer,
      activation,
      pool,
      padding,
  ):
      super(UNetDownBlock, self).__init__()
      self.convs = UNetDoubleConv(
          in_channels,
          out_channels,
          norm_layer=norm_layer,
          activation=activation,
          padding=padding,
      )
      self.pooling = nn.MaxPool2d(2, 2) if pool else nn.Identity()
  
imports: import torch
  from torch import nn
  from functools import partial
  from .basic_blocks import ConvBlock
  from ..ops import FeaturesConnector
label_desc: Use image node_id 1 to create a new UNetDownBlock object from inherited base classes: nn with example: obj = UNetDownBlock(in_channels, out_channels, norm_layer, activation, pool, padding)