code: def __init__(
      self, in_feats: int, rnn_units: int, dropout_prob: float = 0.0
  ) -> None:
      super().__init__()
      self.rnn = nn.LSTM(
          in_feats, rnn_units, 2, batch_first=True, dropout=dropout_prob
      )
      self.linear = nn.Linear(rnn_units, rnn_units)
  
imports: from copy import deepcopy
  from typing import Any, Callable, Dict, List, Optional, Tuple
  import torch
  from torch import nn
  from torch.nn import functional
  from torchvision.models._utils import IntermediateLayerGetter
  from doctr.datasets import VOCABS
  from ...classification import resnet31
  from ...utils.pytorch import _bf16_to_float32, load_pretrained_params
  from ..core import RecognitionModel, RecognitionPostProcessor
label_desc: Use image node_id 1 to create a new SAREncoder object from inherited base classes: nn with example: obj = SAREncoder(in_feats, rnn_units, dropout_prob)