class_docstr: A helper for use during inference.
  
  Uses the argmax of the output (treated as logits) and passes the
  result through an embedding layer to get the next input.
class_docstr_tok: ["A","helper","for","use","during","inference",".","Uses","the","argmax","of","the","output","(","treated","as","logits",")","and","passes","the","result","through","an","embedding","layer","to","get","the","next","input","."]
docstr: sample for GreedyEmbeddingHelper.
docstr_tok: ["sample","for","GreedyEmbeddingHelper","."]
code: def sample(self, time, outputs, state, name=None):
      """sample for GreedyEmbeddingHelper."""
      del time, state  # unused by sample_fn
      # Outputs are logits, use argmax to get the most probable id
      if not isinstance(outputs, ops.Tensor):
          raise TypeError(
              "Expected outputs to be a single Tensor, got: %s"
              % type(outputs)
          )
      sample_ids = math_ops.cast(
          math_ops.argmax(outputs, axis=-1), dtypes.int32
      )
      return sample_ids
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import abc
  import six
  from tensorflow.contrib.distributions.python.ops import bernoulli
  from tensorflow.contrib.distributions.python.ops import categorical
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import ops
  from tensorflow.python.layers import base
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import control_flow_ops
  from tensorflow.python.ops import embedding_ops
  from tensorflow.python.ops import math_ops
  from tensorflow.python.ops import random_ops
  from tensorflow.python.ops import tensor_array_ops
  from tensorflow.python.util import nest
  from seq2seq.contrib.seq2seq import decoder
label_desc: Use image node_id 4 for calling the GreedyEmbeddingHelper obj's underlying member method code with example usage: obj.sample(time, outputs, state, name) and returns: sample_ids