vggparams = [
    'conv1_1_weight', 'conv1_1_bias', 'conv1_2_weight', 'conv1_2_bias',
    'conv2_1_weight', 'conv2_1_bias', 'conv2_2_weight', 'conv2_2_bias',
    'conv3_1_weight', 'conv3_1_bias', 'conv3_2_weight', 'conv3_2_bias',
    'conv3_3_weight', 'conv3_3_bias', 'conv3_4_weight', 'conv3_4_bias',
    'conv4_1_weight', 'conv4_1_bias', 'conv4_2_weight', 'conv4_2_bias'
]
params_realtimePose_layers = [
    'conv1_1',
    'conv1_2',
    'conv2_1',
    'conv2_2',
    'conv3_1',
    'conv3_2',
    'conv3_3',
    'conv3_4',
    'conv4_1',
    'conv4_2',
    'conv4_3_CPM',
    'conv4_4_CPM',
    'conv5_1_CPM_L1',
    'conv5_1_CPM_L2',
    'conv5_2_CPM_L1',
    'conv5_2_CPM_L2',
    'conv5_3_CPM_L1',
    'conv5_3_CPM_L2',
    'conv5_4_CPM_L1',
    'conv5_4_CPM_L2',
    #Todo,following may need to be deleted.
    'Mconv2_stage2_L1',
    'Mconv2_stage2_L2',
    'Mconv3_stage2_L1',
    'Mconv3_stage2_L2',
    'Mconv4_stage2_L1',
    'Mconv4_stage2_L2',
    'Mconv5_stage2_L1',
    'Mconv5_stage2_L2',
    'Mconv6_stage2_L1',
    'Mconv6_stage2_L2',
    'Mconv2_stage3_L1',
    'Mconv2_stage3_L2',
    'Mconv3_stage3_L1',
    'Mconv3_stage3_L2',
    'Mconv4_stage3_L1',
    'Mconv4_stage3_L2',
    'Mconv5_stage3_L1',
    'Mconv5_stage3_L2',
    'Mconv6_stage3_L1',
    'Mconv6_stage3_L2',
    #$ Test
    'Mconv2_stage4_L1',
    'Mconv2_stage4_L2',
    'Mconv3_stage4_L1',
    'Mconv3_stage4_L2',
    'Mconv4_stage4_L1',
    'Mconv4_stage4_L2',
    'Mconv5_stage4_L1',
    'Mconv5_stage4_L2',
    'Mconv6_stage4_L1',
    'Mconv6_stage4_L2',
    'Mconv2_stage5_L1',
    'Mconv2_stage5_L2',
    'Mconv3_stage5_L1',
    'Mconv3_stage5_L2',
    'Mconv4_stage5_L1',
    'Mconv4_stage5_L2',
    'Mconv5_stage5_L1',
    'Mconv5_stage5_L2',
    'Mconv6_stage5_L1',
    'Mconv6_stage5_L2',
    'Mconv2_stage6_L1',
    'Mconv2_stage6_L2',
    'Mconv3_stage6_L1',
    'Mconv3_stage6_L2',
    'Mconv4_stage6_L1',
    'Mconv4_stage6_L2',
    'Mconv5_stage6_L1',
    'Mconv5_stage6_L2',
    'Mconv6_stage6_L1',
    'Mconv6_stage6_L2',
]

