class_docstr: A Highway LSTM Cell as proposed in Zhang et al. (2018) Highway Long Short-Term Memory RNNs for 
  Distant Speech Recognition.
class_docstr_tok: ["A","Highway","LSTM","Cell","as","proposed","in","Zhang","et","al",".","(","2018",")","Highway","Long","Short-Term","Memory","RNNs","for","Distant","Speech","Recognition","."]
code: def forward(self, input, c_l_minus_one=None, hx=None):
      self.check_forward_input(input)
      if hx is None:
          hx = input.new_zeros(
              input.size(0), self.hidden_size, requires_grad=False
          )
          hx = (hx, hx)
      if c_l_minus_one is None:
          c_l_minus_one = input.new_zeros(
              input.size(0), self.hidden_size, requires_grad=False
          )
  
      self.check_forward_hidden(input, hx[0], "[0]")
      self.check_forward_hidden(input, hx[1], "[1]")
      self.check_forward_hidden(input, c_l_minus_one, "c_l_minus_one")
  
      # vanilla LSTM computation
      rec_input = torch.cat([input, hx[0]], 1)
      i = F.sigmoid(self.Wi(rec_input))
      f = F.sigmoid(self.Wf(rec_input))
      o = F.sigmoid(self.Wo(rec_input))
      g = F.tanh(self.Wg(rec_input))
  
      # highway gates
      gate = F.sigmoid(
          self.gate(torch.cat([c_l_minus_one, hx[1], input], 1))
      )
  
      c = gate * c_l_minus_one + f * hx[1] + i * g
      h = o * F.tanh(c)
  
      return h, c
  
file_path: stanza/stanza/models/common/hlstm.py
imports: import torch
  import torch.nn
  import torch.nn.functional
  from torch.nn.utils.rnn import pad_packed_sequence, pack_padded_sequence, pack_sequence, PackedSequence
  from stanza.models.common.packed_lstm import PackedLSTM
label_desc: Use image node_id 2 for calling the HLSTMCell obj's underlying member method code with example usage: obj.forward(input, c_l_minus_one, hx) and returns: h,  c