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: Init module weights.
  
  We do nothing in this function because all modules we used
  (ConvModule, BasicBlock and etc.) have default initialization, and
  currently we don't provide pretrained model of HourglassNet.
  
  Detector's __init__() will call backbone's init_weights() with
  pretrained as input, so we keep this function.
docstr_tok: ["Init","module","weights",".","We","do","nothing","in","this","function","because","all","modules","we","used","(","ConvModule",",","BasicBlock","and","etc",".",")","have","default","initialization",",","and","currently","we","do","n't","provide","pretrained","model","of","HourglassNet",".","Detector","'s","__init__","(",")","will","call","backbone","'s","init_weights","(",")","with","pretrained","as","input",",","so","we","keep","this","function","."]
code: def init_weights(self, pretrained=None):
      """Init module weights.
  
      We do nothing in this function because all modules we used
      (ConvModule, BasicBlock and etc.) have default initialization, and
      currently we don't provide pretrained model of HourglassNet.
  
      Detector's __init__() will call backbone's init_weights() with
      pretrained as input, so we keep this function.
      """
      # Training Centripetal Model needs to reset parameters for Conv2d
      for m in self.modules():
          if isinstance(m, nn.Conv2d):
              m.reset_parameters()
  
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 2 for calling the HourglassNet obj's underlying member method code with example usage: obj.init_weights(pretrained) without return types