code: def forward(self, is_train, req, in_data, out_data, aux):
          
          data = in_data[0]
          label = in_data[1]
          pred = mx.nd.SoftmaxOutput(data, label)
          self.assign(out_data[0], req[0], pred)
docs: Implements forward computation.
  
          is_train : bool, whether forwarding for training or testing.
          req : list of {'null', 'write', 'inplace', 'add'}, how to assign to out_data. 'null' means skip assignment, etc.
          in_data : list of NDArray, input data.
          out_data : list of NDArray, pre-allocated output buffers.
          aux : list of NDArray, mutable auxiliary states. Usually not used.