class_docstr: A helper that feeds softmax probabilities over vocabulary
  to the next step.
  Uses the softmax probability vector to pass through word embeddings to
  get the next input (i.e., a mixed word embedding).
  
  A subclass of
  :tf_main:`Helper <contrib/seq2seq/Helper>`.
  Used as a helper to :class:`~texar.tf.modules.RNNDecoderBase` :meth:`_build`
  in inference mode.
  
  Args:
      embedding: A callable or the `params` argument for
          :tf_main:`tf.nn.embedding_lookup <nn/embedding_lookup>`.
          If a callable, it can take a float tensor named `soft_ids` which is
          a distribution over indexes. For example, the shape of the tensor
          is typically `[batch_size, vocab_size]`. The callable can also
          take two arguments (`soft_ids`, `times`), where `soft_ids` is
          as above, and `times` is an int vector tensor of current
          time steps (i.e., position ids). The latter case can be used
          when attr:`embedding` is a combination of word embedding and
          position embedding.
      start_tokens: An int tensor shaped `[batch_size]`. The
          start tokens.
      end_token: An int scalar tensor. The token that marks end of
          decoding.
      tau: A float scalar tensor, the softmax temperature.
      embedding_size (optional): An int scalar tensor, the number of
          embedding vectors. Usually it is the vocab size. Required if
          :attr:`embedding` is a callable.
      stop_gradient (bool): Whether to stop the gradient backpropagation
          when feeding softmax vector to the next step.
      use_finish (bool): Whether to stop decoding once `end_token` is
          generated. If `False`, decoding will continue until
          `max_decoding_length` of the decoder is reached.
class_docstr_tok: ["A","helper","that","feeds","softmax","probabilities","over","vocabulary","to","the","next","step",".","Uses","the","softmax","probability","vector","to","pass","through","word","embeddings","to","get","the","next","input","(","i.e.",",","a","mixed","word","embedding",")",".","A","subclass","of",":","tf_main",":","`","Helper","<","contrib\/seq2seq\/Helper",">","`",".","Used","as","a","helper","to",":","class",":","`","~texar.tf.modules.RNNDecoderBase","`",":","meth",":","`","_build","`","in","inference","mode",".","Args",":","embedding",":","A","callable","or","the","`","params","`","argument","for",":","tf_main",":","`","tf.nn.embedding_lookup","<","nn\/embedding_lookup",">","`",".","If","a","callable",",","it","can","take","a","float","tensor","named","`","soft_ids","`","which","is","a","distribution","over","indexes",".","For","example",",","the","shape","of","the","tensor","is","typically","`","[","batch_size",",","vocab_size","]","`",".","The","callable","can","also","take","two","arguments","(","`","soft_ids","`",",","`","times","`",")",",","where","`","soft_ids","`","is","as","above",",","and","`","times","`","is","an","int","vector","tensor","of","current","time","steps","(","i.e.",",","position","ids",")",".","The","latter","case","can","be","used","when","attr",":","`","embedding","`","is","a","combination","of","word","embedding","and","position","embedding",".","start_tokens",":","An","int","tensor","shaped","`","[","batch_size","]","`",".","The","start","tokens",".","end_token",":","An","int","scalar","tensor",".","The","token","that","marks","end","of","decoding",".","tau",":","A","float","scalar","tensor",",","the","softmax","temperature",".","embedding_size","(","optional",")",":","An","int","scalar","tensor",",","the","number","of","embedding","vectors",".","Usually","it","is","the","vocab","size",".","Required","if",":","attr",":","`","embedding","`","is","a","callable",".","stop_gradient","(","bool",")",":","Whether","to","stop","the","gradient","backpropagation","when","feeding","softmax","vector","to","the","next","step",".","use_finish","(","bool",")",":","Whether","to","stop","decoding","once","`","end_token","`","is","generated",".","If","`","False","`",",","decoding","will","continue","until","`","max_decoding_length","`","of","the","decoder","is","reached","."]
code: def batch_size(self):
      return self._batch_size
  
imports: import tensorflow
  from tensorflow.python.ops import array_ops
  from tensorflow_probability import distributions
  from texar.tf.modules.decoders.tf_helpers import Helper, TrainingHelper, GreedyEmbeddingHelper
  from texar.tf.modules.embedders.embedder_utils import soft_embedding_lookup
  from texar.tf.utils import utils
label_desc: Use image node_id 2 for calling the SoftmaxEmbeddingHelper obj's underlying member method code with example usage: obj.batch_size() and returns: self