class_docstr: HourglassNet backbone.
  
  Stacked Hourglass Networks for Human Pose Estimation.
  More details can be found in the `paper
  <https://arxiv.org/abs/1603.06937>`_ .
  
  Args:
      downsample_times (int): Downsample times in a HourglassModule.
      num_stacks (int): Number of HourglassModule modules stacked,
          1 for Hourglass-52, 2 for Hourglass-104.
      stage_channels (list[int]): Feature channel of each sub-module in a
          HourglassModule.
      stage_blocks (list[int]): Number of sub-modules stacked in a
          HourglassModule.
      feat_channel (int): Feature channel of conv after a HourglassModule.
      norm_cfg (dict): Dictionary to construct and config norm layer.
  
  Example:
      >>> from mmdet.models import HourglassNet
      >>> import torch
      >>> self = HourglassNet()
      >>> self.eval()
      >>> inputs = torch.rand(1, 3, 511, 511)
      >>> level_outputs = self.forward(inputs)
      >>> for level_output in level_outputs:
      ...     print(tuple(level_output.shape))
      (1, 256, 128, 128)
      (1, 256, 128, 128)
docstr: Forward function.
docstr_tok: ["Forward","function","."]
code: def forward(self, x):
      """Forward function."""
      inter_feat = self.stem(x)
      out_feats = []
  
      for ind in range(self.num_stacks):
          single_hourglass = self.hourglass_modules[ind]
          out_conv = self.out_convs[ind]
  
          hourglass_feat = single_hourglass(inter_feat)
          out_feat = out_conv(hourglass_feat)
          out_feats.append(out_feat)
  
          if ind < self.num_stacks - 1:
              inter_feat = self.conv1x1s[ind](
                  inter_feat
              ) + self.remap_convs[ind](out_feat)
              inter_feat = self.inters[ind](self.relu(inter_feat))
  
      return out_feats
  
file_path: insightface/detection/scrfd/mmdet/models/backbones/hourglass.py
imports: import torch.nn
  from mmcv.cnn import ConvModule
  from ..builder import BACKBONES
  from ..utils import ResLayer
  from .resnet import BasicBlock
label_desc: Use image node_id 3 for calling the HourglassNet obj's underlying member method code with example usage: obj.forward(x) and returns: out_feats