class_docstr: Decoder of Monodepth2
  
  Parameters
  ----------
  num_ch_enc : list
      The channels number of encoder.
  scales: list
      The scales used in the loss. (Default: range(4))
  num_output_channels: int
      The number of output channels. (Default: 1)
  use_skips: bool
      This will use skip architecture in the network. (Default: True)
class_docstr_tok: ["Decoder","of","Monodepth2","Parameters","--","--","--","--","--","num_ch_enc",":","list","The","channels","number","of","encoder",".","scales",":","list","The","scales","used","in","the","loss",".","(","Default",":","range","(","4",")",")","num_output_channels",":","int","The","number","of","output","channels",".","(","Default",":","1",")","use_skips",":","bool","This","will","use","skip","architecture","in","the","network",".","(","Default",":","True",")"]
code: def hybrid_forward(self, F, input_features):
      # pylint: disable=unused-argument, missing-function-docstring
      self.outputs = []
  
      # decoder
      x = input_features[-1]
      for i in range(4, -1, -1):
          x = self.convs[("upconv", i, 0)](x)
          x = [F.UpSampling(x, scale=2, sample_type="nearest")]
          if self.use_skips and i > 0:
              x += [input_features[i - 1]]
          x = F.concat(*x, dim=1)
          x = self.convs[("upconv", i, 1)](x)
          if i in self.scales:
              self.outputs.append(
                  self.sigmoid(self.convs[("dispconv", i)](x))
              )
  
      return self.outputs
  
file_path: gluon-cv/gluoncv/model_zoo/monodepthv2/depth_decoder.py
imports: from __future__ import absolute_import, division, print_function
  from collections import OrderedDict
  import numpy
  import mxnet
  import mxnet.gluon.nn
  from .layers import ConvBlock, Conv3x3
label_desc: Use image node_id 2 for calling the DepthDecoder obj's underlying member method code with example usage: obj.hybrid_forward(F, input_features) and returns: self