class_docstr: Upsample block for DRRG and TextSnake.
  
  DRRG: `Deep Relational Reasoning Graph Network for Arbitrary Shape
  Text Detection <https://arxiv.org/abs/2003.07493>`_.
  
  TextSnake: `A Flexible Representation for Detecting Text of Arbitrary
  Shapes <https://arxiv.org/abs/1807.01544>`_.
  
  Args:
      in_channels (list[int]): Number of input channels at each scale. The
          length of the list should be 4.
      out_channels (int): The number of output channels.
      init_cfg (dict or list[dict], optional): Initialization configs.
          Defaults to None.
docstr: Forward propagation.
docstr_tok: ["Forward","propagation","."]
code: def forward(self, x: torch.Tensor) -> torch.Tensor:
      """Forward propagation."""
      x = F.relu(self.conv1x1(x))
      x = F.relu(self.conv3x3(x))
      x = self.deconv(x)
      return x
  
file_path: mmocr/mmocr/models/textdet/necks/fpn_unet.py
imports: from typing import Dict, List, Optional, Tuple, Union
  import torch
  import torch.nn.functional
  from mmengine.model import BaseModule
  from torch import nn
  from mmocr.registry import MODELS
label_desc: Use image node_id 2 for calling the UpBlock obj's underlying member method code with example usage: obj.forward(x) and returns: x