class_docstr: ZoneOut Cell module.
  
  This is a module of zoneout described in
  `Zoneout: Regularizing RNNs by Randomly Preserving Hidden Activations`_.
  This code is modified from `eladhoffer/seq2seq.pytorch`_.
  
  Examples:
      >>> lstm = torch.nn.LSTMCell(16, 32)
      >>> lstm = ZoneOutCell(lstm, 0.5)
  
  .. _`Zoneout: Regularizing RNNs by Randomly Preserving Hidden Activations`:
      https://arxiv.org/abs/1606.01305
  
  .. _`eladhoffer/seq2seq.pytorch`:
      https://github.com/eladhoffer/seq2seq.pytorch
docstr: Initialize zone out cell module.
  
  Args:
      cell (torch.nn.Module): Pytorch recurrent cell module
          e.g. `torch.nn.Module.LSTMCell`.
      zoneout_rate (float, optional): Probability of zoneout from 0.0 to 1.0.
docstr_tok: ["Initialize","zone","out","cell","module",".","Args",":","cell","(","torch.nn.Module",")",":","Pytorch","recurrent","cell","module","e.g",".","`","torch.nn.Module.LSTMCell","`",".","zoneout_rate","(","float",",","optional",")",":","Probability","of","zoneout","from","0.0","to","1.0","."]
code: def __init__(self, cell, zoneout_rate=0.1):
      """Initialize zone out cell module.
  
      Args:
          cell (torch.nn.Module): Pytorch recurrent cell module
              e.g. `torch.nn.Module.LSTMCell`.
          zoneout_rate (float, optional): Probability of zoneout from 0.0 to 1.0.
  
      """
      super(ZoneOutCell, self).__init__()
      self.cell = cell
      self.hidden_size = cell.hidden_size
      self.zoneout_rate = zoneout_rate
      if zoneout_rate > 1.0 or zoneout_rate < 0.0:
          raise ValueError(
              "zoneout probability must be in the range from 0.0 to 1.0."
          )
  
imports: import torch
  import torch.nn.functional
  from espnet.nets.pytorch_backend.rnn.attentions import AttForwardTA
label_desc: Use image node_id 1 to create a new ZoneOutCell object from inherited base classes: torch.nn with example: obj = ZoneOutCell(cell, zoneout_rate)