code: def __init__(self, linear_size=1024, num_stage=4, p_dropout=0.5):
      super(LinearModelBefore, self).__init__()
  
      self.linear_size = linear_size
      self.p_dropout = p_dropout
      self.num_stage = num_stage
  
      # 2d joints
      self.input_size = 17 * 2
      # 3d joints
      self.output_size = 17 * 1
  
      # process input to linear size
      self.w1 = nn.Linear(self.input_size, self.linear_size)
      self.batch_norm1 = nn.BatchNorm1d(self.linear_size)
  
      self.linear_stages = []
      for l in range(num_stage):
          self.linear_stages.append(
              Linear(self.linear_size, self.p_dropout)
          )
      self.linear_stages = nn.ModuleList(self.linear_stages)
  
      # post processing
      # self.w2 = nn.Linear(self.linear_size, self.output_size)
  
      self.relu = nn.ReLU(inplace=True)
      self.dropout = nn.Dropout(self.p_dropout)
  
file_path: insightface/body/human_pose/ambiguity_aware/lib/models/simple_model.py
imports: from __future__ import absolute_import
  from __future__ import print_function
  import torch.nn
label_desc: Use image node_id 1 to create a new LinearModelBefore object from inherited base classes: nn with example: obj = LinearModelBefore(linear_size, num_stage, p_dropout)