code: def get(self, data):
      # data.shape[0]==per_batch_size
      b = self.per_batch_size // 2
      ux = mx.sym.slice_axis(data, axis=0, begin=0, end=b)
      dx = mx.sym.slice_axis(data, axis=0, begin=b, end=b * 2)
      ux = mx.sym.flip(ux, axis=3)
      # ux = mx.sym.take(ux, indices = self.flip_order, axis=0)
      ux_list = []
      for o in self.flip_order:
          _ux = mx.sym.slice_axis(ux, axis=1, begin=o, end=o + 1)
          ux_list.append(_ux)
      ux = mx.sym.concat(*ux_list, dim=1)
      return ux, dx
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import mxnet
  import numpy
  from config import config
label_desc: Use image node_id 2 for calling the SymCoherent obj's underlying member method code with example usage: obj.get(data) and returns: ux,  dx