class_docstr: Decoder of Monodepth2 PoseNet
  
  Parameters
  ----------
  num_ch_enc : list
      The channels number of encoder.
  num_input_features: int
      The number of input sequences. 1 for depth encoder, larger than 1 for pose encoder.
      (Default: 2)
  num_frames_to_predict_for: int
      The number of output pose between frames; If None, it equals num_input_features - 1.
      (Default: 2)
  stride: int
      The stride number for Conv in pose decoder. (Default: 1)
code: def predict(self, input_features):
      # pylint: disable=unused-argument, missing-function-docstring
      last_features = [f[-1] for f in input_features]
  
      cat_features = [
          mx.nd.relu()(self.convs["squeeze"](f)) for f in last_features
      ]
      cat_features = mx.nd.concat(*cat_features, dim=1)
  
      out = cat_features
      for i in range(3):
          out = self.convs[("pose", i)](out)
          if i != 2:
              out = mx.nd.relu(out)
  
      out = out.mean(3).mean(2)
  
      out = 0.01 * out.reshape(-1, self.num_frames_to_predict_for, 1, 6)
  
      axisangle = out[..., :3]
      translation = out[..., 3:]
  
      return axisangle, translation
  
file_path: gluon-cv/gluoncv/model_zoo/monodepthv2/pose_decoder.py
imports: from __future__ import absolute_import, division, print_function
  from collections import OrderedDict
  import mxnet
  import mxnet.gluon.nn
label_desc: Use image node_id 3 for calling the PoseDecoder obj's underlying member method code with example usage: obj.predict(input_features) and returns: axisangle,  translation