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 (Sequence[int]): Feature channel of each sub-module in a
          HourglassModule.
      stage_blocks (Sequence[int]): Number of sub-modules stacked in a
          HourglassModule.
      feat_channel (int): Feature channel of conv after a HourglassModule.
      norm_cfg (norm_cfg): Dictionary to construct and config norm layer.
     init_cfg (dict or ConfigDict, optional): the config to control the
         initialization.
  
  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)
class_docstr_tok: ["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","(","Sequence","[","int","]",")",":","Feature","channel","of","each","sub-module","in","a","HourglassModule",".","stage_blocks","(","Sequence","[","int","]",")",":","Number","of","sub-modules","stacked","in","a","HourglassModule",".","feat_channel","(","int",")",":","Feature","channel","of","conv","after","a","HourglassModule",".","norm_cfg","(","norm_cfg",")",":","Dictionary","to","construct","and","config","norm","layer",".","init_cfg","(","dict","or","ConfigDict",",","optional",")",":","the","config","to","control","the","initialization",".","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.
docstr_tok: ["Init","module","weights","."]
code: def init_weights(self) -> None:
      """Init module weights."""
      # Training Centripetal Model needs to reset parameters for Conv2d
      super().init_weights()
      for m in self.modules():
          if isinstance(m, nn.Conv2d):
              m.reset_parameters()
  
file_path: mmdetection/mmdet/models/backbones/hourglass.py
imports: from typing import List, Sequence
  import torch
  import torch.nn
  import torch.nn.functional
  from mmcv.cnn import ConvModule
  from mmengine.model import BaseModule
  from mmdet.registry import MODELS
  from mmdet.utils import ConfigType, OptMultiConfig
  from ..layers 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() without return types