code: def _apply_cell(
      self,
      dilated_inputs,
      cell,
      batch_size,
      rate,
      hidden_size,
      hidden=None,
  ):
      if hidden is None:
          hidden = torch.zeros(
              batch_size * rate,
              hidden_size,
              dtype=dilated_inputs.dtype,
              device=dilated_inputs.device,
          )
          hidden = hidden.unsqueeze(0)
  
          if self.cell_type in ["LSTM", "ResLSTM", "AttentiveLSTM"]:
              hidden = (hidden, hidden)
  
      dilated_outputs, hidden = cell(
          dilated_inputs, hidden
      )  # compatibility hack
  
      return dilated_outputs, hidden
  
imports: from typing import List, Optional
  import torch
  import torch.nn
  from ..losses.pytorch import MAE
  from ..common._base_recurrent import BaseRecurrent
  from ..common._modules import MLP
label_desc: Use image node_id 4 for calling the DRNN obj's underlying member method code with example usage: obj._apply_cell(dilated_inputs, cell, batch_size, rate, hidden_size, hidden) and returns: dilated_outputs,  hidden