class_docstr: Upsampling layer with pixel shuffle
      
class_docstr_tok: ["Upsampling","layer","with","pixel","shuffle"]
code: def __init__(self, planes, upscale_factor=2, **kwargs):
      super(DUC, self).__init__(**kwargs)
      self.conv = nn.Conv2D(
          planes, kernel_size=3, padding=1, use_bias=False
      )
      self.bn = BatchNormCudnnOff(
          gamma_initializer=initializer.One(),
          beta_initializer=initializer.Zero(),
      )
      self.relu = nn.Activation("relu")
      self.pixel_shuffle = contrib.nn.PixelShuffle2D(upscale_factor)
  
imports: from __future__ import absolute_import
  from mxnet import initializer
  from mxnet.gluon import nn, contrib
  from mxnet.gluon.nn import BatchNorm, HybridBlock
label_desc: Use image node_id 1 to create a new DUC object from inherited base classes: HybridBlock with example: obj = DUC(planes, upscale_factor)