code: def hybrid_forward(self, F, scores, offset):
          
          best_word_indices = F.cast(F.argmin(scores, axis=1), dtype='int32')
          values = F.pick(scores, best_word_indices, axis=1)
          values = F.reshape(values, shape=(-1, 1))
  
          # for top1, the best hyp indices are equal to the plain offset
          best_hyp_indices = offset
  
          return best_hyp_indices, best_word_indices, values
docs: Get the single lowest element per sentence from a `scores` matrix. Expects that
          beam size is 1, for greedy decoding.
  
          :param scores: Vocabulary scores for the next beam step. (batch_size * beam_size, target_vocabulary_size)
          :param offset: Array to add to the hypothesis indices for offsetting in batch decoding.
          :return: The row indices, column indices and values of the smallest items in matrix.