docstr: Starting from a list of current stacks, put the inputs through the LSTM and build new stack nodes.
  
  B = stacks.len() = values.len()
  
  inputs must be of shape 1 x B x input_size
code: def push_states(self, stacks, values, inputs):
      """
      Starting from a list of current stacks, put the inputs through the LSTM and build new stack nodes.
  
      B = stacks.len() = values.len()
  
      inputs must be of shape 1 x B x input_size
      """
      inputs = self.input_dropout(inputs)
  
      hx = torch.cat([t.value.lstm_hx for t in stacks], axis=1)
      cx = torch.cat([t.value.lstm_cx for t in stacks], axis=1)
      output, (hx, cx) = self.lstm(inputs, (hx, cx))
      new_stacks = [
          stack.push(
              Node(transition, hx[:, i : i + 1, :], cx[:, i : i + 1, :])
          )
          for i, (stack, transition) in enumerate(zip(stacks, values))
      ]
      return new_stacks
  
file_path: stanza/stanza/models/constituency/lstm_tree_stack.py
imports: from collections import namedtuple
  import torch
  import torch.nn
  from stanza.models.constituency.tree_stack import TreeStack
label_desc: Use image node_id 3 for calling the LSTMTreeStack obj's underlying member method code with example usage: obj.push_states(stacks, values, inputs) and returns: new_stacks