resnet_keys = [
    'bn_data_gamma', 'bn_data_beta', 'conv0_weight', 'bn0_gamma',
    'bn0_beta', 
    'stage1_unit1_bn1_gamma', 'stage1_unit1_bn1_beta',
    'stage1_unit1_conv1_weight', 'stage1_unit1_bn2_gamma',
    'stage1_unit1_bn2_beta', 'stage1_unit1_conv2_weight',
    'stage1_unit1_bn3_gamma', 'stage1_unit1_bn3_beta',
    'stage1_unit1_conv3_weight', 'stage1_unit1_sc_weight',
    'stage1_unit2_bn1_gamma', 'stage1_unit2_bn1_beta',
    'stage1_unit2_conv1_weight', 'stage1_unit2_bn2_gamma',
    'stage1_unit2_bn2_beta', 'stage1_unit2_conv2_weight',
    'stage1_unit2_bn3_gamma', 'stage1_unit2_bn3_beta',
    'stage1_unit2_conv3_weight', 'stage1_unit3_bn1_gamma',
    'stage1_unit3_bn1_beta', 'stage1_unit3_conv1_weight',
    'stage1_unit3_bn2_gamma', 'stage1_unit3_bn2_beta',
    'stage1_unit3_conv2_weight', 'stage1_unit3_bn3_gamma',
    'stage1_unit3_bn3_beta', 'stage1_unit3_conv3_weight',
    'stage2_unit1_bn1_gamma', 'stage2_unit1_bn1_beta',
    'stage2_unit1_conv1_weight', 'stage2_unit1_bn2_gamma',
    'stage2_unit1_bn2_beta', 'stage2_unit1_conv2_weight',
    'stage2_unit1_bn3_gamma', 'stage2_unit1_bn3_beta',
    'stage2_unit1_conv3_weight', 'stage2_unit1_sc_weight',
    'stage2_unit2_bn1_gamma', 'stage2_unit2_bn1_beta',
    'stage2_unit2_conv1_weight', 'stage2_unit2_bn2_gamma',
    'stage2_unit2_bn2_beta', 'stage2_unit2_conv2_weight',
    'stage2_unit2_bn3_gamma', 'stage2_unit2_bn3_beta',
    'stage2_unit2_conv3_weight', 'stage2_unit3_bn1_gamma',
    'stage2_unit3_bn1_beta', 'stage2_unit3_conv1_weight',
    'stage2_unit3_bn2_gamma', 'stage2_unit3_bn2_beta',
    'stage2_unit3_conv2_weight', 'stage2_unit3_bn3_gamma',
    'stage2_unit3_bn3_beta', 'stage2_unit3_conv3_weight',
    'stage2_unit4_bn1_gamma', 'stage2_unit4_bn1_beta',
    'stage2_unit4_conv1_weight', 'stage2_unit4_bn2_gamma',
    'stage2_unit4_bn2_beta', 'stage2_unit4_conv2_weight',
    'stage2_unit4_bn3_gamma', 'stage2_unit4_bn3_beta',
    'stage2_unit4_conv3_weight', 'stage2_unit5_bn1_gamma',
    'stage2_unit5_bn1_beta', 'stage2_unit5_conv1_weight',
    'stage2_unit5_bn2_gamma', 'stage2_unit5_bn2_beta',
    'stage2_unit5_conv2_weight', 'stage2_unit5_bn3_gamma',
    'stage2_unit5_bn3_beta', 'stage2_unit5_conv3_weight',
    'stage2_unit6_bn1_gamma', 'stage2_unit6_bn1_beta',
    'stage2_unit6_conv1_weight', 'stage2_unit6_bn2_gamma',
    'stage2_unit6_bn2_beta', 'stage2_unit6_conv2_weight',
    'stage2_unit6_bn3_gamma', 'stage2_unit6_bn3_beta',
    'stage2_unit6_conv3_weight', 'stage2_unit7_bn1_gamma',
    'stage2_unit7_bn1_beta', 'stage2_unit7_conv1_weight',
    'stage2_unit7_bn2_gamma', 'stage2_unit7_bn2_beta',
    'stage2_unit7_conv2_weight', 'stage2_unit7_bn3_gamma',
    'stage2_unit7_bn3_beta', 'stage2_unit7_conv3_weight',
    'stage2_unit8_bn1_gamma', 'stage2_unit8_bn1_beta',
    'stage2_unit8_conv1_weight', 'stage2_unit8_bn2_gamma',
    'stage2_unit8_bn2_beta', 'stage2_unit8_conv2_weight',
    'stage2_unit8_bn3_gamma', 'stage2_unit8_bn3_beta',
    'stage2_unit8_conv3_weight', 
    'stage3_unit1_bn1_gamma',
    'stage3_unit1_bn1_beta', 'stage3_unit1_conv1_weight',
    'stage3_unit1_bn2_gamma', 'stage3_unit1_bn2_beta',
    'stage3_unit1_conv2_weight', 'stage3_unit1_bn3_gamma',
    'stage3_unit1_bn3_beta', 'stage3_unit1_conv3_weight',
    'stage3_unit1_sc_weight', 'stage3_unit2_bn1_gamma',
    'stage3_unit2_bn1_beta', 'stage3_unit2_conv1_weight',
    'stage3_unit2_bn2_gamma', 'stage3_unit2_bn2_beta',
    'stage3_unit2_conv2_weight', 'stage3_unit2_bn3_gamma',
    'stage3_unit2_bn3_beta', 'stage3_unit2_conv3_weight',
    'stage3_unit3_bn1_gamma', 'stage3_unit3_bn1_beta',
    'stage3_unit3_conv1_weight', 'stage3_unit3_bn2_gamma',
    'stage3_unit3_bn2_beta', 'stage3_unit3_conv2_weight',
    'stage3_unit3_bn3_gamma', 'stage3_unit3_bn3_beta',
    'stage3_unit3_conv3_weight', 'stage3_unit4_bn1_gamma',
    'stage3_unit4_bn1_beta', 'stage3_unit4_conv1_weight',
    'stage3_unit4_bn2_gamma', 'stage3_unit4_bn2_beta',
    'stage3_unit4_conv2_weight', 'stage3_unit4_bn3_gamma',
    'stage3_unit4_bn3_beta', 'stage3_unit4_conv3_weight',
    'stage3_unit5_bn1_gamma', 'stage3_unit5_bn1_beta',
    'stage3_unit5_conv1_weight', 'stage3_unit5_bn2_gamma',
    'stage3_unit5_bn2_beta', 'stage3_unit5_conv2_weight',
    'stage3_unit5_bn3_gamma', 'stage3_unit5_bn3_beta',
    'stage3_unit5_conv3_weight', 'stage3_unit6_bn1_gamma',
    'stage3_unit6_bn1_beta', 'stage3_unit6_conv1_weight',
    'stage3_unit6_bn2_gamma', 'stage3_unit6_bn2_beta',
    'stage3_unit6_conv2_weight', 'stage3_unit6_bn3_gamma',
    'stage3_unit6_bn3_beta', 'stage3_unit6_conv3_weight',
    'stage3_unit7_bn1_gamma', 'stage3_unit7_bn1_beta',
    'stage3_unit7_conv1_weight', 'stage3_unit7_bn2_gamma',
    'stage3_unit7_bn2_beta', 'stage3_unit7_conv2_weight',
    'stage3_unit7_bn3_gamma', 'stage3_unit7_bn3_beta',
    'stage3_unit7_conv3_weight', 'stage3_unit8_bn1_gamma',
    'stage3_unit8_bn1_beta', 'stage3_unit8_conv1_weight',
    'stage3_unit8_bn2_gamma', 'stage3_unit8_bn2_beta',
    'stage3_unit8_conv2_weight', 'stage3_unit8_bn3_gamma',
    'stage3_unit8_bn3_beta', 'stage3_unit8_conv3_weight',
    'stage3_unit9_bn1_gamma', 'stage3_unit9_bn1_beta',
    'stage3_unit9_conv1_weight', 'stage3_unit9_bn2_gamma',
    'stage3_unit9_bn2_beta', 'stage3_unit9_conv2_weight',
    'stage3_unit9_bn3_gamma', 'stage3_unit9_bn3_beta',
    'stage3_unit9_conv3_weight', 'stage3_unit10_bn1_gamma',
    'stage3_unit10_bn1_beta', 'stage3_unit10_conv1_weight',
    'stage3_unit10_bn2_gamma', 'stage3_unit10_bn2_beta',
    'stage3_unit10_conv2_weight', 'stage3_unit10_bn3_gamma',
    'stage3_unit10_bn3_beta', 'stage3_unit10_conv3_weight',
    'stage3_unit11_bn1_gamma', 'stage3_unit11_bn1_beta',
    'stage3_unit11_conv1_weight', 'stage3_unit11_bn2_gamma',
    'stage3_unit11_bn2_beta', 'stage3_unit11_conv2_weight',
    'stage3_unit11_bn3_gamma', 'stage3_unit11_bn3_beta',
    'stage3_unit11_conv3_weight', 'stage3_unit12_bn1_gamma',
    'stage3_unit12_bn1_beta', 'stage3_unit12_conv1_weight',
    'stage3_unit12_bn2_gamma', 'stage3_unit12_bn2_beta',
    'stage3_unit12_conv2_weight', 'stage3_unit12_bn3_gamma',
    'stage3_unit12_bn3_beta', 'stage3_unit12_conv3_weight',
    'stage3_unit13_bn1_gamma', 'stage3_unit13_bn1_beta',
    'stage3_unit13_conv1_weight', 'stage3_unit13_bn2_gamma',
    'stage3_unit13_bn2_beta', 'stage3_unit13_conv2_weight',
    'stage3_unit13_bn3_gamma', 'stage3_unit13_bn3_beta',
    'stage3_unit13_conv3_weight', 'stage3_unit14_bn1_gamma',
    'stage3_unit14_bn1_beta', 'stage3_unit14_conv1_weight',
    'stage3_unit14_bn2_gamma', 'stage3_unit14_bn2_beta',
    'stage3_unit14_conv2_weight', 'stage3_unit14_bn3_gamma',
    'stage3_unit14_bn3_beta', 'stage3_unit14_conv3_weight',
    'stage3_unit15_bn1_gamma', 'stage3_unit15_bn1_beta',
    'stage3_unit15_conv1_weight', 'stage3_unit15_bn2_gamma',
    'stage3_unit15_bn2_beta', 'stage3_unit15_conv2_weight',
    'stage3_unit15_bn3_gamma', 'stage3_unit15_bn3_beta',
    'stage3_unit15_conv3_weight', 'stage3_unit16_bn1_gamma',
    'stage3_unit16_bn1_beta', 'stage3_unit16_conv1_weight',
    'stage3_unit16_bn2_gamma', 'stage3_unit16_bn2_beta',
    'stage3_unit16_conv2_weight', 'stage3_unit16_bn3_gamma',
    'stage3_unit16_bn3_beta', 'stage3_unit16_conv3_weight',
    'stage3_unit17_bn1_gamma', 'stage3_unit17_bn1_beta',
    'stage3_unit17_conv1_weight', 'stage3_unit17_bn2_gamma',
    'stage3_unit17_bn2_beta', 'stage3_unit17_conv2_weight',
    'stage3_unit17_bn3_gamma', 'stage3_unit17_bn3_beta',
    'stage3_unit17_conv3_weight', 'stage3_unit18_bn1_gamma',
    'stage3_unit18_bn1_beta', 'stage3_unit18_conv1_weight',
    'stage3_unit18_bn2_gamma', 'stage3_unit18_bn2_beta',
    'stage3_unit18_conv2_weight', 'stage3_unit18_bn3_gamma',
    'stage3_unit18_bn3_beta', 'stage3_unit18_conv3_weight',
    'stage3_unit19_bn1_gamma', 'stage3_unit19_bn1_beta',
    'stage3_unit19_conv1_weight', 'stage3_unit19_bn2_gamma',
    'stage3_unit19_bn2_beta', 'stage3_unit19_conv2_weight',
    'stage3_unit19_bn3_gamma', 'stage3_unit19_bn3_beta',
    'stage3_unit19_conv3_weight', 'stage3_unit20_bn1_gamma',
    'stage3_unit20_bn1_beta', 'stage3_unit20_conv1_weight',
    'stage3_unit20_bn2_gamma', 'stage3_unit20_bn2_beta',
    'stage3_unit20_conv2_weight', 'stage3_unit20_bn3_gamma',
    'stage3_unit20_bn3_beta', 'stage3_unit20_conv3_weight',
    'stage3_unit21_bn1_gamma', 'stage3_unit21_bn1_beta',
    'stage3_unit21_conv1_weight', 'stage3_unit21_bn2_gamma',
    'stage3_unit21_bn2_beta', 'stage3_unit21_conv2_weight',
    'stage3_unit21_bn3_gamma', 'stage3_unit21_bn3_beta',
    'stage3_unit21_conv3_weight', 'stage3_unit22_bn1_gamma',
    'stage3_unit22_bn1_beta', 'stage3_unit22_conv1_weight',
    'stage3_unit22_bn2_gamma', 'stage3_unit22_bn2_beta',
    'stage3_unit22_conv2_weight', 'stage3_unit22_bn3_gamma',
    'stage3_unit22_bn3_beta', 'stage3_unit22_conv3_weight',
    'stage3_unit23_bn1_gamma', 'stage3_unit23_bn1_beta',
    'stage3_unit23_conv1_weight', 'stage3_unit23_bn2_gamma',
    'stage3_unit23_bn2_beta', 'stage3_unit23_conv2_weight',
    'stage3_unit23_bn3_gamma', 'stage3_unit23_bn3_beta',
    'stage3_unit23_conv3_weight', 'stage3_unit24_bn1_gamma',
    'stage3_unit24_bn1_beta', 'stage3_unit24_conv1_weight',
    'stage3_unit24_bn2_gamma', 'stage3_unit24_bn2_beta',
    'stage3_unit24_conv2_weight', 'stage3_unit24_bn3_gamma',
    'stage3_unit24_bn3_beta', 'stage3_unit24_conv3_weight',
    'stage3_unit25_bn1_gamma', 'stage3_unit25_bn1_beta',
    'stage3_unit25_conv1_weight', 'stage3_unit25_bn2_gamma',
    'stage3_unit25_bn2_beta', 'stage3_unit25_conv2_weight',
    'stage3_unit25_bn3_gamma', 'stage3_unit25_bn3_beta',
    'stage3_unit25_conv3_weight', 'stage3_unit26_bn1_gamma',
    'stage3_unit26_bn1_beta', 'stage3_unit26_conv1_weight',
    'stage3_unit26_bn2_gamma', 'stage3_unit26_bn2_beta',
    'stage3_unit26_conv2_weight', 'stage3_unit26_bn3_gamma',
    'stage3_unit26_bn3_beta', 'stage3_unit26_conv3_weight',
    'stage3_unit27_bn1_gamma', 'stage3_unit27_bn1_beta',
    'stage3_unit27_conv1_weight', 'stage3_unit27_bn2_gamma',
    'stage3_unit27_bn2_beta', 'stage3_unit27_conv2_weight',
    'stage3_unit27_bn3_gamma', 'stage3_unit27_bn3_beta',
    'stage3_unit27_conv3_weight', 'stage3_unit28_bn1_gamma',
    'stage3_unit28_bn1_beta', 'stage3_unit28_conv1_weight',
    'stage3_unit28_bn2_gamma', 'stage3_unit28_bn2_beta',
    'stage3_unit28_conv2_weight', 'stage3_unit28_bn3_gamma',
    'stage3_unit28_bn3_beta', 'stage3_unit28_conv3_weight',
    'stage3_unit29_bn1_gamma', 'stage3_unit29_bn1_beta',
    'stage3_unit29_conv1_weight', 'stage3_unit29_bn2_gamma',
    'stage3_unit29_bn2_beta', 'stage3_unit29_conv2_weight',
    'stage3_unit29_bn3_gamma', 'stage3_unit29_bn3_beta',
    'stage3_unit29_conv3_weight', 'stage3_unit30_bn1_gamma',
    'stage3_unit30_bn1_beta', 'stage3_unit30_conv1_weight',
    'stage3_unit30_bn2_gamma', 'stage3_unit30_bn2_beta',
    'stage3_unit30_conv2_weight', 'stage3_unit30_bn3_gamma',
    'stage3_unit30_bn3_beta', 'stage3_unit30_conv3_weight',
    'stage3_unit31_bn1_gamma', 'stage3_unit31_bn1_beta',
    'stage3_unit31_conv1_weight', 'stage3_unit31_bn2_gamma',
    'stage3_unit31_bn2_beta', 'stage3_unit31_conv2_weight',
    'stage3_unit31_bn3_gamma', 'stage3_unit31_bn3_beta',
    'stage3_unit31_conv3_weight', 'stage3_unit32_bn1_gamma',
    'stage3_unit32_bn1_beta', 'stage3_unit32_conv1_weight',
    'stage3_unit32_bn2_gamma', 'stage3_unit32_bn2_beta',
    'stage3_unit32_conv2_weight', 'stage3_unit32_bn3_gamma',
    'stage3_unit32_bn3_beta', 'stage3_unit32_conv3_weight',
    'stage3_unit33_bn1_gamma', 'stage3_unit33_bn1_beta',
    'stage3_unit33_conv1_weight', 'stage3_unit33_bn2_gamma',
    'stage3_unit33_bn2_beta', 'stage3_unit33_conv2_weight',
    'stage3_unit33_bn3_gamma', 'stage3_unit33_bn3_beta',
    'stage3_unit33_conv3_weight', 'stage3_unit34_bn1_gamma',
    'stage3_unit34_bn1_beta', 'stage3_unit34_conv1_weight',
    'stage3_unit34_bn2_gamma', 'stage3_unit34_bn2_beta',
    'stage3_unit34_conv2_weight', 'stage3_unit34_bn3_gamma',
    'stage3_unit34_bn3_beta', 'stage3_unit34_conv3_weight',
    'stage3_unit35_bn1_gamma', 'stage3_unit35_bn1_beta',
    'stage3_unit35_conv1_weight', 'stage3_unit35_bn2_gamma',
    'stage3_unit35_bn2_beta', 'stage3_unit35_conv2_weight',
    'stage3_unit35_bn3_gamma', 'stage3_unit35_bn3_beta',
    'stage3_unit35_conv3_weight', 'stage3_unit36_bn1_gamma',
    'stage3_unit36_bn1_beta', 'stage3_unit36_conv1_weight',
    'stage3_unit36_bn2_gamma', 'stage3_unit36_bn2_beta',
    'stage3_unit36_conv2_weight', 'stage3_unit36_bn3_gamma',
    'stage3_unit36_bn3_beta', 'stage3_unit36_conv3_weight',
    'stage4_unit1_bn1_gamma', 'stage4_unit1_bn1_beta',
    'stage4_unit1_conv1_weight', 'stage4_unit1_bn2_gamma',
    'stage4_unit1_bn2_beta', 'stage4_unit1_conv2_weight',
    'stage4_unit1_bn3_gamma', 'stage4_unit1_bn3_beta',
    'stage4_unit1_conv3_weight', 'stage4_unit1_sc_weight',
    'stage4_unit2_bn1_gamma', 'stage4_unit2_bn1_beta',
    'stage4_unit2_conv1_weight', 'stage4_unit2_bn2_gamma',
    'stage4_unit2_bn2_beta', 'stage4_unit2_conv2_weight',
    'stage4_unit2_bn3_gamma', 'stage4_unit2_bn3_beta',
    'stage4_unit2_conv3_weight', 'stage4_unit3_bn1_gamma',
    'stage4_unit3_bn1_beta', 'stage4_unit3_conv1_weight',
    'stage4_unit3_bn2_gamma', 'stage4_unit3_bn2_beta',
    'stage4_unit3_conv2_weight', 'stage4_unit3_bn3_gamma',
    'stage4_unit3_bn3_beta', 'stage4_unit3_conv3_weight',
]
