class_docstr: Recurrent NStepLSTM language model.
  
  Generate captions given features extracted from images.
docstr: Batch of word tokens to word tokens and hidden LSTM states.
  
  Predict the next set of tokens given previous tokens.
docstr_tok: ["Batch","of","word","tokens","to","word","tokens","and","hidden","LSTM","states",".","Predict","the","next","set","of","tokens","given","previous","tokens","."]
code: def step(self, hx, cx, xs):
      """Batch of word tokens to word tokens and hidden LSTM states.
  
      Predict the next set of tokens given previous tokens.
      """
      # Concatenate all input captions and pass them through the model in a
      # single pass
      caption_lens = [len(x) for x in xs]
      caption_sections = np.cumsum(caption_lens[:-1])
      xs = F.concat(xs, axis=0)
  
      xs = self.embed_word(xs)
      xs = F.split_axis(xs, caption_sections, axis=0)
      hx, cx, ys = self.lstm(hx, cx, xs)
  
      ys = F.concat(ys, axis=0)
      ys = F.dropout(ys, self.dropout_ratio)
      ys = self.decode_caption(ys)
      return hx, cx, ys
  
imports: import numpy
  import chainer
  from chainer import functions
  from chainer import initializers
  from chainer import links
  from chainer import reporter
  from chainer import Variable
label_desc: Use image node_id 5 for calling the NStepLSTMLanguageModel obj's underlying member method code with example usage: obj.step(hx, cx, xs) and returns: hx,  cx,  ys