code: def GRUCell(input, hidden, w_ih, w_hh, b_ih=None, b_hh=None):
      gi = F.linear(input, w_ih, b_ih)
      gh = F.linear(hidden, w_hh, b_hh)
      i_r, i_i, i_n = gi.chunk(3, 1)
      h_r, h_i, h_n = gh.chunk(3, 1)
  
      resetgate = torch.sigmoid(i_r + h_r)
      inputgate = torch.sigmoid(i_i + h_i)
      newgate = torch.tanh(i_n + resetgate * h_n)
      hy = newgate + inputgate * (hidden - newgate)
  
      return hy
  
file_path: lightseq/lightseq/training/pytorch_quantization/nn/_functions/quant_rnn.py
imports: import warnings
  from torch.autograd import NestedIOFunction
  from torch.nn import functional
  import torch
  import itertools
  from functools import partial
label_desc: Use image node_id 4 for calling a global function with example usage: GRUCell(input, hidden, w_ih, w_hh, b_ih, b_hh) and returns: hy