def __init__(self,
                 width,
                 num_joints,
                 fc_channel=768,
                 backbone='HRNet',
                 loss='KeyPointRegressionMSELoss',
                 post_process=TinyPose3DPostProcess):
        """
        Args:
            backbone (nn.Layer): backbone instance
            post_process (object): post process instance
        """
        super(TinyPose3DHRNet, self).__init__()
        self.backbone = backbone
        self.post_process = TinyPose3DPostProcess()
        self.loss = loss
        self.deploy = False
        self.num_joints = num_joints

        self.final_conv = L.Conv2d(width, num_joints, 1, 1, 0, bias=True)

        self.flatten = paddle.nn.Flatten(start_axis=2, stop_axis=3)
        self.fc1 = paddle.nn.Linear(fc_channel, 256)
        self.act1 = paddle.nn.ReLU()
        self.fc2 = paddle.nn.Linear(256, 64)
        self.act2 = paddle.nn.ReLU()
        self.fc3 = paddle.nn.Linear(64, 3)

        Args:
            backbone (nn.Layer): backbone instance
            post_process (object): post process instance
        
ppdet/modeling/architectures/keypoint_hrnet.py