class_docstr: Hourglass network, taken from https://github.com/zhou13/lcnn.
  
  Args:
      input_channel: number of input channels.
      depth: number of residual blocks per hourglass module.
      num_stacks: number of hourglass modules stacked together.
      num_blocks: number of layers in each residual block.
      num_classes: number of heads for the output of a hourglass module.
class_docstr_tok: ["Hourglass","network",",","taken","from","https",":","\/\/github.com\/zhou13\/lcnn",".","Args",":","input_channel",":","number","of","input","channels",".","depth",":","number","of","residual","blocks","per","hourglass","module",".","num_stacks",":","number","of","hourglass","modules","stacked","together",".","num_blocks",":","number","of","layers","in","each","residual","block",".","num_classes",":","number","of","heads","for","the","output","of","a","hourglass","module","."]
code: def __init__(
      self,
      input_channel: int = 1,
      depth: int = 4,
      num_stacks: int = 2,
      num_blocks: int = 1,
      num_classes: int = 5,
  ) -> None:
      super().__init__()
      self.head = MultitaskHead
      self.net = hg(
          HourglassConfig(
              depth,
              num_stacks,
              num_blocks,
              num_classes,
              input_channel,
              head=self.head,
          )
      )
  
imports: from typing import Any, Dict, List, NamedTuple, Optional, Tuple, Type, Union
  import torch
  import torch.nn.functional
  from torch import nn
  from torch.nn.functional import pixel_shuffle, softmax
  from kornia.core import Module, Tensor
label_desc: Use image node_id 1 to create a new HourglassBackbone object from inherited base classes: Module with example: obj = HourglassBackbone(input_channel, depth, num_stacks, num_blocks, num_classes)