code: def __init__(
      self, in_size, out_size, c_ratio=0.5, h_ratio=0.5, **kwargs
  ):
      if kwargs:
          argument.check_unexpected_kwargs(
              kwargs,
              train="train argument is not supported anymore. "
              "Use chainer.using_config",
          )
          argument.assert_kwargs_empty(kwargs)
  
      super(StatefulZoneoutLSTM, self).__init__()
      self.state_size = out_size
      self.c_ratio = c_ratio
      self.h_ratio = h_ratio
      self.reset_state()
  
      with self.init_scope():
          self.upward = linear.Linear(in_size, 4 * out_size)
          self.lateral = linear.Linear(
              out_size, 4 * out_size, nobias=True
          )
  
file_path: chainer/chainer/links/rnn/zoneoutlstm.py
imports: import chainer
  from chainer.functions.activation import sigmoid
  from chainer.functions.activation import tanh
  from chainer.functions.array import reshape
  from chainer.functions.array import split_axis
  from chainer.functions.noise import zoneout
  from chainer import link
  from chainer.links.connection import linear
  from chainer.utils import argument
  from chainer import variable
label_desc: Use image node_id 1 to create a new StatefulZoneoutLSTM object from inherited base classes: link with example: obj = StatefulZoneoutLSTM(in_size, out_size, c_ratio, h_ratio)