docstr: Return an initial state, either based on zeros or based on the initial embedding and LSTM
  
  Note that LSTM start operation is already batched, in a sense
  The subsequent batch built this way will be used for batch_size trees
  
  Returns a stack with None value, hx & cx either based on the
  start_embedding or zeros, and no parent.
code: def initial_state(self, initial_value=None):
      """
      Return an initial state, either based on zeros or based on the initial embedding and LSTM
  
      Note that LSTM start operation is already batched, in a sense
      The subsequent batch built this way will be used for batch_size trees
  
      Returns a stack with None value, hx & cx either based on the
      start_embedding or zeros, and no parent.
      """
      if self.uses_boundary_vector:
          start = self.start_embedding.unsqueeze(0).unsqueeze(0)
          output, (hx, cx) = self.lstm(start)
          start = output[0, 0, :]
      else:
          start = self.input_zeros
          hx = self.hidden_zeros
          cx = self.hidden_zeros
      return TreeStack(
          value=Node(initial_value, hx, cx), parent=None, length=1
      )
  
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 2 for calling the LSTMTreeStack obj's underlying member method code with example usage: obj.initial_state(initial_value) and returns: TreeStack