class_docstr: Iterative deep aggregation layer.
  
  Parameters
  ----------
  out_channels : iterable of int
      Output channels for multiple layers.
  in_channels : iterable of int
      Input channels for multiple layers.
  up_f : iterable of float
      Upsampling ratios.
  use_dcnv2 : bool
      Whether use modulated deformable convolution(DCN version2).
  norm_layer : nn.HybridBlock, default is BatchNorm.
      The norm_layer instance.
  norm_kwargs : dict
      Extra arguments for norm layer.
class_docstr_tok: ["Iterative","deep","aggregation","layer",".","Parameters","--","--","--","--","--","out_channels",":","iterable","of","int","Output","channels","for","multiple","layers",".","in_channels",":","iterable","of","int","Input","channels","for","multiple","layers",".","up_f",":","iterable","of","float","Upsampling","ratios",".","use_dcnv2",":","bool","Whether","use","modulated","deformable","convolution","(","DCN","version2",")",".","norm_layer",":","nn.HybridBlock",",","default","is","BatchNorm",".","The","norm_layer","instance",".","norm_kwargs",":","dict","Extra","arguments","for","norm","layer","."]
code: def __init__(
      self,
      out_channels,
      in_channels,
      up_f,
      use_dcnv2=False,
      norm_layer=nn.BatchNorm,
      norm_kwargs=None,
      **kwargs,
  ):
      super(IDAUp, self).__init__(**kwargs)
      self.startp = 0
      self.endp = 1
      with self.name_scope():
          self.projs = nn.HybridSequential("ida_proj")
          self.ups = nn.HybridSequential("ida_ups")
          self.nodes = nn.HybridSequential("ida_nodes")
          for i in range(1, len(in_channels)):
              c = in_channels[i]
              f = int(up_f[i])
              proj = CustomConv(
                  c,
                  out_channels,
                  use_dcnv2=use_dcnv2,
                  norm_layer=norm_layer,
                  norm_kwargs=norm_kwargs,
              )
              node = CustomConv(
                  out_channels,
                  out_channels,
                  use_dcnv2=use_dcnv2,
                  norm_layer=norm_layer,
                  norm_kwargs=norm_kwargs,
              )
  
              up = nn.Conv2DTranspose(
                  in_channels=out_channels,
                  channels=out_channels,
                  kernel_size=f * 2,
                  strides=f,
                  padding=f // 2,
                  output_padding=0,
                  groups=out_channels,
                  use_bias=False,
                  weight_initializer=BilinearUpSample(),
              )
  
              self.projs.add(proj)
              self.ups.add(up)
              self.nodes.add(node)
  
imports: from __future__ import absolute_import
  import warnings
  import numpy
  from mxnet.context import cpu
  from mxnet.gluon import nn
  from mxnet.gluon import contrib
  from .deconv_resnet import BilinearUpSample
  from ..model_zoo import get_model
label_desc: Use image node_id 1 to create a new IDAUp object from inherited base classes: nn with example: obj = IDAUp(out_channels, in_channels, up_f, use_dcnv2, norm_layer, norm_kwargs)