docstr: Parameters
  ----------
  beam_size : int
  vocab_size : int
  eos_id : int
  scorer : BeamSearchScorer
  state_batch_axis :
  stochastic: bool
  prefix : None
  params : None
docstr_tok: ["Parameters","--","--","--","--","--","beam_size",":","int","vocab_size",":","int","eos_id",":","int","scorer",":","BeamSearchScorer","state_batch_axis",":","stochastic",":","bool","prefix",":","None","params",":","None"]
code: def __init__(
      self,
      beam_size,
      vocab_size,
      eos_id,
      scorer,
      state_batch_axis,
      stochastic=False,
  ):
      """
  
      Parameters
      ----------
      beam_size : int
      vocab_size : int
      eos_id : int
      scorer : BeamSearchScorer
      state_batch_axis :
      stochastic: bool
      prefix : None
      params : None
      """
      super().__init__()
      self._beam_size = beam_size
      self._vocab_size = vocab_size
      self._eos_id = eos_id
      self._scorer = scorer
      self._state_batch_axis = state_batch_axis
      self.stochastic = stochastic
      assert (
          eos_id is None or eos_id >= 0
      ), "eos_id cannot be negative! Received eos_id={}".format(eos_id)
  
imports: import warnings
  import mxnet
  import abc
  from mxnet.gluon import HybridBlock
  from typing import Callable, Optional
  from .layers import get_activation
label_desc: Use image node_id 1 to create a new _BeamSearchStepUpdate object from inherited base classes: HybridBlock with example: obj = _BeamSearchStepUpdate(beam_size, vocab_size, eos_id, scorer, state_batch_axis, stochastic)