diff --git "a/Pretrain/Hulk_vit-B.yaml" "b/Pretrain/Hulk_vit-B.yaml" new file mode 100644--- /dev/null +++ "b/Pretrain/Hulk_vit-B.yaml" @@ -0,0 +1,4466 @@ +# task 0: attr, task 1: pose, task 2:caption task3: parsing task4: smpl, task 5: det +# fixed parameter with diverse shape among different tasks should also be set in the task_spec_list, +# e.g., text_vectors, pos_embed, etc. + + +# attr: 5: multi_rap2_PA_100k_parse27k_market_HARDHC 6: luperson +# caption: 7: image_caption_joint +# skeleton action: 0: ntu60+ntu120+gym 1: k400+diving48+gym +# smpl: 2: 3dpw , human3.6m , coco , muco , up3d , mpii , gta_human +# det: 3: Crowdhuman 4: 5set +# pose: 8: coco 9:aic 10: human3.6m 11: posetrack 12: jrdb 13: MHP 14: mpii 15: 3dpw 16: aist++ +# parsing: 17:LIP 18:CIHP 19: human3.6m 20: modanet 21: VIP 22: deepfashion 23: PaperDoll + + + +common: # prefix + share_backbone_group: [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0] + share_decoder_group: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0] + # use modality groups to control the communication of neck, adapter, and output proj + share_rgb_group: [-1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0] # rgb + share_dense_labeling_group: [-1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0] # dense_labeling + share_text_group: [0, 0, -1, -1, -1, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1] # text + share_sparse_labeling_group: [ 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1] + share_video_group: [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1] + # share modality is truly the share task group, e.g., parsing datasets share a group + share_modality_group: [ 2, 2, 3, 4, 4, 0, 0, 1, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 6, 6, 6, 6, 6, 6, 6 ] + + + solver: + type: SolverMAEDev + + model_entry_type: aio_entry_v2mae_shareneck + + + lr_scheduler: + type: 'Cosine' + kwargs: + eta_min: 0. + base_lr: 1.e-5 + warmup_lr: 1.e-3 + warmup_steps: 1500 + + backbone_multiplier: 1. + pos_embed_multiplier: 1. + layer_decay: + num_layers: 12 + layer_decay_rate: 0.75 + lpe_lr: True + + optimizer: + type: Adafactor_dev + kwargs: + beta1: 0.9 + clip_beta2: 0.999 + clip_threshold: 1. + decay_rate: -0.8 + scale_parameter: False + relative_step: False + weight_decay: 0.05 + + auto_denan: False + + workers: 2 + max_iter: 60000 #61446 # 0.1628001628001628 * |61446 for 149813 // 512 * 210 + + deterministic: True # seed control + cudnn_deterministic: False + worker_rank: True + random_seed: 233 + + print_freq: 10 + verbose_loss: False + vis_batch: False + save_interval: 10000 + + use_ceph: True + sync: True + collate: det + +# task_specific_param = ['backbone', 'neck', 'decoder', 'dataset', 'sampler', 'lr_scheduler', 'optimizer'] +tasks : # prefix + + + 0: + name: NUTRGBD_skeleton #SPECIFIC + loss_weight: 4.4 + gres_ratio: 2 # int, > 0, = Task_GPUs / (world_Size/sum(all_gres_ratios)) + backbone: + type: vit_base_patch16_mask + kwargs: + task_sp_list: [ 'rel_pos_h', 'rel_pos_w' ] # wrong list would somehow cause .cuda() stuck without error + pretrained: True + lms_checkpoint_train: fairscale + window: False + test_pos_mode: learnable_interpolate + learnable_pos: False + drop_path_rate: 0.1 + vis_patch_token_ratio: 1 + vis_label_token_ratio: 0. + + dataset: + type: mmSkeletonDataset # train for 150 epochs + kwargs: + ann_file: + - /mnt/path...to...//skaction_public/ntu60_hrnet.pkl + - /mnt/path...to...//skaction_public/ntu120_hrnet.pkl + - /mnt/path...to...//skaction_public/gym_hrnet.pkl + dataset_name: + - 2dntu60 + - 2dntu120 + - gym + kp_dim: 2d #SPECIFIC + one_hot: True + num_classes: + - 60 + - 120 + - 99 + centernorm: False + scale_range: [ 0.75,1.25 ] + data_pipeline: + - type: PreNormalize2D + kwargs: { } + - type: GenSkeFeat + kwargs: + dataset: coco + feats: [ 'j' ] + - type: UniformSampleGivenFrames + kwargs: + clip_len: 25 + given_len: 7 + - type: PoseDecode + kwargs: { } + - type: FormatGCNInput2D + kwargs: + num_person: 2 + window: False + rotate: True + mode: zero + - type: Collect + kwargs: + keys: [ 'keypoint', 'label' ] + meta_keys: [ ] + - type: ToTensor + kwargs: + keys: [ 'keypoint' ] + flip: True + + + sampler: + batch_size: 120 # per card + shuffle_strategy: 1 + + patch_neck: + type: MAEdecoder_proj_neck + kwargs: + mask_dim: 256 + modality: sparse_labeling + + label_neck: + type: MAEdecoder_proj_neck + kwargs: + mask_dim: 256 + modality: text + + patch_adapter: + type: sparse_labeling_adapter_skaction + kwargs: + pretrained: True # should be changed to True later + in_chans: 3 + num_joints: 17 #SPECIFIC + num_frames: 175 + embed_dim: 768 + patch_size: [ 7, 2 ] + stride_level: [ 1, 1 ] + use_abs_pos_emb: True + learnable_pos: False + test_pos_mode: learnable_interpolate + type_embed: False + joint_with_text_embedding: True + joint_names: coco_body_17joints #SPECIFIC + proj_norm: 'LN' + stride_text_embedding: True + is_2d_dataset: True #SPECIFIC + modality_share_list: [ + 'merge_kernel', + 'proj_kernel', + 'proj', ] + task_sp_list: [ 'text_embedding', 'pos_embed', ] + + + patch_proj: + type: sparse_labeling_projector + kwargs: + task: skeleton + loss_cfg: + type: MaskDetFocalDiceLoss + kwargs: + cfg: + deep_supervision: True + focal_alpha: 0.25 + class_weight: 2.0 + bbox_weight: 5.0 + giou_weight: 2. + ign_thr: 0.7 + dec_layers: 6 + num_classes: 1 + predict3d: True + xyxy: True + in_chans: 3 # predefined in patch adapter, set in solver + num_joints: 17 #SPECIFIC + num_frames: 175 + modality_share_list: [ + 'output_proj', + 'translate_weight', + 'translate_bias', + 'post_mul_norm', + 'patch_proj', + 'class_proj' + ] + task_sp_list: [ + 'text_vectors', # useless + 'text_features', + ] + + label_adapter: + type: text_adapter + kwargs: + pretrained: True + #close_set: True + description_dict_name: + - ntu60_name + - ntu120_name + - gym_cls_name + one_way_semantics: False + skeleton_action: True # use skeleton action to Double the text embedding (when M=2) + skeleton_action_one_hot_label: True + task_sp_list: [ 'text_vectors', ] + + label_proj: + type: text_projector + kwargs: + one_way_semantics: False + description_dict_name: + - ntu60_name + - ntu120_name + - gym_cls_name + skeleton_action: True + skeleton_action_one_hot_label: True + pre_proj_type: 'pool' + replace_post_mul_norm: False + post_mul_norm: True + task_sp_list: [ 'text_vectors', + 'translate_weight', + 'translate_bias', + 'post_mul_norm', ] + loss_cfg: + type: CELoss + kwargs: + loss_weight: 1.0 + + decoder: + type: UniHCPv2_Head + kwargs: + predictor: 'hulk' + task: recons + modality_share_list: ['predictor.mask_token', ] + task_sp_list: [ + 'predictor.query_embed_patch', + 'predictor.query_embed_label', + 'predictor.class_embed','predictor.fc_bias', # useless in Hulk + ] # wrong list would somehow cause .cuda() stuck without error + loss_weight: 1.0 + transformer_predictor_cfg: + hidden_dim: 256 + num_queries: 20 # useless in Hulk + nheads: 8 + dim_feedforward: 2048 + dec_layers: 9 + pre_norm: False + arch: fan_in + enforce_input_project: False + mask_on: False + num_feature_levels: 1 + cross_pos_embed: anchor + self_attn_mask_type: patch_diag_label_row + detach_from_peddet: True + + loss_cfg: + type: CEL_Sigmoid + + 1: + name: k400_skeleton #SPECIFIC + loss_weight: 1 + gres_ratio: 1 # int, > 0, = Task_GPUs / (world_Size/sum(all_gres_ratios)) + backbone: + type: vit_base_patch16_mask + kwargs: + task_sp_list: [ 'rel_pos_h', 'rel_pos_w' ] # wrong list would somehow cause .cuda() stuck without error + pretrained: True + lms_checkpoint_train: fairscale + window: False + test_pos_mode: learnable_interpolate + learnable_pos: False + drop_path_rate: 0.1 + vis_patch_token_ratio: 1 + vis_label_token_ratio: 0. + + dataset: + type: mmSkeletonDataset # train for 150 epochs + kwargs: + ann_file: + - /mnt/path...to.../skaction_public/diving48_hrnet.pkl + - /mnt/path...to.../skaction_public/ucf101_hrnet.pkl + - /mnt/path...to.../skaction_public/k400_hrnet.pkl + dataset_name: + - diving + - ucf + - k400 + kp_dim: 2d #SPECIFIC + one_hot: True + num_classes: + - 48 + - 101 + - 400 + centernorm: False + scale_range: [ 0.75,1.25 ] + data_pipeline: + - type: PreNormalize2D + kwargs: { } + - type: GenSkeFeat + kwargs: + dataset: coco + feats: [ 'j' ] + - type: UniformSampleGivenFrames + kwargs: + clip_len: 25 + given_len: 7 + - type: PoseDecode + kwargs: { } + - type: FormatGCNInput2D + kwargs: + num_person: 2 + window: False + rotate: True + mode: zero + - type: Collect + kwargs: + keys: [ 'keypoint', 'label' ] + meta_keys: [ ] + - type: ToTensor + kwargs: + keys: [ 'keypoint' ] + flip: True + + + sampler: + batch_size: 90 # per card + shuffle_strategy: 1 + + patch_neck: + type: MAEdecoder_proj_neck + kwargs: + mask_dim: 256 + modality: sparse_labeling + + label_neck: + type: MAEdecoder_proj_neck + kwargs: + mask_dim: 256 + modality: text + + patch_adapter: + type: sparse_labeling_adapter_skaction + kwargs: + pretrained: True # should be changed to True later + in_chans: 3 + num_joints: 17 #SPECIFIC + num_frames: 175 + embed_dim: 768 + patch_size: [ 7, 2 ] + stride_level: [ 1, 1 ] + use_abs_pos_emb: True + learnable_pos: False + test_pos_mode: learnable_interpolate + type_embed: False + joint_with_text_embedding: True + joint_names: coco_body_17joints #SPECIFIC + proj_norm: 'LN' + stride_text_embedding: True + is_2d_dataset: True #SPECIFIC + modality_share_list: [ + 'merge_kernel', + 'proj_kernel', + 'proj', ] + task_sp_list: [ 'text_embedding', 'pos_embed', ] + + + patch_proj: + type: sparse_labeling_projector + kwargs: + task: skeleton + loss_cfg: + type: MaskDetFocalDiceLoss + kwargs: + cfg: + deep_supervision: True + focal_alpha: 0.25 + class_weight: 2.0 + bbox_weight: 5.0 + giou_weight: 2. + ign_thr: 0.7 + dec_layers: 6 + num_classes: 1 + predict3d: True + xyxy: True + in_chans: 3 # predefined in patch adapter, set in solver + num_joints: 17 #SPECIFIC + num_frames: 175 + modality_share_list: [ + 'output_proj', + 'translate_weight', + 'translate_bias', + 'post_mul_norm', + 'patch_proj', + 'class_proj' + ] + task_sp_list: [ + 'text_vectors', # useless + 'text_features', + ] + + label_adapter: + type: text_adapter + kwargs: + pretrained: True + description_dict_name: + - diving48_cls_name + - ucf101_cls_name + - k400_cls_name + one_way_semantics: False + skeleton_action: True # use skeleton action to Double the text embedding (when M=2) + skeleton_action_one_hot_label: True + task_sp_list: [ 'text_vectors', ] + + label_proj: + type: text_projector + kwargs: + one_way_semantics: False + description_dict_name: + - diving48_cls_name + - ucf101_cls_name + - k400_cls_name + skeleton_action: True + skeleton_action_one_hot_label: True + pre_proj_type: 'pool' + replace_post_mul_norm: False + post_mul_norm: True + task_sp_list: [ 'text_vectors', + 'translate_weight', + 'translate_bias', + 'post_mul_norm', ] + loss_cfg: + type: CELoss + kwargs: + loss_weight: 1.0 + + decoder: + type: UniHCPv2_Head + kwargs: + predictor: 'hulk' + task: recons + modality_share_list: [ 'predictor.mask_token', ] + task_sp_list: [ + 'predictor.query_embed_patch', + 'predictor.query_embed_label', + 'predictor.class_embed','predictor.fc_bias', # useless in Hulk + ] # wrong list would somehow cause .cuda() stuck without error + loss_weight: 1.0 + transformer_predictor_cfg: + hidden_dim: 256 + num_queries: 20 # useless in Hulk + nheads: 8 + dim_feedforward: 2048 + dec_layers: 9 + pre_norm: False + arch: fan_in + enforce_input_project: False + mask_on: False + num_feature_levels: 1 + cross_pos_embed: anchor + self_attn_mask_type: patch_diag_label_row + detach_from_peddet: True + + loss_cfg: + type: CEL_Sigmoid + + 2: + name: smpl + loss_weight: 0.5 + gres_ratio: 3 + dataset: + type: MeshTSVYamlDataset # train for 150 epochs + kwargs: + is_composite: True + is_train: True + cv2_output: False + augmentation: + scale_factor: 0.25 + noise_factor: 0.4 + rot_factor: 30 + img_res: 224 + cfg: + data_path: + - /mnt/path...to.../Processed_SMPL/3dpw/dataset.pkl # problem + - /mnt/path...to.../Processed_SMPL/human3.6m/dataset.pkl #running + - /mnt/path...to.../Processed_SMPL/coco_smpl/dataset.pkl # problem + - /mnt/path...to.../Processed_SMPL/muco/dataset.pkl #running + - /mnt/path...to.../Processed_SMPL/up3d/dataset.pkl # done + - /mnt/path...to.../Processed_SMPL/mpii/dataset.pkl #done + - /mnt/path...to.../Processed_SMPL/gta_human/dataset_pkl/v2_dataset_1396913.pkl + - /mnt/path...to.../Processed_SMPL/gta_human/dataset_pkl/v2_dataset_200000.pkl + - /mnt/path...to.../Processed_SMPL/gta_human/dataset_pkl/v2_dataset_400000.pkl + - /mnt/path...to.../Processed_SMPL/gta_human/dataset_pkl/v2_dataset_600000.pkl + - /mnt/path...to.../Processed_SMPL/gta_human/dataset_pkl/v2_dataset_800000.pkl + - /mnt/path...to.../Processed_SMPL/gta_human/dataset_pkl/v2_dataset_1000000.pkl + - /mnt/path...to.../Processed_SMPL/gta_human/dataset_pkl/v2_dataset_1200000.pkl + root_path: + - /mnt/path...to.../Processed_SMPL/3dpw/images + - /mnt/path...to.../Processed_SMPL/human3.6m/images + - /mnt/path...to.../Processed_SMPL/coco_smpl/images + - /mnt/path...to.../Processed_SMPL/muco/images + - /mnt/path...to.../Processed_SMPL/up3d/images + - /mnt/path...to.../Processed_SMPL/mpii/images + - /mnt/path...to.../Processed_SMPL/gta_human_openxlab/gta_human + - /mnt/path...to.../Processed_SMPL/gta_human_openxlab/gta_human + - /mnt/path...to.../Processed_SMPL/gta_human_openxlab/gta_human + - /mnt/path...to.../Processed_SMPL/gta_human_openxlab/gta_human + - /mnt/path...to.../Processed_SMPL/gta_human_openxlab/gta_human + - /mnt/path...to.../Processed_SMPL/gta_human_openxlab/gta_human + - /mnt/path...to.../Processed_SMPL/gta_human_openxlab/gta_human + + sampler: + batch_size: 165 # per card + shuffle_strategy: 1 + + backbone: + type: vit_base_patch16_mask + kwargs: + task_sp_list: [ 'rel_pos_h', 'rel_pos_w' ] # wrong list would somehow cause .cuda() stuck without error + pretrained: True + lms_checkpoint_train: fairscale + window: False + test_pos_mode: learnable_interpolate + learnable_pos: True + drop_path_rate: 0.2 + vis_patch_token_ratio: 1 + vis_label_token_ratio: 0. + + patch_neck: + type: MAEdecoder_proj_neck + kwargs: + mask_dim: 256 + modality: rgb + + label_neck: + type: MAEdecoder_proj_neck + kwargs: + mask_dim: 256 + modality: sparse_labeling + + patch_adapter: + type: rgb_adapter # change to adapter_rgb + kwargs: + pretrained: True + stride_level: 1 + in_chans: 3 + use_abs_pos_emb: True + learnable_pos: False # useless + test_pos_mode: False + img_size: [ 224, 224 ] + task_sp_list: [ 'pos_embed' ] + + label_adapter: + type: sparse_labeling_adapter + kwargs: + pretrained: True + in_chans: 3 + num_joints: 446 # 1 + 14 + 431 + num_frames: 1 + embed_dim: 768 + patch_size: [ 1,1 ] + stride_level: [ 1, 1 ] + use_abs_pos_emb: True + learnable_pos: False + test_pos_mode: learnable_interpolate + type_embed: False + proj_norm: 'LN' + task_sp_list: [ 'pos_embed', + 'text_embedding', + 'proj_kernel', + 'proj',] + + patch_proj: + type: rgb_projector + kwargs: + loss_cfg: + type: MaskedMSELoss + kwargs: + stride: 1 + norm_pix_loss: True + pix_loss: True + pix_loss_weight: 1. + norm_pix_loss_weight: 1. + + label_proj: + type: sparse_labeling_projector + kwargs: + task_sp_list: [ 'output_proj', + 'text_features', + 'loss_fn', + 'translate', + 'post_mul_norm', + 'patch_proj', + 'class_proj', + 'proj' + ] + pre_proj_type: 'fix_text_tokens' + num_classes: 14 + # pred_joints_class: True + reference_type: 'smpl' + in_chans: 3 # XYZ + num_joints: 446 + num_frames: 1 + hidden_dim: 256 + patch_size: [ 1, 1 ] + stride_level: [ 1, 1 ] + replace_post_mul_norm: False + task: smpl + # for smpl task, do not predict joints classes, so text_prototype and learn_text is not useful + text_prototype: True + learn_text: True + loss_cfg: + type: SMPL_LOSS_FASTMETRO + kwargs: + # use_pred_joints_class_loss: True + cfg: + use_smpl_param_regressor: True + joints_2d_loss_weight: 100.0 + vertices_3d_loss_weight: 100.0 + edge_normal_loss_weight: 100.0 + joints_3d_loss_weight: 1000.0 + vertices_fine_loss_weight: 0.25 + vertices_intermediate_loss_weight: 0.50 + vertices_coarse_loss_weight: 0.25 + edge_gt_loss_weight: 5.0 + edge_self_loss_weight: 1.e-4 + normal_loss_weight: 0.1 + smpl_param_loss_weight: 1000.0 + except_smpl_param_loss_weight: 1.e-8 + + decoder: + type: UniHCPv2_Head + kwargs: + predictor: 'hulk' + task: recons + modality_share_list: ['predictor.mask_token'] + task_sp_list: [ 'predictor.query_embed_patch', + 'predictor.query_embed_label', + 'predictor.class_embed', 'predictor.fc_bias', # useless in Hulk + + ] # wrong list would somehow cause .cuda() stuck without error + loss_weight: 1.0 + transformer_predictor_cfg: + hidden_dim: 256 + num_queries: 20 + nheads: 8 + dim_feedforward: 2048 + dec_layers: 9 + pre_norm: False + arch: fan_in + enforce_input_project: False + mask_on: False + num_feature_levels: 1 + cross_pos_embed: anchor + cls_out_dim: 1 + smpl_attention_mask_flag: True + smpl_mae_pe: True + use_adapt_pos2d: True + use_adapt_pos1d: True + self_attn_mask_type: full + adding_per_layer_pe: True + detach_from_peddet: True + use_adapt_position: 'before' + use_smpl_label_attention_mask: True + label_pos_mode: 'smpl_xyz' + loss_cfg: + type: CEL_Sigmoid # useless + + 3: + name: Peddet + loss_weight: 15 + gres_ratio: 8 # int, > 0, = Task_GPUs / (world_Size/sum(all_gres_ratios)) + dataset: + type: PedestrainDetectionDataset_v2 # train for 150 epochs + kwargs: + task_spec: + img_folder: + - /mnt/path...to.../PedDet2d/CrowdHuman/Images + ann_file: + - /mnt/path...to.../PedDet2d/CrowdHuman/annotations/train.json + return_masks: False + augmentation: + max_size: 1120 + vit: True + num_append_fake_boxes: 867 + return_box_xyxy: True + append_z: True + sampler: + batch_size: 4 # per card + shuffle_strategy: 1 + batch_accumulation: 1 + + backbone: + type: vit_base_patch16_mask + kwargs: + task_sp_list: [ 'rel_pos_h', 'rel_pos_w' ] # wrong list would somehow cause .cuda() stuck without error + pretrained: True + lms_checkpoint_train: fairscale + window: False + test_pos_mode: learnable_interpolate + learnable_pos: True + drop_path_rate: 0.2 + attn_calcul_method: 'math' + vis_patch_token_ratio: 1 + vis_label_token_ratio: 0. + + patch_neck: + type: MAEdecoder_proj_neck + kwargs: + mask_dim: 256 + modality: rgb + + label_neck: + type: MAEdecoder_proj_neck + kwargs: + mask_dim: 256 + modality: sparse_labeling + + patch_adapter: + type: rgb_adapter + kwargs: + pretrained: True + stride_level: 1 + in_chans: 3 + learnable_pos: False + use_abs_pos_emb: True + test_pos_mode: interpolate_with_nomask + img_size: 1344 # dynamic input size: TODO: nested + round_padding: True # should fix in rgb + pad_attn_mask: True + task_sp_list: [ 'pos_embed' ] + + label_adapter: + type: sparse_labeling_adapter + kwargs: + pretrained: True + in_chans: 3 # xyz + num_joints: 867 # boxes with random gts + num_frames: 2 # 2 for x1y1 and x2y2 + embed_dim: 768 + patch_size: [ 2, 1 ] + stride_level: [ 1, 1 ] + use_abs_pos_emb: True + learnable_pos: False + test_pos_mode: learnable_interpolate + type_embed: False + proj_norm: 'LN' + task_sp_list: [ 'pos_embed', + 'text_embedding', + 'proj_kernel', + 'proj', + 'merge_kernel', + ] + + patch_proj: + type: rgb_projector + kwargs: + loss_cfg: + type: MaskedMSELoss + kwargs: + stride: 1 + norm_pix_loss: True + pix_loss: True + pix_loss_weight: 1. + norm_pix_loss_weight: 1. + + label_proj: + type: sparse_labeling_projector + kwargs: + task_sp_list: [ 'text_vectors', # useless + 'text_features', + ] + modality_share_list: [ + 'text_vectors', # useless + 'output_proj', + 'translate_weight', + 'translate_bias', + 'post_mul_norm', + 'patch_proj', + 'class_proj' + ] + in_chans: 3 + num_joints: 867 # boxes with random gts + num_frames: 2 # 2 for x1y1 and x2y2 + pre_proj_type: fix_text_tokens + num_classes: 1 + reference_type: four_points + box_mlp: True + replace_post_mul_norm: True + translate_weight_scale: 4 + text_prototype: True + loss_cfg: + type: MaskDetFocalDiceLoss + kwargs: + cfg: + deep_supervision: True + focal_alpha: 0.25 + class_weight: 2.0 + bbox_weight: 5.0 + giou_weight: 2. + ign_thr: 0.7 + dec_layers: 9 + num_classes: 1 + predict3d: True + xyxy: True + + decoder: + type: UniHCPv2_Head + kwargs: + predictor: 'hulk' + task: recons + modality_share_list: ['predictor.mask_token'] + task_sp_list: [ + 'predictor.query_embed_patch', + 'predictor.query_embed_label', + 'predictor.anchor', + 'predictor.class_embed','predictor.fc_bias', # useless in Hulk + ] # wrong list would somehow cause .cuda() stuck without error + loss_weight: 1.0 + transformer_predictor_cfg: + hidden_dim: 256 + num_queries: 20 # useless in Hulk + nheads: 8 + dim_feedforward: 2048 + dec_layers: 9 + pre_norm: False + arch: fan_in + enforce_input_project: False + mask_on: False + num_feature_levels: 1 + cross_pos_embed: anchor + patch_pos_mode: interpolate_with_nomask + label_pos_mode: simple_interpolate + self_attn_mask_type: patch_diag_label_row_nested + adding_per_layer_pe: True + mask_token_normal_init: True + intermediate_output: True + peddet_cfgs: + share_content_query: 3 + num_queries: 867 + pre_defined_path: '289_points_3d.npy' + query_pe_dim: 3 + xattn: False + anchor_requires_grad: False + + loss_cfg: + type: CEL_Sigmoid + + + + 4: + name: Peddet_5set + loss_weight: 42.4 + gres_ratio: 20 # int, > 0, = Task_GPUs / (world_Size/sum(all_gres_ratios)) + dataset: + type: PedestrainDetectionDataset_v2 # train for 150 epochs + kwargs: + task_spec: + img_folder: + - /mnt/path...to.../peddet_public/CrowdHuman/Images + - /mnt/path...to.../peddet_public/ECP/ + - /mnt/path...to.../peddet_public/CityPersons/ + - /mnt/path...to.../peddet_public/WiderPerson/Images + - /mnt/path...to.../peddet_public/coco/train2017/ + - /mnt/path...to.../peddet_public/WIDER_Pedestrian/Images/ + ann_file: + - /mnt/path...to.../peddet_public/CrowdHuman/annotations/train.json + - /mnt/path...to.../peddet_public/ECP/ECP_remove_no_person_img.json + - /mnt/path...to.../peddet_public/CityPersons/CityPersons_remove_no_person_img.json + - /mnt/path...to.../peddet_public/WiderPerson/WiderPerson_remove_no_person_img.json + - /mnt/path...to.../peddet_public/cocopersons/coco_person_remove_no_person_img.json + - /mnt/path...to.../peddet_public/WIDER_Pedestrian/WIDER_Pedestrian_remove_no_person_img.json + return_masks: False + augmentation: + max_size: 1120 + vit: True + num_append_fake_boxes: 867 + return_box_xyxy: True + append_z: True + sampler: + batch_size: 4 # per card + shuffle_strategy: 1 + batch_accumulation: 1 + + backbone: + type: vit_base_patch16_mask + kwargs: + task_sp_list: [ 'rel_pos_h', 'rel_pos_w' ] # wrong list would somehow cause .cuda() stuck without error + pretrained: True + lms_checkpoint_train: fairscale + window: False + test_pos_mode: learnable_interpolate + learnable_pos: True + drop_path_rate: 0.2 + attn_calcul_method: 'math' + vis_patch_token_ratio: 1 + vis_label_token_ratio: 0. + + patch_neck: + type: MAEdecoder_proj_neck + kwargs: + mask_dim: 256 + modality: rgb + + label_neck: + type: MAEdecoder_proj_neck + kwargs: + mask_dim: 256 + modality: sparse_labeling + + patch_adapter: + type: rgb_adapter + kwargs: + pretrained: True + stride_level: 1 + in_chans: 3 + learnable_pos: False + use_abs_pos_emb: True + test_pos_mode: interpolate_with_nomask + img_size: 1344 + round_padding: True # should fix in rgb + pad_attn_mask: True + task_sp_list: [ 'pos_embed' ] + + label_adapter: + type: sparse_labeling_adapter + kwargs: + pretrained: True + in_chans: 3 # xyz + num_joints: 867 # boxes with random gts + num_frames: 2 # 2 for x1y1 and x2y2 + embed_dim: 768 + patch_size: [ 2, 1 ] + stride_level: [ 1, 1 ] + use_abs_pos_emb: True + learnable_pos: False + test_pos_mode: learnable_interpolate + type_embed: False + proj_norm: 'LN' + task_sp_list: [ 'pos_embed', + 'text_embedding', + 'proj_kernel', + 'proj', + 'merge_kernel', + ] + + patch_proj: + type: rgb_projector + kwargs: + loss_cfg: + type: MaskedMSELoss + kwargs: + stride: 1 + norm_pix_loss: True + pix_loss: True + pix_loss_weight: 1. + norm_pix_loss_weight: 1. + + label_proj: + type: sparse_labeling_projector + kwargs: + task_sp_list: [ 'text_vectors', # useless + 'text_features', + ] + modality_share_list: [ + 'text_vectors', # useless + 'output_proj', + 'translate_weight', + 'translate_bias', + 'post_mul_norm', + 'patch_proj', + 'class_proj' + ] + in_chans: 3 + num_joints: 867 # boxes with random gts + num_frames: 2 # 2 for x1y1 and x2y2 + pre_proj_type: fix_text_tokens + num_classes: 1 + reference_type: four_points + box_mlp: True + replace_post_mul_norm: True + translate_weight_scale: 4 + text_prototype: True + loss_cfg: + type: MaskDetFocalDiceLoss + kwargs: + cfg: + deep_supervision: True + focal_alpha: 0.25 + class_weight: 2.0 + bbox_weight: 5.0 + giou_weight: 2. + ign_thr: 0.7 + dec_layers: 9 + num_classes: 1 + predict3d: True + xyxy: True + + decoder: + type: UniHCPv2_Head + kwargs: + predictor: 'hulk' + task: recons + modality_share_list: [ 'predictor.mask_token' ] + task_sp_list: [ + 'predictor.query_embed_patch', + 'predictor.query_embed_label', + 'predictor.anchor', + 'predictor.class_embed','predictor.fc_bias', # useless in Hulk + ] # wrong list would somehow cause .cuda() stuck without error + loss_weight: 1.0 + transformer_predictor_cfg: +# lms_checkpoint_train: fairscale + hidden_dim: 256 + num_queries: 20 # useless in Hulk + nheads: 8 + dim_feedforward: 2048 + dec_layers: 9 + pre_norm: False + arch: fan_in + enforce_input_project: False + mask_on: False + num_feature_levels: 1 + cross_pos_embed: anchor + patch_pos_mode: interpolate_with_nomask + label_pos_mode: simple_interpolate + self_attn_mask_type: patch_diag_label_row_nested + adding_per_layer_pe: True + mask_token_normal_init: True + intermediate_output: True + peddet_cfgs: + share_content_query: 3 + num_queries: 867 + pre_defined_path: '289_points_3d.npy' + query_pe_dim: 3 + xattn: False + anchor_requires_grad: False + + loss_cfg: + type: CEL_Sigmoid + + 5: # prefix + name: pedattr_multi_rap2_PA_100k_parse27k_market_HARDHC + loss_weight: 5 + gres_ratio: 1 # int, > 0, = Task_GPUs / (world_Size/sum(all_gres_ratios)) + backbone: + type: vit_base_patch16_mask + kwargs: + task_sp_list: [ 'rel_pos_h', 'rel_pos_w' ] # wrong list would somehow cause .cuda() stuck without error + pretrained: True + lms_checkpoint_train: fairscale + window: False + test_pos_mode: False # when torch.compile is True, this should be False + learnable_pos: True + drop_path_rate: 0.2 + img_size: 1344 + num_encoded_tokens: 192 + vis_patch_token_ratio: 1 + vis_label_token_ratio: 0. + dataset: + type: MultiAttrDataset + kwargs: + text_label_return: True + task_spec: + dataset: + - rap2 + - PA_100k + - parse27k + - market + - HARDHC + data_path: + - /mnt/path...to.../pedattr_public/rap2/dataset.pkl + - /mnt/path...to.../pedattr_public/PA-100k/dataset.pkl + - /mnt/path...to.../pedattr_public/Parse27k/parse27k/parse27k/dataset.pkl + - /mnt/path...to.../pedattr_public/market/dataset.pkl + - /mnt/path...to.../pedattr_public/HARDHC/dataset.pkl + root_path: + - /mnt/path...to.../pedattr_public/rap2/RAP_dataset/ + - /mnt/path...to.../pedattr_public/PA-100k/data/ + - /mnt/path...to.../pedattr_public/Parse27k/parse27k/parse27k/images + - /mnt/path...to.../pedattr_public/market/bounding_box_train + - /mnt/path...to.../pedattr_public/HARDHC/croped_image/ + augmentation: + height: 256 + width: 192 + + sampler: + batch_size: 147 # per card + shuffle_strategy: 1 + + patch_neck: + type: MAEdecoder_proj_neck + kwargs: + mask_dim: 256 + modality: rgb + + + patch_adapter: + type: rgb_adapter # change to adapter_rgb + kwargs: + pretrained: True + stride_level: 1 + in_chans: 3 + learnable_pos: False + test_pos_mode: False + img_size: [256, 192] + task_sp_list: [ 'pos_embed' ] + + patch_proj: + type: rgb_projector + kwargs: + loss_cfg: + type: MaskedMSELoss + kwargs: + stride: 1 + norm_pix_loss: True + pix_loss: True + pix_loss_weight: 1. + norm_pix_loss_weight: 1. + + label_adapter: + type: text_adapter + kwargs: + pretrained: True + task_sp_list: ['text_vectors'] + one_way_semantics: True + description_dict_name: 'multi_rap2_PA_100k_parse27k_market_HARDHC_attr_name' + label_neck: + type: MAEdecoder_proj_neck + kwargs: + mask_dim: 256 + modality: text + label_proj: + type: text_projector + kwargs: + task_sp_list: ['text_vectors', + 'translate_weight', + 'translate_bias', + 'post_mul_norm',] + one_way_semantics: True + post_mul_norm: True + replace_post_mul_norm: False + translate_weight_scale: 5 + description_dict_name: 'multi_rap2_PA_100k_parse27k_market_HARDHC_attr_name' + pre_proj_type: '' + loss_cfg: + type: MaskedOneSideBCELoss + kwargs: + use_focal_weight: True + loss_weight: 1. + dataset_weight: [ 0.5, 0.5, 0.5, 0.5, 0.5, + 0.5, 0.5, 0.5, 0.5, 0.5, + 0.5, 0.5, 0.5, 0.5, 0.5, + 0.5, 0.5, 0.5, 0.5, 0.5, + 0.5, 0.5, 0.5, 0.5, 0.5, + 0.5, 0.5, 0.5, 0.5, 0.5, + 0.5, 0.5, 0.5, 0.5, 0.5, + 0.5, 0.5, 0.5, 0.5, 0.5, + 0.5, 0.5, 0.5, 0.5, 0.5, + 0.5, 0.5, 0.5, 0.5, 0.5, + 0.5, 0.5, 0.5, 0.5, 0.25, + 0.25, 0.25, 0.25, 0.25, 0.25, + 0.25, 0.25, 0.25, 0.25, 0.25, + 0.25, 0.25, 0.25, 0.25, 0.25, + 0.25, 0.25, 0.25, 0.25, 0.25, + 0.25, 0.25, 0.25, 0.25, 0.25, + 1.0, 1.0, 1.0, 1.0, 1.0, + 1.0, 1.0, 1.0, 1.0, 1.0, + 1.0, 1.0, 1.0, 1.0, 1.0, + 1.0, 1.0, 1.0, 1.0, 1.0, + 1.0, 1.0, 1.0, 1.0, 1.0, + 1.0, 1.0, 1.0, 1.0, 1.0, + 1.0, 1.0, 1.0, 1.0, 1.0, + 1.0, 1.0, 1.0, 1.0, 1.0, + 1.0, 1.0, 1.0, 1.0, 1.0, + 1.0, 1.0, 1.0, 1.0, 1.0, + 1.0, 1.0, 1.0, 1.0, 1.0, + 1.0, 1.0, 1.0, 1.0, 1.0, + 1.0, 1.0, 1.0, 1.0, 1.0, + 1.0, 1.0, 1.0, 1.0, 1.0, + 1.0, 1.0, 1.0, 1.0, 1.0, + 1.0, 1.0, 1.0, 1.0, 1.0, + 1.0, 1.0, 1.0, 1.0, 1.0, + 1.0, 1.0, 1.0, ] + sample_weight: [0.00172477, 0.05791431, 0.2792891 , 0.00459644, 0.01987675, + 0.06484867, 0.02327336, 0.01420398, 0.06937013, 0.03476447, + 0.08533858, 0.0091179 , 0.0125145 , 0.02894172, 0.00816949, + 0.17255632, 0.00890175, 0.00613153, 0.00838123, 0.07975844, + 0.03529381, 0.07885856, 0.06067129, 0.02532455, 0.00429207, + 0.06790121, 0.02532014, 0.00639179, 0.02070164, 0.00790041, + 0.01142935, 0.00823125, 0.00310547, 0.00732696, 0.08890281, + 0.00265994, 0.12081324, 0.16404275, 0.010578 , 0.09486231, + 0.040896 , 0.23313939, 0.02223673, 0.28135352, 0.01603462, + 0.01012806, 0.00799305, 0.01450835, 0.00697848, 0.00314958, + 0.00536399, 0.00762692, 0.03982408, 0.00306577, # rap2 + 0.01728739, 0.0714522 , 0.23161312, 0.16539257, 0.01964296, + 0.0599655 , 0.04277957, 0.01663895, 0.00187475, 0.00670499, + 0.0128674 , 0.28255336, 0.06885843, 0.0455939 , 0.00238203, + 0.07344605, 0.07651623, 0.06356061, 0.00378038, 0.00534193, + 0.36698324, 0.02468052, 0.18279907, 0.14001068, 0.1169667 , + 0.14002832, # pa100k + 0.00080283, 0.04727897, 0.05596016, 0.00868119, 0.00850474, + 0.00013234, 0.02891966, 0.0113279 , 0.00466261, 0.00932522, + 0.04154444, 0.00932522, 0.00466261, 0.0113279 , 0.0128277 , + 0.05136371, 0.05703648, 0.00839005, 0.00951049, 0.10332735, + 0.04794505, 0.01736679, 0.05591605, 0.04794505, 0.01736679, + 0.05591605, 0.04949779, 0.01482155, 0.05690856, 0.04949779, + 0.01482155, 0.05690856, 0.00515225, 0.00014998, 0.11592566, + 0.02974014, 0.00336131, 0.08812644, 0.00546986, 0.00292902, + 0.11282902, 0.03215746, 0.00087341, 0.08819702, # parse27k + 0.01577436, 0.01377169, 0.00681968, 0.02183531, 0.00826654, + 0.00613153, 0.0091179 , 0.00096605, 0.00241732, 0.00012792, + 0.00481259, 0.00091752, 0.00754752, 0.00346277, 0.00502433, + 0.00635209, 0.00219676, 0.00692113, 0.01726093, 0.00282756, + 0.04876553, 0.03532027, 0.05422657, 0.01836813, 0.00129247, + 0.0237233 , 0.00093958, 0.04455727, 0.01074562, 0.00082048, # market + 0.07086552, 0.02805507, 0.0062771 , 0.02825357, 0.0273978 , + 0.05809076, 0.00874295, 0.01927683, 0.01020305, 0.04525424, + 0.01257185, 0.00412004, 0.03352934, 0.00677998, # HARDHC + ] + + + decoder: + type: UniHCPv2_Head + kwargs: + predictor: 'hulk' + task: recons + modality_share_list: ['predictor.mask_token'] + task_sp_list: [ + 'predictor.query_embed_patch', + 'predictor.query_embed_label', + 'predictor.class_embed','predictor.fc_bias', # useless in Hulk + ] # wrong list would somehow cause .cuda() stuck without error + loss_weight: 1.0 + transformer_predictor_cfg: + hidden_dim: 256 + num_queries: 20 + nheads: 8 + dim_feedforward: 2048 + dec_layers: 9 + pre_norm: False + arch: fan_in + enforce_input_project: False + mask_on: False + num_feature_levels: 1 + cross_pos_embed: anchor + self_attn_mask_type: patch_diag_label_row + cls_out_dim: 1 + detach_from_peddet: True + loss_cfg: + type: CEL_Sigmoid + + 6: # prefix + name: attr_luperson + loss_weight: 5 + gres_ratio: 1 # int, > 0, = Task_GPUs / (world_Size/sum(all_gres_ratios)) + backbone: + type: vit_base_patch16_mask + kwargs: + task_sp_list: [ 'rel_pos_h', 'rel_pos_w' ] # wrong list would somehow cause .cuda() stuck without error + pretrained: True + lms_checkpoint_train: fairscale + window: False + test_pos_mode: False # when torch.compile is True, this should be False + learnable_pos: True + drop_path_rate: 0.2 + img_size: 1344 + num_encoded_tokens: 192 + vis_patch_token_ratio: 1 + vis_label_token_ratio: 0. + dataset: + type: MultiAttrDataset + kwargs: + text_label_return: True + task_spec: + dataset: + - lup_0_600w + - lup_600_1200w + data_path: + - /mnt/path...to.../attribute/dataset_0_600w_pjlab.pkl + - /mnt/path...to.../attribute/dataset_600_1200w_pjlab.pkl + root_path: + - /mnt/path...to.../reid/LUPerson-NL/LUPws + - /mnt/path...to.../reid/LUPerson-NL/LUPws + augmentation: + height: 256 + width: 192 + + sampler: + batch_size: 300 # per card + shuffle_strategy: 1 + + patch_neck: + type: MAEdecoder_proj_neck + kwargs: + mask_dim: 256 + modality: rgb + + patch_adapter: + type: rgb_adapter + kwargs: + pretrained: True + stride_level: 1 + in_chans: 3 + learnable_pos: False + test_pos_mode: False + img_size: [ 256, 192 ] + task_sp_list: [ 'pos_embed' ] + + patch_proj: + type: rgb_projector + kwargs: + loss_cfg: + type: MaskedMSELoss + kwargs: + stride: 1 + norm_pix_loss: True + pix_loss: True + pix_loss_weight: 1. + norm_pix_loss_weight: 1. + + label_adapter: + type: text_adapter + kwargs: + pretrained: True + task_sp_list: [ 'text_vectors' ] + one_way_semantics: True + description_dict_name: 'lup_lup_attr_base' + label_neck: + type: MAEdecoder_proj_neck + kwargs: + mask_dim: 256 + modality: text + label_proj: + type: text_projector + kwargs: + task_sp_list: [ 'text_vectors', + 'translate_weight', + 'translate_bias', + 'post_mul_norm', ] + one_way_semantics: True + post_mul_norm: True + replace_post_mul_norm: False + translate_weight_scale: 5 + description_dict_name: 'lup_lup_attr_base' + pre_proj_type: '' + loss_cfg: + type: MaskedOneSideBCELoss + kwargs: + loss_weight: 1. + use_focal_weight: True + sample_weight: [ 3.705390e-01, 6.184500e-03, 6.679500e-03, 9.445730e-01, + 3.924500e-02, 4.686065e-01, 7.492855e-01, 6.642300e-02, + 7.882115e-01, 1.606450e-02, 1.043025e-01, 8.040050e-02, + 1.102100e-02, 5.510935e-01, 4.074950e-02, 1.142160e-01, + 3.731000e-02, 5.566250e-02, 1.852115e-01, 1.524850e-02, + 5.085000e-04, 9.421990e-01, 1.484350e-02, 3.347200e-02, + 5.750000e-03, 3.735500e-03, 1.509560e-01, 3.741515e-01, + 3.318200e-02, 2.215850e-02, 4.213145e-01, 5.177550e-02, + 3.974550e-02, 3.878800e-01, 1.321270e-01, 1.337740e-01, + 9.478400e-02, 3.324350e-02, 1.095815e-01, 2.231600e-02, + 1.592250e-02, 2.386005e-01, 1.999500e-01, 1.321300e-02, + 7.382405e-01, 4.859650e-02, 2.932510e-01, 8.297100e-02, + 9.567325e-01, 2.430700e-02, 3.554500e-03, 1.751500e-03, #lup_0_600w + 3.705390e-01, 6.184500e-03, 6.679500e-03, 9.445730e-01, + 3.924500e-02, 4.686065e-01, 7.492855e-01, 6.642300e-02, + 7.882115e-01, 1.606450e-02, 1.043025e-01, 8.040050e-02, + 1.102100e-02, 5.510935e-01, 4.074950e-02, 1.142160e-01, + 3.731000e-02, 5.566250e-02, 1.852115e-01, 1.524850e-02, + 5.085000e-04, 9.421990e-01, 1.484350e-02, 3.347200e-02, + 5.750000e-03, 3.735500e-03, 1.509560e-01, 3.741515e-01, + 3.318200e-02, 2.215850e-02, 4.213145e-01, 5.177550e-02, + 3.974550e-02, 3.878800e-01, 1.321270e-01, 1.337740e-01, + 9.478400e-02, 3.324350e-02, 1.095815e-01, 2.231600e-02, + 1.592250e-02, 2.386005e-01, 1.999500e-01, 1.321300e-02, + 7.382405e-01, 4.859650e-02, 2.932510e-01, 8.297100e-02, + 9.567325e-01, 2.430700e-02, 3.554500e-03, 1.751500e-03 # lup_600_1200w + ] + + + decoder: + type: UniHCPv2_Head + kwargs: + predictor: 'hulk' + task: recons + modality_share_list: ['predictor.mask_token'] + task_sp_list: [ # 'predictor.text_features', + 'predictor.query_embed_patch', + 'predictor.query_embed_label', + # 'predictor.mask_token', + # 'predictor.text_pe', + 'predictor.class_embed','predictor.fc_bias', # useless in Hulk + ] # wrong list would somehow cause .cuda() stuck without error + loss_weight: 1.0 + transformer_predictor_cfg: + hidden_dim: 256 + num_queries: 20 + nheads: 8 + dim_feedforward: 2048 + dec_layers: 9 + pre_norm: False + arch: fan_in + enforce_input_project: False + mask_on: False + num_feature_levels: 1 + cross_pos_embed: anchor + self_attn_mask_type: patch_diag_label_row + cls_out_dim: 1 + detach_from_peddet: True + loss_cfg: + type: CEL_Sigmoid + + 7: + name: image_caption_joint + loss_weight: 90 + gres_ratio: 3 # int, > 0, = Task_GPUs / (world_Size/sum(all_gres_ratios)) + dataset: + type: CocoCaption + kwargs: + bert_dir: /mnt/path...to.../Hulk/experiments/release/bert-base-uncased + max_words: 40 + img_size: 384 + prompt: '' + split_type: train + joint_train: True + joint_train_anno_root: /mnt/path...to.../textreid/joint_reid_caption_train.json + synth_peds_root: /mnt/path...to.../textreid/SYNTH-PEDES/ + cuhk_peds_root: /mnt/path...to.../textreid/CUHK-PEDES/imgs/ + mals_root: /mnt/path...to.../textreid/MALS + luperson_root: /mnt/path...to.../textreid/LUPerson-T/imgs/ + + sampler: + batch_size: 100 # per card + shuffle_strategy: 1 + + backbone: + type: vit_base_patch16_mask + kwargs: + task_sp_list: [ 'rel_pos_h', 'rel_pos_w' ] # wrong list would somehow cause .cuda() stuck without error + pretrained: True + lms_checkpoint_train: fairscale + window: False + test_pos_mode: learnable_interpolate + learnable_pos: True + drop_path_rate: 0.2 + + vis_patch_token_ratio: 1 + vis_label_token_ratio: 0. + + patch_neck: + type: MAEdecoder_proj_neck + kwargs: + mask_dim: 256 + modality: rgb + + label_neck: + type: MAEdecoder_proj_neck + kwargs: + mask_dim: 256 + modality: text + + patch_adapter: + type: rgb_adapter # change to adapter_rgb + kwargs: + pretrained: True + stride_level: 1 + in_chans: 3 + learnable_pos: False + test_pos_mode: False + img_size: [ 384, 384 ] + task_sp_list: [ 'pos_embed' ] + + label_adapter: + type: text_adapter + kwargs: + image_caption: True + pretrained: True + max_tokens: 40 + task_sp_list: [ ] + + # fix kwargs of the project, which should be the same as that in the adapter, such as + # hidden_dim, patch_size, in_chans, stride_level are set in the solver - create_modal + patch_proj: + type: rgb_projector + kwargs: + loss_cfg: + type: MaskedMSELoss + kwargs: + stride: 1 + norm_pix_loss: True + pix_loss: True + pix_loss_weight: 1. + norm_pix_loss_weight: 1. + + label_proj: + type: text_projector + kwargs: + description_dict_name: caption_bert + image_caption: True + one_way_semantics: True + post_mul_norm: True + loss_cfg: + type: LabelSmoothingCrossEntropy + kwargs: + epsilon: 0.1 + loss_weight: 1. + task_sp_list: [ 'post_mul_norm', + 'text_vectors', + 'loss_fn'] + + decoder: + type: UniHCPv2_Head + kwargs: + predictor: 'hulk' + task: recons + modality_share_list: ['predictor.mask_token'] + task_sp_list: [ + 'predictor.query_embed_patch', + 'predictor.query_embed_label', + 'predictor.mask_token_buffer', + 'predictor.mask_token_proj', + 'predictor.captiontoken_ln', + 'predictor.class_embed','predictor.fc_bias', # useless in Hulk + ] # wrong list would somehow cause .cuda() stuck without error + loss_weight: 1.0 + transformer_predictor_cfg: + hidden_dim: 256 + num_queries: 20 + nheads: 8 + dim_feedforward: 2048 + dec_layers: 9 + pre_norm: False + arch: fan_in + enforce_input_project: False + mask_on: False + num_feature_levels: 1 + cross_pos_embed: anchor + cls_out_dim: 1 + self_attn_mask_type: caption_mask + caption_cfgs: { nn.parameter: True, vocal_size: 30522, lndo: True ,bert_feats_for_embedding: True } + mask_token_normal_init: True + detach_from_peddet: True + loss_cfg: + type: CEL_Sigmoid + + 8: + name: cocopose_256x192 + loss_weight: 28000 + gres_ratio: 3 # int, > 0, = Task_GPUs / (world_Size/sum(all_gres_ratios)) + backbone: + type: vit_base_patch16_mask + kwargs: + task_sp_list: [ 'rel_pos_h', 'rel_pos_w' ] # wrong list would somehow cause .cuda() stuck without error + pretrained: True + lms_checkpoint_train: fairscale + window: False + test_pos_mode: False # when torch.compile is True, this should be False + learnable_pos: True + drop_path_rate: 0.2 + img_size: 1344 + num_encoded_tokens: 192 + vis_patch_token_ratio: 1 + vis_label_token_ratio: 0. + + dataset: + type: COCOPosDatasetDev + kwargs: + ann_file: /mnt/path...to.../pose_public/coco/annotations/person_keypoints_train2017.json + img_prefix: /mnt/path...to.../pose_public/coco/train2017/ + use_udp: True + data_use_ratio: 1 + data_cfg: { + 'image_size':[192, 256], + 'heatmap_size':[48, 64], # originally, 'heatmap_size':[48, 64] + 'num_output_channels': 17, + 'num_joints': 17, + 'dataset_channel': [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16],], + 'inference_channel': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16], + 'soft_nms': False, + 'nms_thr': 1.0, + 'oks_thr': 0.9, + 'vis_thr': 0.2, + 'use_gt_bbox': False, + 'det_bqbox_thr': 0.0, + 'bbox_file': './COCO_val2017_detections_AP_H_56_person.json' + } + sampler: + batch_size: 176 # per card + shuffle_strategy: 1 + + patch_neck: + type: MAEdecoder_proj_neck + kwargs: + mask_dim: 256 # project to 256 dim for decoder + modality: rgb # patch modality + + label_neck: + type: MAEdecoder_proj_neck + kwargs: + mask_dim: 256 # project to 256 dim for decoder + modality: dense_labeling # label modality + + patch_adapter: + type: rgb_adapter # change to adapter_rgb + kwargs: + pretrained: True + stride_level: 1 + in_chans: 3 # 3 for rgb + learnable_pos: False # fixed position embedding, redundant parameter + test_pos_mode: False # PE parameters are interpolated from mae to 'img_size'/16, then use repeat(batchsize, 1, 1) + img_size: [ 256, 192 ] + task_sp_list: [ 'pos_embed' ] + + label_adapter: # for supervised training, the results of label adapter is useless + type: dense_labeling_adapter + kwargs: + pretrained: True + stride_level: 1 + in_chans: 17 # class num + learnable_pos: False + test_pos_mode: False + img_size: [ 256, 192 ] + dim_class_embed: 64 # embedding shape for class embedding. TODO: chance to text features + emb_padding_idx: 255 # + task_sp_list: [ 'pos_embed', + 'class_embed',] + + # fix kwargs of the project, which should be the same as that in the adapter, such as + # hidden_dim, patch_size, in_chans, stride_level are set in the solver - create_modal + patch_proj: + type: rgb_projector + kwargs: + loss_cfg: + type: MaskedMSELoss + kwargs: + stride: 1 + norm_pix_loss: True + pix_loss: True + pix_loss_weight: 1. + norm_pix_loss_weight: 1. + + + label_proj: + type: dense_labeling_projector + kwargs: + task_sp_list: [ 'post_mul_norm', + 'loss_fn', + 'upsample_network', + 'text_features',] + emb_padding_idx: 255 # should be the same with that in the input adapter + post_mul_norm: True + replace_post_mul_norm: False # replace the post_mul_norm(LN) with a linear layer + translate_weight_scale: 1 + cls_loss_branch: True + description_dict_name: checked_pose_coco_name # this key is only valid when we set text_prototype to be True + upsample_hidden_dim: 256 + task: pose + loss_cfg: + type: POS_FocalDiceLoss_bce_cls_emb + kwargs: + target_type: GaussianHeatMap + cfg: + num_classes: 17 + deep_supervision: True + ignore_blank: False + class_weight: 0.001 + dice_weight: 0.0 + mask_weight: 1.0 + redundant_queries: 1 + dec_layers: 9 + sample_weight: [ 0.38647058, 0.33606767, 0.33835369, 0.29253424, 0.29636332, + 0.4987484 , 0.49978854, 0.39467358, 0.40091822, 0.36039853, + 0.36918446, 0.43343303, 0.4345989 , 0.32999829, 0.33092793, + 0.27714171, 0.27754939 ] + eos_coef: 0.1 + + decoder: + type: UniHCPv2_Head + kwargs: + predictor: 'hulk' + task: recons + modality_share_list: ['predictor.mask_token'] + task_sp_list: [ + 'predictor.query_embed_patch', + 'predictor.query_embed_label', + 'predictor.class_embed', 'predictor.fc_bias', # useless in Hulk + ] # wrong list would somehow cause .cuda() stuck without error + loss_weight: 1.0 + transformer_predictor_cfg: + hidden_dim: 256 + num_queries: 20 # useless in Hulk + nheads: 8 + dim_feedforward: 2048 + dec_layers: 9 + pre_norm: False # indicate to use pre_norm or post_norm in (self-attn, FFN) + arch: fan_in # fan_in type to init the weights + enforce_input_project: False # placeholder, useless in Hulk + mask_on: False # placeholder, useless in Hulk + intermediate_output: True + num_feature_levels: 1 # placeholder, useless in Hulk + cross_pos_embed: anchor # indicate to use adaptive pose2d. should always be "anchor" in Hulk + cls_out_dim: 1 # placeholder, useless in Hulk + patch_pos_mode: False # Mode to generate pos_embed for patch tokens in decoder. + # given the fixed self.query_embed_patch (which has a same shape of that in adapter), + # repeat(batchsize, 1,1) + label_pos_mode: False + self_attn_mask_type: full # full for all attention + # type of mask for self-attention, + # shape [patch_tokens(rgb), label_tokens(sparse_labeling), fixed text tokens] + detach_from_peddet: True + adding_per_layer_pe: True # whether to add per-layer pe to the input of each decoder layer + use_adapt_pos2d: True + loss_cfg: + type: CEL_Sigmoid + + 9: + name: aic + loss_weight: 56000 + gres_ratio: 7 # int, > 0, = Task_GPUs / (world_Size/sum(all_gres_ratios)) + backbone: + type: vit_base_patch16_mask + kwargs: + task_sp_list: [ 'rel_pos_h', 'rel_pos_w' ] # wrong list would somehow cause .cuda() stuck without error + pretrained: True + lms_checkpoint_train: fairscale + window: False + test_pos_mode: False # when torch.compile is True, this should be False + learnable_pos: True + drop_path_rate: 0.2 + vis_patch_token_ratio: 1 + vis_label_token_ratio: 0. + + dataset: + type: MultiPoseDatasetDev + kwargs: + dataset_name: aic + ann_file: /mnt/path...to.../pose_public/ai_challenge/annotations/aic_train.json + img_prefix: /mnt/path...to.../pose_public/ai_challenge/ai_challenger_keypoint_train_20170902/keypoint_train_images_20170902/ + use_udp: True + data_use_ratio: 1 + data_cfg: { + 'image_size': [ 192, 256 ], + 'heatmap_size': [ 48, 64 ], # originally, 'heatmap_size':[48, 64] + 'num_output_channels': 14, + 'num_joints': 14, + 'dataset_channel': [ [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 ], ], + 'inference_channel': [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 ], + + 'flip_pairs': [ [ 0, 3 ], [ 1, 4 ], [ 2, 5 ], [ 6, 9 ], [ 7, 10 ], [ 8, 11 ], ], + 'upper_body_ids': [ 0, 1, 2, 3, 4, 5, 12, 13 ], + 'lower_body_ids': [ 6, 7, 8, 9, 10, 11 ], + 'use_different_joint_weights': False, + 'joint_weights': [ 1., 1.2, 1.5, 1., 1.2, 1.5, 1., 1.2, 1.5, 1., 1.2, 1.5, 1., 1. ], + + 'soft_nms': False, + 'nms_thr': 1.0, + 'oks_thr': 0.9, + 'vis_thr': 0.2, + 'use_gt_bbox': False, + 'det_bqbox_thr': 0.0, + 'bbox_file': './COCO_val2017_detections_AP_H_56_person.json' + } + sampler: + batch_size: 189 # per card + shuffle_strategy: 1 + + patch_neck: + type: MAEdecoder_proj_neck + kwargs: + mask_dim: 256 # project to 256 dim for decoder + modality: rgb # patch modality + + label_neck: + type: MAEdecoder_proj_neck + kwargs: + mask_dim: 256 # project to 256 dim for decoder + modality: dense_labeling # label modality + + patch_adapter: + type: rgb_adapter # change to adapter_rgb + kwargs: + pretrained: True + stride_level: 1 + in_chans: 3 # 3 for rgb + learnable_pos: False # fixed position embedding, redundant parameter + test_pos_mode: False # PE parameters are interpolated from mae to 'img_size'/16, then use repeat(batchsize, 1, 1) + img_size: [ 256, 192 ] + task_sp_list: [ 'pos_embed' ] + + + label_adapter: + type: dense_labeling_adapter + kwargs: + pretrained: True + stride_level: 1 + in_chans: 14 # class num + learnable_pos: False + test_pos_mode: False + img_size: [ 256, 192 ] + dim_class_embed: 64 # embedding shape for class embedding. TODO: chance to text features + emb_padding_idx: 255 # + task_sp_list: [ 'pos_embed', + 'class_embed', ] + + # fix kwargs of the project, which should be the same as that in the adapter, such as + # hidden_dim, patch_size, in_chans, stride_level are set in the solver - create_modal + patch_proj: + type: rgb_projector + kwargs: + loss_cfg: + type: MaskedMSELoss + kwargs: + stride: 1 + norm_pix_loss: True + pix_loss: True + pix_loss_weight: 1. + norm_pix_loss_weight: 1. + + + label_proj: + type: dense_labeling_projector + kwargs: + task_sp_list: [ 'post_mul_norm', + 'upsample_network', + 'loss_fn', + 'text_features', ] + emb_padding_idx: 255 # should be the same with that in the input adapter + post_mul_norm: True + replace_post_mul_norm: False # replace the post_mul_norm(LN) with a linear layer + translate_weight_scale: 1 # scale the translate weight to 6 times of the original value(1), NOTE that we should + cls_loss_branch: True + description_dict_name: checked_pose_aic_name # this key is only valid when we set text_prototype to be True + task: pose + upsample_hidden_dim: 256 + # dim of hidden features in upsampling network + loss_cfg: + type: POS_FocalDiceLoss_bce_cls_emb + kwargs: + target_type: GaussianHeatMap + cfg: + num_classes: 14 + deep_supervision: True + ignore_blank: False + class_weight: 0.001 + dice_weight: 0.0 + mask_weight: 1.0 + redundant_queries: 1 + dec_layers: 9 + sample_weight: [ 0.98064613, 0.977893565, 0.97715356, 0.98064613, 0.977893565, + 0.97715356, 0.9594528200000001, 0.85703431, 0.7504981850000001, + 0.9594528200000001, 0.85703431, 0.7504981850000001, 0.97149646, 0.98605877 ] + + eos_coef: 0.1 + + decoder: + type: UniHCPv2_Head + kwargs: + predictor: 'hulk' + task: recons + modality_share_list: ['predictor.mask_token'] + task_sp_list: [ + 'predictor.query_embed_patch', + 'predictor.query_embed_label', + 'predictor.class_embed','predictor.fc_bias', # useless in Hulk + ] # wrong list would somehow cause .cuda() stuck without error + loss_weight: 1.0 + transformer_predictor_cfg: + hidden_dim: 256 + num_queries: 20 # useless in Hulk + nheads: 8 + dim_feedforward: 2048 + dec_layers: 9 + pre_norm: False # indicate to use pre_norm or post_norm in (self-attn, FFN) + arch: fan_in # fan_in type to init the weights + enforce_input_project: False # placeholder, useless in Hulk + mask_on: False # placeholder, useless in Hulk + intermediate_output: True + num_feature_levels: 1 # placeholder, useless in Hulk + cross_pos_embed: anchor # indicate to use adaptive pose2d. should always be "anchor" in Hulk + cls_out_dim: 1 # placeholder, useless in Hulk + patch_pos_mode: False # Mode to generate pos_embed for patch tokens in decoder. + label_pos_mode: False + self_attn_mask_type: full + detach_from_peddet: True + adding_per_layer_pe: True + use_adapt_pos2d: True + + loss_cfg: + type: CEL_Sigmoid + + 10: + name: h36m_pose_256x256 + loss_weight: 3192 + gres_ratio: 2 # int, > 0, = Task_GPUs / (world_Size/sum(all_gres_ratios)) + backbone: + type: vit_base_patch16_mask + kwargs: + task_sp_list: [ 'rel_pos_h', 'rel_pos_w' ] # wrong list would somehow cause .cuda() stuck without error + pretrained: True + lms_checkpoint_train: fairscale + window: False + test_pos_mode: False # when torch.compile is True, this should be False + learnable_pos: True + drop_path_rate: 0.2 + img_size: 1344 + num_encoded_tokens: 192 + vis_patch_token_ratio: 1 + vis_label_token_ratio: 0. + + dataset: + type: COCOPosDatasetDev + kwargs: + ann_file: /mnt/path...to.../pose_public/h36m/processed/annotation_body2d/h36m_coco_train.json + img_prefix: /mnt/path...to.../pose_public/h36m/processed/images/ + use_udp: True + data_use_ratio: 1 + data_cfg: { + 'image_size': [ 256, 256 ], + 'heatmap_size': [ 64, 64 ], # originally, 'heatmap_size':[48, 64] + 'num_output_channels': 17, + 'num_joints': 17, + 'dataset_channel': [ [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 ], ], + 'inference_channel': [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 ], + 'soft_nms': False, + 'nms_thr': 1.0, + 'oks_thr': 0.9, + 'vis_thr': 0.2, + 'use_gt_bbox': True, + 'det_bqbox_thr': 0.0, + 'bbox_file': './COCO_val2017_detections_AP_H_56_person.json' + } + sampler: + batch_size: 132 # per card + shuffle_strategy: 1 + + patch_neck: + type: MAEdecoder_proj_neck + kwargs: + mask_dim: 256 # project to 256 dim for decoder + modality: rgb # patch modality + + label_neck: + type: MAEdecoder_proj_neck + kwargs: + mask_dim: 256 # project to 256 dim for decoder + modality: dense_labeling # label modality + + patch_adapter: + type: rgb_adapter # change to adapter_rgb + kwargs: + pretrained: True + stride_level: 1 + in_chans: 3 # 3 for rgb + learnable_pos: False # fixed position embedding, redundant parameter + test_pos_mode: False # PE parameters are interpolated from mae to 'img_size'/16, then use repeat(batchsize, 1, 1) + img_size: [ 256, 256 ] + task_sp_list: [ 'pos_embed' ] + + label_adapter: + type: dense_labeling_adapter + kwargs: + pretrained: True + stride_level: 1 + in_chans: 17 # class num + learnable_pos: False + test_pos_mode: False + img_size: [ 256, 256 ] + dim_class_embed: 64 # embedding shape for class embedding. TODO: chance to text features + emb_padding_idx: 255 # + task_sp_list: [ 'pos_embed', + 'class_embed', ] + + patch_proj: + type: rgb_projector + kwargs: + loss_cfg: + type: MaskedMSELoss + kwargs: + stride: 1 + norm_pix_loss: True + pix_loss: True + pix_loss_weight: 1. + norm_pix_loss_weight: 1. + + + label_proj: + type: dense_labeling_projector + kwargs: + task_sp_list: [ 'post_mul_norm', + 'post_mul_norm_cls', + 'loss_fn', + 'upsample_network', + 'text_features', ] + emb_padding_idx: 255 # should be the same with that in the input adapter + post_mul_norm: True + replace_post_mul_norm: False # replace the post_mul_norm(LN) with a linear layer + translate_weight_scale: 1 # scale the translate weight to 6 times of the original value(1), NOTE that we should + cls_loss_branch: True + description_dict_name: checked_pose_h3m6_name # this key is only valid when we set text_prototype to be True + upsample_hidden_dim: 256 + task: pose + + loss_cfg: + type: POS_FocalDiceLoss_bce_cls_emb + kwargs: + target_type: GaussianHeatMap + cfg: + num_classes: 17 + deep_supervision: True + ignore_blank: False + class_weight: 0.001 + dice_weight: 0.0 + mask_weight: 1.0 + redundant_queries: 1 + dec_layers: 9 + sample_weight: [ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1. ] + eos_coef: 0.1 + + decoder: + type: UniHCPv2_Head + kwargs: + predictor: 'hulk' + task: recons + modality_share_list: [ 'predictor.mask_token' ] + task_sp_list: [ + 'predictor.query_embed_patch', + 'predictor.query_embed_label', + 'predictor.class_embed', 'predictor.fc_bias', # useless in Hulk + ] # wrong list would somehow cause .cuda() stuck without error + loss_weight: 1.0 + transformer_predictor_cfg: + hidden_dim: 256 + num_queries: 20 # useless in Hulk + nheads: 8 + dim_feedforward: 2048 + dec_layers: 9 + pre_norm: False # indicate to use pre_norm or post_norm in (self-attn, FFN) + arch: fan_in # fan_in type to init the weights + enforce_input_project: False # placeholder, useless in Hulk + mask_on: False # placeholder, useless in Hulk + intermediate_output: True + num_feature_levels: 1 # placeholder, useless in Hulk + cross_pos_embed: anchor # indicate to use adaptive pose2d. should always be "anchor" in Hulk + cls_out_dim: 1 # placeholder, useless in Hulk + patch_pos_mode: False # Mode to generate pos_embed for patch tokens in decoder. + label_pos_mode: False + self_attn_mask_type: full # full for all attention + detach_from_peddet: True # Not use the peddet_cfgs to modify the model structure + adding_per_layer_pe: True # whether to add per-layer pe to the input of each decoder layer + use_adapt_pos2d: True + loss_cfg: + type: CEL_Sigmoid + + 11: + name: posetrack_256x192 + loss_weight: 12335 + gres_ratio: 2 # int, > 0, = Task_GPUs / (world_Size/sum(all_gres_ratios)) + backbone: + type: vit_base_patch16_mask + kwargs: + task_sp_list: [ 'rel_pos_h', 'rel_pos_w' ] # wrong list would somehow cause .cuda() stuck without error + pretrained: True + lms_checkpoint_train: fairscale + window: False + test_pos_mode: False # when torch.compile is True, this should be False + learnable_pos: True + drop_path_rate: 0.2 + img_size: 1344 + num_encoded_tokens: 192 + vis_patch_token_ratio: 1 + vis_label_token_ratio: 0. + + dataset: + type: MultiPoseDatasetDev + kwargs: + ann_file: /mnt/path...to.../pose_public/PoseChallenge2018/annotations/posetrack18_train.json + img_prefix: /mnt/path...to.../pose_public/PoseChallenge2018/ + use_udp: True + dataset_name: 'posetrack' + data_cfg: { + 'image_size':[192, 256], + 'heatmap_size':[48, 64], + 'num_output_channels': 15, + 'num_joints': 15, + 'dataset_channel': [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14],], + 'inference_channel': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14], + + 'flip_pairs': [[3, 4], [5, 6], [7, 8], [9, 10], [11, 12], [13, 14], ], + 'upper_body_ids': [0, 1, 2, 3, 4, 5, 6, 7, 8,], + 'lower_body_ids': [9, 10, 11, 12, 13, 14], + 'use_different_joint_weights': False, + 'joint_weights': [1., 1., 1., 1., 1., 1.2, 1.2, 1.5, 1.5, 1., 1., 1.2, 1.2, 1.5, 1.5], + + 'soft_nms': False, + 'nms_thr': 1.0, + 'oks_thr': 0.9, + 'vis_thr': 0.2, + 'use_gt_bbox': True, + 'det_bbox_thr': 0.0, + 'bbox_file': 'COCO_val2017_detections_AP_H_56_person.json' + } + sampler: + batch_size: 170 # per card + shuffle_strategy: 1 + + patch_neck: + type: MAEdecoder_proj_neck + kwargs: + mask_dim: 256 # project to 256 dim for decoder + modality: rgb # patch modality + + label_neck: + type: MAEdecoder_proj_neck + kwargs: + mask_dim: 256 # project to 256 dim for decoder + modality: dense_labeling # label modality + + patch_adapter: + type: rgb_adapter # change to adapter_rgb + kwargs: + pretrained: True + stride_level: 1 + in_chans: 3 # 3 for rgb + learnable_pos: False # fixed position embedding, redundant parameter + test_pos_mode: False # PE parameters are interpolated from mae to 'img_size'/16, then use repeat(batchsize, 1, 1) + img_size: [ 256, 192 ] + task_sp_list: [ 'pos_embed' ] + + label_adapter: + type: dense_labeling_adapter + kwargs: + pretrained: True + stride_level: 1 + in_chans: 15 # class num + learnable_pos: False + test_pos_mode: False + img_size: [ 256, 192 ] + dim_class_embed: 64 # embedding shape for class embedding. TODO: chance to text features + emb_padding_idx: 255 # + task_sp_list: [ 'pos_embed', + 'class_embed',] + + patch_proj: + type: rgb_projector + kwargs: + loss_cfg: + type: MaskedMSELoss + kwargs: + stride: 1 + norm_pix_loss: True + pix_loss: True + pix_loss_weight: 1. + norm_pix_loss_weight: 1. + + + label_proj: + type: dense_labeling_projector + kwargs: + task_sp_list: [ 'post_mul_norm', + 'post_mul_norm_cls', + 'loss_fn', + 'upsample_network', + 'text_features',] + emb_padding_idx: 255 # should be the same with that in the input adapter + post_mul_norm: True + replace_post_mul_norm: False # replace the post_mul_norm(LN) with a linear layer + translate_weight_scale: 1 # scale the translate weight to 6 times of the original value(1), NOTE that we should + cls_loss_branch: True + description_dict_name: checked_pose_posetrack_name # this key is only valid when we set text_prototype to be True + upsample_hidden_dim: 256 + task: pose + + loss_cfg: + type: POS_FocalDiceLoss_bce_cls_emb + kwargs: + target_type: GaussianHeatMap + cfg: + num_classes: 15 + deep_supervision: True + ignore_blank: False + class_weight: 0.001 + dice_weight: 0.0 + mask_weight: 1.0 + redundant_queries: 1 + dec_layers: 9 + sample_weight: [ 0.81831569, 0.75692071, 0.74175951, + 0.789882655, 0.789882655, 0.659771425, 0.659771425, 0.625614735, + 0.625614735, 0.737772405, 0.737772405, 0.665022735, 0.665022735, + 0.59563039, 0.5956303 + ] + eos_coef: 0.1 + + decoder: + type: UniHCPv2_Head + kwargs: + predictor: 'hulk' + task: recons + modality_share_list: ['predictor.mask_token'] + task_sp_list: [ + 'predictor.query_embed_patch', + 'predictor.query_embed_label', + 'predictor.class_embed', 'predictor.fc_bias', # useless in Hulk + ] # wrong list would somehow cause .cuda() stuck without error + loss_weight: 1.0 + transformer_predictor_cfg: + hidden_dim: 256 + num_queries: 20 # useless in Hulk + nheads: 8 + dim_feedforward: 2048 + dec_layers: 9 # currently 6 layers for debug but we should use 9 layers afterwards + pre_norm: False # indicate to use pre_norm or post_norm in (self-attn, FFN) + arch: fan_in # fan_in type to init the weights + enforce_input_project: False # placeholder, useless in Hulk + mask_on: False # placeholder, useless in Hulk + intermediate_output: True + num_feature_levels: 1 # placeholder, useless in Hulk + cross_pos_embed: anchor # indicate to use adaptive pose2d. should always be "anchor" in Hulk + cls_out_dim: 1 # placeholder, useless in Hulk + patch_pos_mode: False # Mode to generate pos_embed for patch tokens in decoder. + # given the fixed self.query_embed_patch (which has a same shape of that in adapter), + # repeat(batchsize, 1,1) + label_pos_mode: False + self_attn_mask_type: full # full for all attention + # type of mask for self-attention, + # shape [patch_tokens(rgb), label_tokens(sparse_labeling), fixed text tokens] + detach_from_peddet: True # Not use the peddet_cfgs to modify the model structure + adding_per_layer_pe: True # whether to add per-layer pe to the input of each decoder layer + use_adapt_pos2d: True + loss_cfg: + type: CEL_Sigmoid + + 12: + name: jrdb_256x192 + loss_weight: 8223 + gres_ratio: 2 # int, > 0, = Task_GPUs / (world_Size/sum(all_gres_ratios)) + backbone: + type: vit_base_patch16_mask + kwargs: + task_sp_list: [ 'rel_pos_h', 'rel_pos_w' ] # wrong list would somehow cause .cuda() stuck without error + pretrained: True + lms_checkpoint_train: fairscale + window: False + test_pos_mode: False # when torch.compile is True, this should be False + learnable_pos: True + drop_path_rate: 0.2 + img_size: 1344 + num_encoded_tokens: 192 + vis_patch_token_ratio: 1 + vis_label_token_ratio: 0. + + dataset: + type: MultiPoseDatasetDev + kwargs: + ann_file: /mnt/path...to.../pose_public/JRDB2019/train.json + img_prefix: /mnt/path...to.../pose_public/JRDB2022/images/ + use_udp: True + dataset_name: 'JRDB2022' + data_cfg: { + 'image_size':[192, 256], + 'heatmap_size':[48, 64], + 'num_output_channels': 17, + 'num_joints': 17, + 'dataset_channel': [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16],], + 'inference_channel': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,], + 'flip_pairs': [[2, 5], [3, 6], [4, 7], [8, 11], [9, 12], [10, 13], ], + 'upper_body_ids': [0, 1, 2, 3, 4, 5, 6, 7, 8, 11, 14, 15, 16,], + 'lower_body_ids': [9, 10, 12, 13], + 'use_different_joint_weights': False, + 'joint_weights': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + + 'soft_nms': False, + 'nms_thr': 1.0, + 'oks_thr': 0.9, + 'vis_thr': 0.2, + 'use_gt_bbox': True, + 'det_bbox_thr': 0.0, + 'bbox_file': 'COCO_val2017_detections_AP_H_56_person.json' + + } + sampler: + batch_size: 170 # per card + shuffle_strategy: 1 + + patch_neck: + type: MAEdecoder_proj_neck + kwargs: + mask_dim: 256 # project to 256 dim for decoder + modality: rgb # patch modality + + label_neck: + type: MAEdecoder_proj_neck + kwargs: + mask_dim: 256 # project to 256 dim for decoder + modality: dense_labeling # label modality + + patch_adapter: + type: rgb_adapter # change to adapter_rgb + kwargs: + pretrained: True + stride_level: 1 + in_chans: 3 # 3 for rgb + learnable_pos: False # fixed position embedding, redundant parameter + test_pos_mode: False # PE parameters are interpolated from mae to 'img_size'/16, then use repeat(batchsize, 1, 1) + img_size: [ 256, 192 ] + task_sp_list: [ 'pos_embed' ] + + label_adapter: # for supvervised training, the results of label adapter is useless + type: dense_labeling_adapter + kwargs: + pretrained: True + stride_level: 1 + in_chans: 17 # class num + learnable_pos: False + test_pos_mode: False + img_size: [ 256, 192 ] + dim_class_embed: 64 # embedding shape for class embedding. TODO: chance to text features + emb_padding_idx: 255 # + task_sp_list: [ 'pos_embed', + 'class_embed', ] + + patch_proj: + type: rgb_projector + kwargs: + loss_cfg: + type: MaskedMSELoss + kwargs: + stride: 1 + norm_pix_loss: True + pix_loss: True + pix_loss_weight: 1. + norm_pix_loss_weight: 1. + + + label_proj: + type: dense_labeling_projector + kwargs: + task_sp_list: [ 'post_mul_norm', + 'post_mul_norm_cls', + 'loss_fn', + 'upsample_network', + 'text_features', ] + emb_padding_idx: 255 # should be the same with that in the input adapter + post_mul_norm: True + replace_post_mul_norm: False # replace the post_mul_norm(LN) with a linear layer + translate_weight_scale: 1 # scale the translate weight to 6 times of the original value(1), NOTE that we should + cls_loss_branch: True + description_dict_name: checked_pose_jrdb_name # this key is only valid when we set text_prototype to be True + upsample_hidden_dim: 256 + task: pose + + loss_cfg: + type: POS_FocalDiceLoss_bce_cls_emb + kwargs: + target_type: GaussianHeatMap + cfg: + num_classes: 17 + deep_supervision: True + ignore_blank: False + class_weight: 0.001 + dice_weight: 0.0 + mask_weight: 1.0 + redundant_queries: 1 + dec_layers: 9 + sample_weight: [ + 0.90384634, 0.82524231, 0.89927266, 0.90945538, 0.92796942, 0.89927266, + 0.90945538, 0.92796942, 0.9912784, 0.84353379, 0.97898463, 0.9912784, + 0.84353379, 0.97898463, 0.97418356, 0.94284516, 0.93372039, + ] + eos_coef: 0.1 + + decoder: + type: UniHCPv2_Head + kwargs: + predictor: 'hulk' + task: recons + modality_share_list: [ 'predictor.mask_token' ] + task_sp_list: [ + 'predictor.query_embed_patch', + 'predictor.query_embed_label', + 'predictor.class_embed', 'predictor.fc_bias', # useless in Hulk + ] # wrong list would somehow cause .cuda() stuck without error + loss_weight: 1.0 + transformer_predictor_cfg: + hidden_dim: 256 + num_queries: 20 # useless in Hulk + nheads: 8 + dim_feedforward: 2048 + dec_layers: 9 # currently 6 layers for debug but we should use 9 layers afterwards + pre_norm: False # indicate to use pre_norm or post_norm in (self-attn, FFN) + arch: fan_in # fan_in type to init the weights + enforce_input_project: False # placeholder, useless in Hulk + mask_on: False # placeholder, useless in Hulk + intermediate_output: True + num_feature_levels: 1 # placeholder, useless in Hulk + cross_pos_embed: anchor # indicate to use adaptive pose2d. should always be "anchor" in Hulk + cls_out_dim: 1 # placeholder, useless in Hulk + patch_pos_mode: False # Mode to generate pos_embed for patch tokens in decoder. + label_pos_mode: False + self_attn_mask_type: full + detach_from_peddet: True # Not use the peddet_cfgs to modify the model structure + adding_per_layer_pe: True # whether to add per-layer pe to the input of each decoder layer + use_adapt_pos2d: True + loss_cfg: + type: CEL_Sigmoid + + 13: + name: MHP_256x192 + loss_weight: 3192 + gres_ratio: 1 # int, > 0, = Task_GPUs / (world_Size/sum(all_gres_ratios)) + backbone: + type: vit_base_patch16_mask + kwargs: + task_sp_list: [ 'rel_pos_h', 'rel_pos_w' ] # wrong list would somehow cause .cuda() stuck without error + pretrained: True + lms_checkpoint_train: fairscale + window: False + test_pos_mode: False # when torch.compile is True, this should be False + learnable_pos: True + drop_path_rate: 0.2 + img_size: 1344 + num_encoded_tokens: 192 + vis_patch_token_ratio: 1 + vis_label_token_ratio: 0. + + dataset: + type: MultiPoseDatasetDev + kwargs: + ann_file: /mnt/path...to.../pose_public/pose_MHPv2/train.json + img_prefix: /mnt/path...to.../pose_public/pose_MHPv2/train/images + use_udp: True + dataset_name: 'mhp' + data_cfg: { + 'image_size':[192, 256], + 'heatmap_size':[48, 64], + 'num_output_channels': 16, + 'num_joints': 16, + 'dataset_channel': [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,],], + 'inference_channel': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,], + + 'flip_pairs': [[0, 5], [1, 4], [2, 3], [10, 15], [11, 14], [12, 13], ], + 'upper_body_ids': [7, 8, 9, 10, 11, 12, 13, 14, 15], + 'lower_body_ids': [0, 1, 2, 3, 4, 5, 6], + 'use_different_joint_weights': False, + 'joint_weights': [1.5, 1.2, 1., 1., 1.2, 1.5, 1., 1., 1., 1., 1.5, 1.2, 1., 1., 1.2, 1.5], + + 'soft_nms': False, + 'nms_thr': 1.0, + 'oks_thr': 0.9, + 'vis_thr': 0.2, + 'use_gt_bbox': True, + 'det_bbox_thr': 0.0, + 'bbox_file': 'COCO_val2017_detections_AP_H_56_person.json' + + } + sampler: + batch_size: 132 # per card + shuffle_strategy: 1 + + patch_neck: + type: MAEdecoder_proj_neck + kwargs: + mask_dim: 256 # project to 256 dim for decoder + modality: rgb # patch modality + # task_sp_list: ['mask_map'] + + label_neck: + type: MAEdecoder_proj_neck + kwargs: + mask_dim: 256 # project to 256 dim for decoder + modality: dense_labeling # label modality + + patch_adapter: + type: rgb_adapter # change to adapter_rgb + kwargs: + pretrained: True + stride_level: 1 + in_chans: 3 # 3 for rgb + learnable_pos: False # fixed position embedding, redundant parameter + test_pos_mode: False # PE parameters are interpolated from mae to 'img_size'/16, then use repeat(batchsize, 1, 1) + img_size: [ 256, 192 ] + task_sp_list: [ 'pos_embed' ] + + label_adapter: + type: dense_labeling_adapter + kwargs: + pretrained: True + stride_level: 1 + in_chans: 16 # class num + learnable_pos: False + test_pos_mode: False + img_size: [ 256, 192 ] + dim_class_embed: 64 # embedding shape for class embedding. TODO: chance to text features + emb_padding_idx: 255 # + task_sp_list: [ 'pos_embed', + 'class_embed',] + + patch_proj: + type: rgb_projector + kwargs: + loss_cfg: + type: MaskedMSELoss + kwargs: + stride: 1 + norm_pix_loss: True + pix_loss: True + pix_loss_weight: 1. + norm_pix_loss_weight: 1. + + + label_proj: + type: dense_labeling_projector + kwargs: + task_sp_list: [ 'post_mul_norm', + 'post_mul_norm_cls', + 'loss_fn', + 'upsample_network', + 'text_features',] + emb_padding_idx: 255 # should be the same with that in the input adapter + post_mul_norm: True + replace_post_mul_norm: False # replace the post_mul_norm(LN) with a linear layer + translate_weight_scale: 1 # scale the translate weight to 6 times of the original value(1), NOTE that we should + cls_loss_branch: True + description_dict_name: checked_pose_mhp_name # this key is only valid when we set text_prototype to be True + upsample_hidden_dim: 256 + + task: pose + + loss_cfg: + type: POS_FocalDiceLoss_bce_cls_emb + kwargs: + target_type: GaussianHeatMap + cfg: + num_classes: 16 + deep_supervision: True + ignore_blank: False + class_weight: 0.001 + dice_weight: 0.0 + mask_weight: 1.0 + redundant_queries: 1 + dec_layers: 9 + sample_weight: [ 0.463188095, 0.6055728499999999, 0.732992125, 0.732992125, 0.6055728499999999, + 0.463188095, 0.74209784, 0.92598716, 0.9642093, 0.98767263, + 0.67156195, 0.6861140800000001, 0.85427203, 0.85427203, 0.6861140800000001, + 0.67156195 + ] + eos_coef: 0.1 + + decoder: + type: UniHCPv2_Head + kwargs: + predictor: 'hulk' + task: recons + modality_share_list: ['predictor.mask_token'] + task_sp_list: [ + 'predictor.query_embed_patch', + 'predictor.query_embed_label', + 'predictor.class_embed', 'predictor.fc_bias', # useless in Hulk + ] # wrong list would somehow cause .cuda() stuck without error + loss_weight: 1.0 + transformer_predictor_cfg: + hidden_dim: 256 + num_queries: 20 # useless in Hulk + nheads: 8 + dim_feedforward: 2048 + dec_layers: 9 + pre_norm: False # indicate to use pre_norm or post_norm in (self-attn, FFN) + arch: fan_in # fan_in type to init the weights + enforce_input_project: False # placeholder, useless in Hulk + mask_on: False # placeholder, useless in Hulk + intermediate_output: True + num_feature_levels: 1 # placeholder, useless in Hulk + cross_pos_embed: anchor # indicate to use adaptive pose2d. should always be "anchor" in Hulk + cls_out_dim: 1 # placeholder, useless in Hulk + patch_pos_mode: False # Mode to generate pos_embed for patch tokens in decoder. + # given the fixed self.query_embed_patch (which has a same shape of that in adapter), + # repeat(batchsize, 1,1) + label_pos_mode: False + self_attn_mask_type: full # full for all attention + # type of mask for self-attention, + # shape [patch_tokens(rgb), label_tokens(sparse_labeling), fixed text tokens] + detach_from_peddet: True # Not use the peddet_cfgs to modify the model structure + adding_per_layer_pe: True # whether to add per-layer pe to the input of each decoder layer + use_adapt_pos2d: True + loss_cfg: + type: CEL_Sigmoid + + + 14: + name: mpi_inf_3dhp_256x192 + loss_weight: 8223 + gres_ratio: 2 # int, > 0, = Task_GPUs / (world_Size/sum(all_gres_ratios)) + backbone: + type: vit_base_patch16_mask + kwargs: + task_sp_list: [ 'rel_pos_h', 'rel_pos_w' ] # wrong list would somehow cause .cuda() stuck without error + pretrained: True + lms_checkpoint_train: fairscale + window: False + test_pos_mode: False # when torch.compile is True, this should be False + learnable_pos: True + drop_path_rate: 0.2 + img_size: 1344 + num_encoded_tokens: 192 + vis_patch_token_ratio: 1 + vis_label_token_ratio: 0. + + dataset: + type: MultiPoseDatasetDev + kwargs: + ann_file: /mnt/path...to.../pose_public/mpi_inf_3dhp/train.json + img_prefix: /mnt/path...to.../pose_public/mpi_inf_3dhp/processed/images/ + use_udp: True + dataset_name: '3DHP' + data_cfg: { + 'image_size':[192, 256], + 'heatmap_size':[48, 64], + 'num_output_channels': 136, + 'num_joints': 17, + 'dataset_channel': [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16],], + 'inference_channel': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,], + 'flip_pairs': [[2, 5], [3, 6], [4, 7], [8, 11], [9, 12], [10, 13], ], + 'upper_body_ids': [0, 1, 2, 3, 4, 5, 6, 7, 8, 11, 14, 15, 16,], + 'lower_body_ids': [9, 10, 12, 13], + 'use_different_joint_weights': False, + 'joint_weights': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + + 'soft_nms': False, + 'nms_thr': 1.0, + 'oks_thr': 0.9, + 'vis_thr': 0.2, + 'use_gt_bbox': True, + 'det_bbox_thr': 0.0, + 'bbox_file': 'COCO_val2017_detections_AP_H_56_person.json' + + } + sampler: + batch_size: 170 # per card + shuffle_strategy: 1 + + patch_neck: + type: MAEdecoder_proj_neck + kwargs: + mask_dim: 256 # project to 256 dim for decoder + modality: rgb # patch modality + # task_sp_list: ['mask_map'] + + label_neck: + type: MAEdecoder_proj_neck + kwargs: + mask_dim: 256 # project to 256 dim for decoder + modality: dense_labeling # label modality + + patch_adapter: + type: rgb_adapter # change to adapter_rgb + kwargs: + pretrained: True + stride_level: 1 + in_chans: 3 # 3 for rgb + learnable_pos: False # fixed position embedding, redundant parameter + test_pos_mode: False # PE parameters are interpolated from mae to 'img_size'/16, then use repeat(batchsize, 1, 1) + img_size: [ 256, 192 ] + task_sp_list: [ 'pos_embed' ] + + label_adapter: # for supvervised training, the results of label adapter is useless + type: dense_labeling_adapter + kwargs: + pretrained: True + stride_level: 1 + in_chans: 17 # class num + learnable_pos: False + test_pos_mode: False + img_size: [ 256, 192 ] + dim_class_embed: 64 # embedding shape for class embedding. TODO: chance to text features + emb_padding_idx: 255 # + task_sp_list: [ 'pos_embed', + 'class_embed',] + + patch_proj: + type: rgb_projector + kwargs: + loss_cfg: + type: MaskedMSELoss + kwargs: + stride: 1 + norm_pix_loss: True + pix_loss: True + pix_loss_weight: 1. + norm_pix_loss_weight: 1. + + + label_proj: + type: dense_labeling_projector + kwargs: + task_sp_list: [ 'post_mul_norm', + 'post_mul_norm_cls', + 'loss_fn', + 'upsample_network', + 'text_features',] + emb_padding_idx: 255 # should be the same with that in the input adapter + post_mul_norm: True + + replace_post_mul_norm: False # replace the post_mul_norm(LN) with a linear layer + translate_weight_scale: 1 # scale the translate weight to 6 times of the original value(1), NOTE that we should + cls_loss_branch: True + description_dict_name: checked_pose_mpi_inf_3dhp_name # this key is only valid when we set text_prototype to be True + upsample_hidden_dim: 256 + + task: pose + + loss_cfg: + type: POS_FocalDiceLoss_bce_cls_emb + kwargs: + target_type: GaussianHeatMap + cfg: + num_classes: 17 + deep_supervision: True + ignore_blank: False + class_weight: 0.001 + dice_weight: 0.0 + mask_weight: 1.0 + redundant_queries: 1 + dec_layers: 9 + sample_weight: [ + 0.97905498, 0.98151887, 0.98018951, 0.97778281, 0.97704955, + 0.98018951, 0.97778281, 0.97704955, 0.98309006, 0.98060388, + 0.97209657, 0.98309006, 0.98060388, 0.97209657, 0.98405158, + 0.98242514, 0.98066688 + ] + eos_coef: 0.1 + + decoder: + type: UniHCPv2_Head + kwargs: + predictor: 'hulk' + task: recons + modality_share_list: ['predictor.mask_token'] + task_sp_list: [ + 'predictor.query_embed_patch', + 'predictor.query_embed_label', + 'predictor.class_embed', 'predictor.fc_bias', # useless in Hulk + ] # wrong list would somehow cause .cuda() stuck without error + loss_weight: 1.0 + transformer_predictor_cfg: + hidden_dim: 256 + num_queries: 20 # useless in Hulk + nheads: 8 + dim_feedforward: 2048 + dec_layers: 9 + pre_norm: False # indicate to use pre_norm or post_norm in (self-attn, FFN) + arch: fan_in # fan_in type to init the weights + enforce_input_project: False # placeholder, useless in Hulk + mask_on: False # placeholder, useless in Hulk + intermediate_output: True + num_feature_levels: 1 # placeholder, useless in Hulk + cross_pos_embed: anchor # indicate to use adaptive pose2d. should always be "anchor" in Hulk + cls_out_dim: 1 # placeholder, useless in Hulk + patch_pos_mode: False # Mode to generate pos_embed for patch tokens in decoder. + # given the fixed self.query_embed_patch (which has a same shape of that in adapter), + # repeat(batchsize, 1,1) + label_pos_mode: False + self_attn_mask_type: full # full for all attention + # type of mask for self-attention, + # shape [patch_tokens(rgb), label_tokens(sparse_labeling), fixed text tokens] + detach_from_peddet: True # Not use the peddet_cfgs to modify the model structure + adding_per_layer_pe: True # whether to add per-layer pe to the input of each decoder layer + use_adapt_pos2d: True + + loss_cfg: + type: CEL_Sigmoid + + + 15: + name: 3dpw_256x192 + loss_weight: 2055 + gres_ratio: 1 # int, > 0, = Task_GPUs / (world_Size/sum(all_gres_ratios)) + backbone: + type: vit_base_patch16_mask + kwargs: + task_sp_list: [ 'rel_pos_h', 'rel_pos_w' ] # wrong list would somehow cause .cuda() stuck without error + pretrained: True + lms_checkpoint_train: fairscale + window: False + test_pos_mode: False # when torch.compile is True, this should be False + learnable_pos: True + drop_path_rate: 0.2 + img_size: 1344 + num_encoded_tokens: 192 + vis_patch_token_ratio: 1 + vis_label_token_ratio: 0. + + dataset: + type: MultiPoseDatasetDev + kwargs: + ann_file: /mnt/path...to.../pose_public/3DPW/dataset_merged.json + img_prefix: /mnt/path...to.../pose_public/3DPW/imageFiles + use_udp: True + dataset_name: '3DPW' + data_cfg: { + 'image_size':[192, 256], + 'heatmap_size':[48, 64], + 'num_output_channels': 18, + 'num_joints': 18, + 'dataset_channel': [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17],], + 'inference_channel': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], + + 'flip_pairs': [[2, 5], [3, 6], [4, 7], [8, 11], [9, 12], [10, 13], [14, 15], [16, 17]], + 'upper_body_ids': [0, 1, 2 ,3, 4, 5, 6, 714, 15, 16, 17], + 'lower_body_ids': [8, 9, 10, 11, 12, 13], + 'use_different_joint_weights': False, + 'joint_weights': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ], + + 'soft_nms': False, + 'nms_thr': 1.0, + 'oks_thr': 0.9, + 'vis_thr': 0.2, + 'use_gt_bbox': True, + 'det_bbox_thr': 0.0, + 'bbox_file': 'COCO_val2017_detections_AP_H_56_person.json' + } + sampler: + batch_size: 170 # per card + shuffle_strategy: 1 + + patch_neck: + type: MAEdecoder_proj_neck + kwargs: + mask_dim: 256 # project to 256 dim for decoder + modality: rgb # patch modality + + label_neck: + type: MAEdecoder_proj_neck + kwargs: + mask_dim: 256 # project to 256 dim for decoder + modality: dense_labeling # label modality + + patch_adapter: + type: rgb_adapter # change to adapter_rgb + kwargs: + pretrained: True + stride_level: 1 + in_chans: 3 # 3 for rgb + learnable_pos: False # fixed position embedding, redundant parameter + test_pos_mode: False # PE parameters are interpolated from mae to 'img_size'/16, then use repeat(batchsize, 1, 1) + img_size: [ 256, 192 ] + task_sp_list: [ 'pos_embed' ] + + label_adapter: # for supvervised training, the results of label adapter is useless + type: dense_labeling_adapter + kwargs: + pretrained: True + stride_level: 1 + in_chans: 18 # class num + learnable_pos: False + test_pos_mode: False + img_size: [ 256, 192 ] + dim_class_embed: 64 # embedding shape for class embedding. TODO: chance to text features + emb_padding_idx: 255 # + task_sp_list: [ 'pos_embed', + 'class_embed',] + + patch_proj: + type: rgb_projector + kwargs: + loss_cfg: + type: MaskedMSELoss + kwargs: + stride: 1 + norm_pix_loss: True + pix_loss: True + pix_loss_weight: 1. + norm_pix_loss_weight: 1. + + + label_proj: + type: dense_labeling_projector + kwargs: + task_sp_list: [ 'post_mul_norm', + 'post_mul_norm_cls', + 'loss_fn', + 'upsample_network', + 'text_features',] + emb_padding_idx: 255 # should be the same with that in the input adapter + post_mul_norm: True + replace_post_mul_norm: False # replace the post_mul_norm(LN) with a linear layer + translate_weight_scale: 1 # scale the translate weight to 6 times of the original value(1), NOTE that we should + cls_loss_branch: True + description_dict_name: checked_pose_3dpw_name # this key is only valid when we set text_prototype to be True + + upsample_hidden_dim: 256 + + task: pose + + loss_cfg: + type: POS_FocalDiceLoss_bce_cls_emb + kwargs: + target_type: GaussianHeatMap + cfg: + num_classes: 18 + deep_supervision: True + ignore_blank: False + class_weight: 0.001 + dice_weight: 0.0 + mask_weight: 1.0 + redundant_queries: 1 + dec_layers: 9 + sample_weight: [ 0.81362905, 0.92006165, 0.90966899, 0.83948673, 0.78390512, + 0.90966899, 0.83948673, 0.78390512, 0.916771645, 0.895912625, + 0.86267757, 0.916771645, 0.895912625, 0.86267757, 0.683630395, + 0.683630395, 0.6390913949999999, 0.6390913949999999 + ] + eos_coef: 0.1 + + decoder: + type: UniHCPv2_Head + kwargs: + predictor: 'hulk' + task: recons + modality_share_list: ['predictor.mask_token'] + task_sp_list: [ + 'predictor.query_embed_patch', + 'predictor.query_embed_label', + 'predictor.class_embed', 'predictor.fc_bias', # useless in Hulk + ] # wrong list would somehow cause .cuda() stuck without error + loss_weight: 1.0 + transformer_predictor_cfg: + hidden_dim: 256 + num_queries: 20 # useless in Hulk + nheads: 8 + dim_feedforward: 2048 + dec_layers: 9 + pre_norm: False # indicate to use pre_norm or post_norm in (self-attn, FFN) + arch: fan_in # fan_in type to init the weights + enforce_input_project: False # placeholder, useless in Hulk + mask_on: False # placeholder, useless in Hulk + intermediate_output: True + num_feature_levels: 1 # placeholder, useless in Hulk + cross_pos_embed: anchor # indicate to use adaptive pose2d. should always be "anchor" in Hulk + cls_out_dim: 1 # placeholder, useless in Hulk + patch_pos_mode: False # Mode to generate pos_embed for patch tokens in decoder. + # given the fixed self.query_embed_patch (which has a same shape of that in adapter), + # repeat(batchsize, 1,1) + label_pos_mode: False + self_attn_mask_type: full # full for all attention + # type of mask for self-attention, + # shape [patch_tokens(rgb), label_tokens(sparse_labeling), fixed text tokens] + detach_from_peddet: True # Not use the peddet_cfgs to modify the model structure + adding_per_layer_pe: True # whether to add per-layer pe to the input of each decoder layer + use_adapt_pos2d: True + + loss_cfg: + type: CEL_Sigmoid + + 16: + name: aist++_256x192 + loss_weight: 2055 + gres_ratio: 1 # int, > 0, = Task_GPUs / (world_Size/sum(all_gres_ratios)) + backbone: + type: vit_base_patch16_mask + kwargs: + task_sp_list: [ 'rel_pos_h', 'rel_pos_w' ] # wrong list would somehow cause .cuda() stuck without error + pretrained: True + lms_checkpoint_train: fairscale + window: False + test_pos_mode: False # when torch.compile is True, this should be False + learnable_pos: True + drop_path_rate: 0.2 + img_size: 1344 + num_encoded_tokens: 192 + vis_patch_token_ratio: 1 + vis_label_token_ratio: 0. + + dataset: + type: MultiPoseDatasetDev + kwargs: + ann_file: /mnt/path...to.../pose_public/aistplusplus/merged_train_1m_filter.json + img_prefix: /mnt/path...to.../pose_public/aistplusplus/images/ + use_udp: True + dataset_name: 'AIST' + data_cfg: { + 'image_size': [ 192, 256 ], + 'heatmap_size': [ 48, 64 ], + 'num_output_channels': 136, + 'num_joints': 17, + 'dataset_channel': [ [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 ], ], + 'inference_channel': [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 ], + 'flip_pairs': [ [ 1, 2 ], [ 3, 4 ], [ 5, 6 ], [ 7, 8 ], [ 9, 10 ], [ 11, 12 ], [ 13, 14 ], [ 15, 16 ] ], + 'upper_body_ids': [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 ], + 'lower_body_ids': [ 13, 14, 15, 16 ], + 'use_different_joint_weights': False, + 'joint_weights': [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], + + 'soft_nms': False, + 'nms_thr': 1.0, + 'oks_thr': 0.9, + 'vis_thr': 0.2, + 'use_gt_bbox': True, + 'det_bbox_thr': 0.0, + 'bbox_file': 'COCO_val2017_detections_AP_H_56_person.json' + + } + sampler: + batch_size: 170 # per card + shuffle_strategy: 1 + + patch_neck: + type: MAEdecoder_proj_neck + kwargs: + mask_dim: 256 # project to 256 dim for decoder + modality: rgb # patch modality + + label_neck: + type: MAEdecoder_proj_neck + kwargs: + mask_dim: 256 # project to 256 dim for decoder + modality: dense_labeling # label modality + + patch_adapter: + type: rgb_adapter # change to adapter_rgb + kwargs: + pretrained: True + stride_level: 1 + in_chans: 3 # 3 for rgb + learnable_pos: False # fixed position embedding, redundant parameter + test_pos_mode: False # PE parameters are interpolated from mae to 'img_size'/16, then use repeat(batchsize, 1, 1) + img_size: [ 256, 192 ] + task_sp_list: [ 'pos_embed' ] + + label_adapter: # for supvervised training, the results of label adapter is useless + type: dense_labeling_adapter + kwargs: + pretrained: True + stride_level: 1 + in_chans: 17 # class num + learnable_pos: False + test_pos_mode: False + img_size: [ 256, 192 ] + dim_class_embed: 64 # embedding shape for class embedding. TODO: chance to text features + emb_padding_idx: 255 # + task_sp_list: [ 'pos_embed', + 'class_embed', ] + + patch_proj: + type: rgb_projector + kwargs: + loss_cfg: + type: MaskedMSELoss + kwargs: + stride: 1 + norm_pix_loss: True + pix_loss: True + pix_loss_weight: 1. + norm_pix_loss_weight: 1. + + + label_proj: + type: dense_labeling_projector + kwargs: + task_sp_list: [ 'post_mul_norm', + 'post_mul_norm_cls', + 'loss_fn', + 'upsample_network', + 'text_features', ] + emb_padding_idx: 255 # should be the same with that in the input adapter + post_mul_norm: True + replace_post_mul_norm: False # replace the post_mul_norm(LN) with a linear layer + translate_weight_scale: 1 # scale the translate weight to 6 times of the original value(1), NOTE that we should + cls_loss_branch: True + description_dict_name: checked_pose_aist_name # this key is only valid when we set text_prototype to be True + + upsample_hidden_dim: 256 + + task: pose + + loss_cfg: + type: POS_FocalDiceLoss_bce_cls_emb + kwargs: + target_type: GaussianHeatMap + cfg: + num_classes: 17 + deep_supervision: True + ignore_blank: False + class_weight: 0.001 + dice_weight: 0.0 + mask_weight: 1.0 + redundant_queries: 1 + dec_layers: 9 + sample_weight: [ + 0.97905498, 0.98151887, 0.98018951, 0.97778281, 0.97704955, + 0.98018951, 0.97778281, 0.97704955, 0.98309006, 0.98060388, + 0.97209657, 0.98309006, 0.98060388, 0.97209657, 0.98405158, + 0.98242514, 0.98066688 + ] + eos_coef: 0.1 + + decoder: + type: UniHCPv2_Head + kwargs: + predictor: 'hulk' + task: recons + modality_share_list: [ 'predictor.mask_token' ] + task_sp_list: [ + 'predictor.query_embed_patch', + 'predictor.query_embed_label', + 'predictor.class_embed', 'predictor.fc_bias', # useless in Hulk + ] # wrong list would somehow cause .cuda() stuck without error + loss_weight: 1.0 + transformer_predictor_cfg: + hidden_dim: 256 + num_queries: 20 # useless in Hulk + nheads: 8 + dim_feedforward: 2048 + dec_layers: 9 + pre_norm: False # indicate to use pre_norm or post_norm in (self-attn, FFN) + arch: fan_in # fan_in type to init the weights + enforce_input_project: False # placeholder, useless in Hulk + mask_on: False # placeholder, useless in Hulk + intermediate_output: True + num_feature_levels: 1 # placeholder, useless in Hulk + cross_pos_embed: anchor # indicate to use adaptive pose2d. should always be "anchor" in Hulk + cls_out_dim: 1 # placeholder, useless in Hulk + patch_pos_mode: False # Mode to generate pos_embed for patch tokens in decoder. + label_pos_mode: False + self_attn_mask_type: full # full for all attention + # type of mask for self-attention, + # shape [patch_tokens(rgb), label_tokens(sparse_labeling), fixed text tokens] + detach_from_peddet: True # Not use the peddet_cfgs to modify the model structure + adding_per_layer_pe: True # whether to add per-layer pe to the input of each decoder layer + use_adapt_pos2d: True + + loss_cfg: + type: CEL_Sigmoid + + 17: + name: LIP_parsing + loss_weight: 1.8 + gres_ratio: 4 # int, > 0, = Task_GPUs / (world_Size/sum(all_gres_ratios)) + dataset: + type: LIPParsingDataset # train for 150 epochs + kwargs: + data_path: /mnt/path...to.../parsing_public/LIP # #sh1424:s3://parsing_public/human3.6 #/mnt/lustre/share/wangyizhou/human3.6 #sh1984:s3://seg_public/human3.6 + cfg: + stride_level: 1 + is_flip: True + crop_size: [ 480, 480 ] + is_multi_scale: True + scale_factor: 11 + center_crop_test: False + base_size: 480 + eval_crop_size: [ 480, 480 ] + ignore2endclass: True + + is_photometricdistortion: True + brightness: 32 + contrast_range: [ 0.5, 1.5 ] + saturation_range: [ 0.5, 1.5 ] + hue_delta: 18 + is_rotate: True + + ignore_value: 255 # duplicated with decoder.kwargs.ignore_value + num_classes: 20 + label_list: [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 ] + + + sampler: + batch_size: 27 # per card + shuffle_strategy: 1 + + backbone: + type: vit_base_patch16_mask + kwargs: + task_sp_list: [ 'rel_pos_h', 'rel_pos_w' ] # wrong list would somehow cause .cuda() stuck without error + pretrained: True + lms_checkpoint_train: fairscale + window: False + test_pos_mode: learnable_interpolate + learnable_pos: True + drop_path_rate: 0.2 + vis_patch_token_ratio: 1 + vis_label_token_ratio: 0. + + patch_neck: + type: MAEdecoder_proj_neck + kwargs: + mask_dim: 256 + modality: rgb + + + label_neck: + type: MAEdecoder_proj_neck + kwargs: + mask_dim: 256 + modality: dense_labeling + + patch_adapter: + type: rgb_adapter # change to adapter_rgb + kwargs: + pretrained: True + stride_level: 1 + in_chans: 3 + learnable_pos: False + test_pos_mode: False + img_size: 480 + task_sp_list: [ 'pos_embed' ] + + label_adapter: + type: dense_labeling_adapter + kwargs: + pretrained: True + stride_level: 1 + in_chans: 20 + learnable_pos: False + test_pos_mode: False + img_size: 480 + dim_class_embed: 64 + emb_padding_idx: 255 + task_sp_list: [ 'pos_embed', 'class_embed', ] + + patch_proj: + type: rgb_projector + kwargs: + loss_cfg: + type: MaskedMSELoss + kwargs: + stride: 1 + norm_pix_loss: True + pix_loss: True + pix_loss_weight: 1. + norm_pix_loss_weight: 1. + + label_proj: + type: dense_labeling_projector + kwargs: # kept one + task_sp_list: [ 'post_mul_norm', + 'loss_fn', 'text_features' ] + modality_share_list: ['upsample_network',] + emb_padding_idx: 255 # should be the same with that in the input adapter + post_mul_norm: True + replace_post_mul_norm: False # replace the post_mul_norm(LN) with a linear layer + translate_weight_scale: 1 # scale the translate weight to 6 times of the original value(1), NOTE that we should + description_dict_name: checked_par_lip_name # this key is only valid when we set text_prototype to be True + cls_loss_branch: True + upsample_before_product: True + upsample_hidden_dim: 256 + task: parsing + loss_cfg: + type: FocalDiceLoss_bce_cls_emb_sample_weight #POS_FocalDiceLoss_bce_cls_emb + kwargs: + cfg: #for maskedsetloss v2 + ignore_index: 20 + loss_weight: 1. + loss_per_class: True + dice_weight: 50.0 + mask_weight: 50.0 + class_weight: 0.3 + deep_supervision: True + dec_layers: 9 + cls_weight_sample: True + sample_weight: [ 1.0, 0.25279349, 0.97595474, 0.06368458, 0.08419378, + 0.91287129, 0.18341584, 0.50346535, 0.12729844, 0.6937058, + 0.96898868, 0.07022631, 0.07464639, 0.99359972, 0.88490099, + 0.88490099, 0.27644979000000003, 0.27644979000000003, 0.33016266, 0.33016266 ] #follow v1 parsing + decoder: + type: UniHCPv2_Head + kwargs: + predictor: 'hulk' + task: recons + modality_share_list: ['predictor.mask_token'] + task_sp_list: [ + 'predictor.query_embed_patch', + 'predictor.query_embed_label', + 'predictor.class_embed','predictor.fc_bias', # useless in Hulk + ] # wrong list would somehow cause .cuda() stuck without error + loss_weight: 1.0 + transformer_predictor_cfg: + hidden_dim: 256 + num_queries: 20 + nheads: 8 + dim_feedforward: 2048 + dec_layers: 9 + pre_norm: False + arch: fan_in + enforce_input_project: False + mask_on: False + intermediate_output: True + num_feature_levels: 1 + cross_pos_embed: anchor + cls_out_dim: 1 + patch_pos_mode: False # Mode to generate pos_embed for patch tokens in decoder. + label_pos_mode: False + self_attn_mask_type: patch_diag_label_row_textlabelfull # type of mask for self-attention, + # shape [patch_tokens(rgb), label_tokens(sparse_labeling), fixed text tokens] + detach_from_peddet: True # Not use the peddet_cfgs to modify the model structure + adding_per_layer_pe: True # whether to add per-layer pe to the input of each decoder layer + use_adapt_pos2d: True + + loss_cfg: + type: FocalDiceLoss_bce_cls_emb_sample_weight + kwargs: + cfg: + deep_supervision: True + no_object_weight: 0.1 + + class_weight: 0.25 + dice_weight: 5.0 + mask_weight: 5.0 + redundant_queries: 1 + num_points: 12544 + + dec_layers: 6 + + oversample_ratio: 3.0 + importance_sample_ratio: 0.75 + sample_weight: [ 1.0, 0.25279349, 0.97595474, 0.06368458, 0.08419378, + 0.91287129, 0.18341584, 0.50346535, 0.12729844, 0.6937058, + 0.96898868, 0.07022631, 0.07464639, 0.99359972, 0.88490099, + 0.88490099, 0.27644979000000003, 0.27644979000000003, 0.33016266, 0.33016266 ] + + 18: + name: CIHP_parsing + loss_weight: 3.6 + gres_ratio: 4 # int, > 0, = Task_GPUs / (world_Size/sum(all_gres_ratios)) + dataset: + type: CIHPParsingDataset # train for 150 epochs + kwargs: + data_path: /mnt/path...to.../parsing_public/CIHP # #sh1424:s3://parsing_public/human3.6 #/mnt/lustre/share/wangyizhou/human3.6 #sh1984:s3://seg_public/human3.6 + cfg: + stride_level: 1 + is_flip: True + crop_size: [ 480, 480 ] + is_multi_scale: True + scale_factor: 11 + center_crop_test: False + base_size: 480 + eval_crop_size: [ 480, 480 ] + ignore2endclass: True + + is_photometricdistortion: True + brightness: 32 + contrast_range: [ 0.5, 1.5 ] + saturation_range: [ 0.5, 1.5 ] + hue_delta: 18 + is_rotate: True + + ignore_value: 255 # duplicated with decoder.kwargs.ignore_value + num_classes: 20 + label_list: [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 ] + + sampler: + batch_size: 26 # per card + shuffle_strategy: 1 + + backbone: + type: vit_base_patch16_mask + kwargs: + task_sp_list: [ 'rel_pos_h', 'rel_pos_w' ] # wrong list would somehow cause .cuda() stuck without error + pretrained: True + lms_checkpoint_train: fairscale + window: False + test_pos_mode: learnable_interpolate + learnable_pos: True + drop_path_rate: 0.2 + vis_patch_token_ratio: 1 + vis_label_token_ratio: 0. + + patch_neck: + type: MAEdecoder_proj_neck + kwargs: + mask_dim: 256 + modality: rgb + + + label_neck: + type: MAEdecoder_proj_neck + kwargs: + mask_dim: 256 + modality: dense_labeling + + patch_adapter: + type: rgb_adapter # change to adapter_rgb + kwargs: + pretrained: True + stride_level: 1 + in_chans: 3 + learnable_pos: False + test_pos_mode: False + img_size: 480 + task_sp_list: [ 'pos_embed' ] + + label_adapter: + type: dense_labeling_adapter + kwargs: + pretrained: True + stride_level: 1 + in_chans: 20 + learnable_pos: False + test_pos_mode: False + img_size: 480 + dim_class_embed: 64 + emb_padding_idx: 255 + task_sp_list: [ 'pos_embed', 'class_embed', ] + + patch_proj: + type: rgb_projector + kwargs: + loss_cfg: + type: MaskedMSELoss + kwargs: + stride: 1 + norm_pix_loss: True + pix_loss: True + pix_loss_weight: 1. + norm_pix_loss_weight: 1. + + label_proj: + type: dense_labeling_projector + kwargs: # kept one + task_sp_list: [ 'post_mul_norm', + 'loss_fn', 'text_features' ] + modality_share_list: ['upsample_network',] + emb_padding_idx: 255 # should be the same with that in the input adapter + post_mul_norm: True + replace_post_mul_norm: False # replace the post_mul_norm(LN) with a linear layer + translate_weight_scale: 1 # scale the translate weight to 6 times of the original value(1), NOTE that we should + description_dict_name: checked_par_cihp_name # this key is only valid when we set text_prototype to be True + cls_loss_branch: True + task: parsing + upsample_before_product: True + upsample_hidden_dim: 256 #dim of hidden features in upsampling network + loss_cfg: + type: FocalDiceLoss_bce_cls_emb_sample_weight #POS_FocalDiceLoss_bce_cls_emb + kwargs: + cfg: #for maskedsetloss v2 + ignore_index: 20 + loss_weight: 1. + loss_per_class: True + dice_weight: 50.0 + mask_weight: 50.0 + class_weight: 0.1 + deep_supervision: True + dec_layers: 9 + cls_weight_sample: True + sample_weight: [ 1.0, 0.25279349, 0.97595474, 0.06368458, 0.08419378, + 0.91287129, 0.18341584, 0.50346535, 0.12729844, 0.6937058, + 0.96898868, 0.07022631, 0.07464639, 0.99359972, 0.88490099, + 0.88490099, 0.27644979000000003, 0.27644979000000003, 0.33016266, 0.33016266 ] #follow v1 parsing + decoder: + type: UniHCPv2_Head + kwargs: + predictor: 'hulk' + task: recons + modality_share_list: ['predictor.mask_token'] + task_sp_list: [ + 'predictor.query_embed_patch', + 'predictor.query_embed_label', + 'predictor.class_embed','predictor.fc_bias', # useless in Hulk + ] # wrong list would somehow cause .cuda() stuck without error + loss_weight: 1.0 + transformer_predictor_cfg: + hidden_dim: 256 + num_queries: 20 + nheads: 8 + dim_feedforward: 2048 + dec_layers: 9 + pre_norm: False + arch: fan_in + enforce_input_project: False + mask_on: False + intermediate_output: True + num_feature_levels: 1 + cross_pos_embed: anchor + cls_out_dim: 1 + patch_pos_mode: False # Mode to generate pos_embed for patch tokens in decoder. + label_pos_mode: False + self_attn_mask_type: patch_diag_label_row_textlabelfull # type of mask for self-attention, + # shape [patch_tokens(rgb), label_tokens(sparse_labeling), fixed text tokens] + detach_from_peddet: True # Not use the peddet_cfgs to modify the model structure + adding_per_layer_pe: True # whether to add per-layer pe to the input of each decoder layer + use_adapt_pos2d: True + + loss_cfg: + type: FocalDiceLoss_bce_cls_emb_sample_weight + kwargs: + cfg: + deep_supervision: True + no_object_weight: 0.1 + + class_weight: 0.25 + dice_weight: 5.0 + mask_weight: 5.0 + redundant_queries: 1 + num_points: 12544 + + dec_layers: 6 + + oversample_ratio: 3.0 + importance_sample_ratio: 0.75 + sample_weight: [ 1.0, 0.25279349, 0.97595474, 0.06368458, 0.08419378, + 0.91287129, 0.18341584, 0.50346535, 0.12729844, 0.6937058, + 0.96898868, 0.07022631, 0.07464639, 0.99359972, 0.88490099, + 0.88490099, 0.27644979000000003, 0.27644979000000003, 0.33016266, 0.33016266 ] + + 19: + name: human3.6m_parsing + loss_weight: 2.25 + gres_ratio: 7 # int, > 0, = Task_GPUs / (world_Size/sum(all_gres_ratios)) + dataset: + type: Human3M6ParsingDataset # train for 150 epochs + kwargs: + data_path: /mnt/path...to.../parsing_public/human3.6 # #sh1424:s3://parsing_public/human3.6 #/mnt/lustre/share/wangyizhou/human3.6 #sh1984:s3://seg_public/human3.6 + cfg: + stride_level: 1 + is_flip: True + crop_size: [ 480, 480 ] + is_multi_scale: True + scale_factor: 11 + center_crop_test: False + base_size: 480 + eval_crop_size: [ 480, 480 ] + ignore2endclass: True + + is_photometricdistortion: True + brightness: 32 + contrast_range: [ 0.5, 1.5 ] + saturation_range: [ 0.5, 1.5 ] + hue_delta: 18 + is_rotate: True + + ignore_value: 255 # duplicated with decoder.kwargs.ignore_value + num_classes: 25 + label_list: [0, 1, 2, 3, 6, 7, 8, 17, 18, 19, 25, 26, 27, 32, 33, 34, 38, 39, 43, 44, + 46, 49, 50, 56, 58] + + sampler: + batch_size: 31 # per card + shuffle_strategy: 1 + + backbone: + type: vit_base_patch16_mask + kwargs: + task_sp_list: [ 'rel_pos_h', 'rel_pos_w' ] # wrong list would somehow cause .cuda() stuck without error + pretrained: True + lms_checkpoint_train: fairscale + window: False + test_pos_mode: learnable_interpolate + learnable_pos: True + drop_path_rate: 0.2 + vis_patch_token_ratio: 1 + vis_label_token_ratio: 0. + + patch_neck: + type: MAEdecoder_proj_neck + kwargs: + mask_dim: 256 + modality: rgb + + label_neck: + type: MAEdecoder_proj_neck + kwargs: + mask_dim: 256 + modality: dense_labeling + + patch_adapter: + type: rgb_adapter # change to adapter_rgb + kwargs: + pretrained: True + stride_level: 1 + in_chans: 3 + learnable_pos: False + test_pos_mode: False + img_size: 480 + task_sp_list: [ 'pos_embed' ] + + label_adapter: + type: dense_labeling_adapter + kwargs: + pretrained: True + stride_level: 1 + in_chans: 25 + learnable_pos: False + test_pos_mode: False + img_size: 480 + dim_class_embed: 64 + emb_padding_idx: 255 + task_sp_list: [ 'pos_embed', 'class_embed', ] + + patch_proj: + type: rgb_projector + kwargs: + loss_cfg: + type: MaskedMSELoss + kwargs: + stride: 1 + norm_pix_loss: True + pix_loss: True + pix_loss_weight: 1. + norm_pix_loss_weight: 1. + + label_proj: + type: dense_labeling_projector + kwargs: # kept one + task_sp_list: [ 'post_mul_norm', + 'loss_fn', 'text_features' ] + modality_share_list: ['upsample_network',] + emb_padding_idx: 255 # should be the same with that in the input adapter + post_mul_norm: True + replace_post_mul_norm: False # replace the post_mul_norm(LN) with a linear layer + translate_weight_scale: 1 # scale the translate weight to 6 times of the original value(1), NOTE that we should + description_dict_name: checked_par_human_name # this key is only valid when we set text_prototype to be True + cls_loss_branch: True + task: parsing + upsample_before_product: True + upsample_hidden_dim: 256 # dim of hidden features in upsampling network + loss_cfg: + type: FocalDiceLoss_bce_cls_emb_sample_weight #POS_FocalDiceLoss_bce_cls_emb + kwargs: + cfg: #for maskedsetloss v2 + ignore_index: 25 + loss_weight: 1. + loss_per_class: True + dice_weight: 50.0 + mask_weight: 50.0 + class_weight: 0.1 + deep_supervision: True + dec_layers: 9 + cls_weight_sample: True + sample_weight: [1.0, 0.97325, 0.96685, 0.9903500000000001, 0.97325, 0.96685, 0.9903500000000001, 0.9929, 0.9459, + 0.89645, 0.9929, 0.9459, 0.89645, 0.981, 0.9997, 0.99265, 0.9997, 0.99265, + 0.9995, 0.9999, 0.9999, 0.9758, 0.9256500000000001, 0.9758, 0.9256500000000001] #follow v1 parsing + decoder: + type: UniHCPv2_Head + kwargs: + predictor: 'hulk' + task: recons + modality_share_list: ['predictor.mask_token'] + task_sp_list: [ + 'predictor.query_embed_patch', + 'predictor.query_embed_label', + 'predictor.class_embed','predictor.fc_bias', # useless in Hulk + ] # wrong list would somehow cause .cuda() stuck without error + loss_weight: 1.0 + transformer_predictor_cfg: + hidden_dim: 256 + num_queries: 25 + nheads: 8 + dim_feedforward: 2048 + dec_layers: 9 + pre_norm: False + arch: fan_in + enforce_input_project: False + mask_on: False + intermediate_output: True + num_feature_levels: 1 + cross_pos_embed: anchor + cls_out_dim: 1 + patch_pos_mode: False # Mode to generate pos_embed for patch tokens in decoder. + # given the fixed self.query_embed_patch (which has a same shape of that in adapter), + # repeat(batchsize, 1,1) + label_pos_mode: False + self_attn_mask_type: patch_diag_label_row_textlabelfull # type of mask for self-attention, + # shape [patch_tokens(rgb), label_tokens(sparse_labeling), fixed text tokens] + detach_from_peddet: True # Not use the peddet_cfgs to modify the model structure + adding_per_layer_pe: True # whether to add per-layer pe to the input of each decoder layer + use_adapt_pos2d: True + + loss_cfg: + type: FocalDiceLoss_bce_cls_emb_sample_weight + kwargs: + cfg: + deep_supervision: True + no_object_weight: 0.1 + + class_weight: 0.25 + dice_weight: 5.0 + mask_weight: 5.0 + redundant_queries: 1 + num_points: 12544 + + dec_layers: 6 + + oversample_ratio: 3.0 + importance_sample_ratio: 0.75 + sample_weight: [ 1.0, 0.25279349, 0.97595474, 0.06368458, 0.08419378, + 0.91287129, 0.18341584, 0.50346535, 0.12729844, 0.6937058, + 0.96898868, 0.07022631, 0.07464639, 0.99359972, 0.88490099, + 0.88490099, 0.27644979000000003, 0.27644979000000003, 0.33016266, 0.33016266 ] + + 20: + name: modanet_parsing + loss_weight: 0.021 + gres_ratio: 1 # int, > 0, = Task_GPUs / (world_Size/sum(all_gres_ratios)) + dataset: + type: ModaNetParsingDataset # train for 150 epochs + kwargs: + data_path: /mnt/path...to.../parsing_public/ModaNet/ # #sh1424:s3://parsing_public/human3.6 #/mnt/lustre/share/wangyizhou/human3.6 #sh1984:s3://seg_public/human3.6 + cfg: + stride_level: 1 + is_flip: True + crop_size: [ 480, 480 ] + is_multi_scale: True + scale_factor: 11 + center_crop_test: False + base_size: 480 + eval_crop_size: [ 480, 480 ] + ignore2endclass: True + + is_photometricdistortion: True + brightness: 32 + contrast_range: [ 0.5, 1.5 ] + saturation_range: [ 0.5, 1.5 ] + hue_delta: 18 + is_rotate: True + + ignore_value: 255 # duplicated with decoder.kwargs.ignore_value + num_classes: 14 + label_list: [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, ] + + sampler: + batch_size: 27 # per card + shuffle_strategy: 1 + + backbone: + type: vit_base_patch16_mask + kwargs: + task_sp_list: [ 'rel_pos_h', 'rel_pos_w' ] # wrong list would somehow cause .cuda() stuck without error + pretrained: True + lms_checkpoint_train: fairscale + window: False + test_pos_mode: learnable_interpolate + learnable_pos: True + drop_path_rate: 0.2 + vis_patch_token_ratio: 1 + vis_label_token_ratio: 0. + + patch_neck: + type: MAEdecoder_proj_neck + kwargs: + mask_dim: 256 + modality: rgb + + label_neck: + type: MAEdecoder_proj_neck + kwargs: + mask_dim: 256 + modality: dense_labeling + + patch_adapter: + type: rgb_adapter # change to adapter_rgb + kwargs: + pretrained: True + stride_level: 1 + in_chans: 3 + learnable_pos: False + test_pos_mode: False + img_size: 480 + task_sp_list: [ 'pos_embed' ] + + label_adapter: + type: dense_labeling_adapter + kwargs: + pretrained: True + stride_level: 1 + in_chans: 14 + learnable_pos: False + test_pos_mode: False + img_size: 480 + dim_class_embed: 64 + emb_padding_idx: 255 + task_sp_list: [ 'pos_embed', 'class_embed', ] + + patch_proj: + type: rgb_projector + kwargs: + loss_cfg: + type: MaskedMSELoss + kwargs: + stride: 1 + norm_pix_loss: True + pix_loss: True + pix_loss_weight: 1. + norm_pix_loss_weight: 1. + + label_proj: + type: dense_labeling_projector + kwargs: # kept one + task_sp_list: [ 'post_mul_norm', + 'post_mul_norm_cls', + # 'upsample_network', + 'loss_fn', 'text_features' ] + modality_share_list: ['upsample_network',] + emb_padding_idx: 255 # should be the same with that in the input adapter + post_mul_norm: True + + replace_post_mul_norm: False # replace the post_mul_norm(LN) with a linear layer + translate_weight_scale: 1 # scale the translate weight to 6 times of the original value(1), NOTE that we should + description_dict_name: checked_par_modanet_name # this key is only valid when we set text_prototype to be True + cls_loss_branch: True + upsample_before_product: True + upsample_hidden_dim: 256 # dim of hidden features in upsampling network + task: parsing + loss_cfg: + type: FocalDiceLoss_bce_cls_emb_sample_weight #POS_FocalDiceLoss_bce_cls_emb + kwargs: + cfg: #for maskedsetloss v2 + ignore_index: 14 + loss_weight: 1. + loss_per_class: True + dice_weight: 50.0 + mask_weight: 50.0 + class_weight: 0.1 + deep_supervision: True + dec_layers: 9 + cls_weight_sample: True + sample_weight: [ 1.0, 0.3933582160972342, 0.2633553450090918, 0.13557278208440998, 0.7506555651258494, 0.45334481768590296, 0.2760455545985262, 0.16753756340319648, 0.4404249210450761, 0.6636233132357163, 0.13457747152837593, 0.25979519571250836, 0.10422049956933678, 0.0956263757297349 ] #follow v1 parsing + decoder: + type: UniHCPv2_Head + kwargs: + predictor: 'hulk' + task: recons + modality_share_list: ['predictor.mask_token'] + task_sp_list: [ # 'predictor.text_features', + 'predictor.query_embed_patch', + 'predictor.query_embed_label', + # 'predictor.text_pe', + # 'predictor.mask_token', + 'predictor.class_embed','predictor.fc_bias', # useless in Hulk + ] # wrong list would somehow cause .cuda() stuck without error + loss_weight: 1.0 + transformer_predictor_cfg: + hidden_dim: 256 + num_queries: 20 + nheads: 8 + dim_feedforward: 2048 + dec_layers: 9 + pre_norm: False + arch: fan_in + enforce_input_project: False + mask_on: False + intermediate_output: True + num_feature_levels: 1 + cross_pos_embed: anchor + cls_out_dim: 1 + patch_pos_mode: False # Mode to generate pos_embed for patch tokens in decoder. + # given the fixed self.query_embed_patch (which has a same shape of that in adapter), + # repeat(batchsize, 1,1) + label_pos_mode: False + self_attn_mask_type: patch_diag_label_row_textlabelfull # type of mask for self-attention, + # shape [patch_tokens(rgb), label_tokens(sparse_labeling), fixed text tokens] + detach_from_peddet: True # Not use the peddet_cfgs to modify the model structure + adding_per_layer_pe: True # whether to add per-layer pe to the input of each decoder layer + use_adapt_pos2d: True + + loss_cfg: + type: FocalDiceLoss_bce_cls_emb_sample_weight + kwargs: + cfg: + deep_supervision: True + no_object_weight: 0.1 + + class_weight: 0.25 + dice_weight: 5.0 + mask_weight: 5.0 + redundant_queries: 1 + num_points: 12544 + + dec_layers: 6 + + oversample_ratio: 3.0 + importance_sample_ratio: 0.75 + sample_weight: [ 1.0, 0.25279349, 0.97595474, 0.06368458, 0.08419378, + 0.91287129, 0.18341584, 0.50346535, 0.12729844, 0.6937058, + 0.96898868, 0.07022631, 0.07464639, 0.99359972, 0.88490099, + 0.88490099, 0.27644979000000003, 0.27644979000000003, 0.33016266, 0.33016266 ] + + 21: + name: VIP_parsing + loss_weight: 0.021 + gres_ratio: 1 # int, > 0, = Task_GPUs / (world_Size/sum(all_gres_ratios)) + dataset: + type: VIPParsingDataset # train for 150 epochs + kwargs: + data_path: /mnt/path...to.../parsing_public/VIP # #sh1424:s3://parsing_public/human3.6 #/mnt/lustre/share/wangyizhou/human3.6 #sh1984:s3://seg_public/human3.6 + cfg: + stride_level: 1 + is_flip: True + crop_size: [ 480, 480 ] + is_multi_scale: True + scale_factor: 11 + center_crop_test: False + base_size: 480 + eval_crop_size: [ 480, 480 ] + ignore2endclass: True + + is_photometricdistortion: True + brightness: 32 + contrast_range: [ 0.5, 1.5 ] + saturation_range: [ 0.5, 1.5 ] + hue_delta: 18 + is_rotate: True + + ignore_value: 255 # duplicated with decoder.kwargs.ignore_value + num_classes: 20 + label_list: [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 ] + + + sampler: + batch_size: 27 # per card + shuffle_strategy: 1 + + backbone: + type: vit_base_patch16_mask + kwargs: + task_sp_list: [ 'rel_pos_h', 'rel_pos_w' ] # wrong list would somehow cause .cuda() stuck without error + pretrained: True + lms_checkpoint_train: fairscale + window: False + test_pos_mode: learnable_interpolate + learnable_pos: True + drop_path_rate: 0.2 + vis_patch_token_ratio: 1 + vis_label_token_ratio: 0. + + patch_neck: + type: MAEdecoder_proj_neck + kwargs: + mask_dim: 256 + modality: rgb + + label_neck: + type: MAEdecoder_proj_neck + kwargs: + mask_dim: 256 + modality: dense_labeling + + patch_adapter: + type: rgb_adapter # change to adapter_rgb + kwargs: + pretrained: True + stride_level: 1 + in_chans: 3 + learnable_pos: False + test_pos_mode: False + img_size: 480 + task_sp_list: [ 'pos_embed' ] + + label_adapter: + type: dense_labeling_adapter + kwargs: + pretrained: True + stride_level: 1 + in_chans: 20 + learnable_pos: False + test_pos_mode: False + img_size: 480 + dim_class_embed: 64 + emb_padding_idx: 255 + task_sp_list: [ 'pos_embed', 'class_embed', ] + + patch_proj: + type: rgb_projector + kwargs: + loss_cfg: + type: MaskedMSELoss + kwargs: + stride: 1 + norm_pix_loss: True + pix_loss: True + pix_loss_weight: 1. + norm_pix_loss_weight: 1. + + label_proj: + type: dense_labeling_projector + kwargs: # kept one + task_sp_list: [ 'post_mul_norm', + 'post_mul_norm_cls', + # 'upsample_network', + 'loss_fn', 'text_features' ] + modality_share_list: ['upsample_network',] + emb_padding_idx: 255 # should be the same with that in the input adapter + post_mul_norm: True + replace_post_mul_norm: False # replace the post_mul_norm(LN) with a linear layer + translate_weight_scale: 1 # scale the translate weight to 6 times of the original value(1), NOTE that we should + description_dict_name: checked_par_vip_name # this key is only valid when we set text_prototype to be True + cls_loss_branch: True + upsample_before_product: True + upsample_hidden_dim: 256 # dim of hidden features in upsampling network + task: parsing + loss_cfg: + type: FocalDiceLoss_bce_cls_emb_sample_weight #POS_FocalDiceLoss_bce_cls_emb + kwargs: + cfg: #for maskedsetloss v2 + ignore_index: 20 + loss_weight: 1. + loss_per_class: True + dice_weight: 50.0 + mask_weight: 50.0 + class_weight: 0.1 + deep_supervision: True + dec_layers: 9 + cls_weight_sample: True + sample_weight: [1.0, 0.3266013319616655, 0.9908495316476258, 0.029184038117927337, 0.052466294872489036, 0.991336834695977, 0.10801884238453625, 0.30001624343494504, 0.3465807569440684, 0.9136932156586712, 0.9863555146461639, 0.015810276679841896, 0.11895608858086523, 0.9925821647084303, 0.9789106069630192, 0.9789106069630192, 0.4952081866912123, 0.4952081866912123, 0.7048026422654177, 0.7048026422654177, ] #follow v1 parsing + decoder: + type: UniHCPv2_Head + kwargs: + predictor: 'hulk' + task: recons + modality_share_list: ['predictor.mask_token'] + task_sp_list: [ + 'predictor.query_embed_patch', + 'predictor.query_embed_label', + 'predictor.class_embed','predictor.fc_bias', # useless in Hulk + ] # wrong list would somehow cause .cuda() stuck without error + loss_weight: 1.0 + transformer_predictor_cfg: + hidden_dim: 256 + num_queries: 20 + nheads: 8 + dim_feedforward: 2048 + dec_layers: 9 + pre_norm: False + arch: fan_in + enforce_input_project: False + mask_on: False + intermediate_output: True + num_feature_levels: 1 + cross_pos_embed: anchor + cls_out_dim: 1 + patch_pos_mode: False # Mode to generate pos_embed for patch tokens in decoder. + # given the fixed self.query_embed_patch (which has a same shape of that in adapter), + # repeat(batchsize, 1,1) + label_pos_mode: False + self_attn_mask_type: patch_diag_label_row_textlabelfull # type of mask for self-attention, + # shape [patch_tokens(rgb), label_tokens(sparse_labeling), fixed text tokens] + detach_from_peddet: True # Not use the peddet_cfgs to modify the model structure + adding_per_layer_pe: True # whether to add per-layer pe to the input of each decoder layer + use_adapt_pos2d: True + + loss_cfg: + type: FocalDiceLoss_bce_cls_emb_sample_weight + kwargs: + cfg: + deep_supervision: True + no_object_weight: 0.1 + + class_weight: 0.25 + dice_weight: 5.0 + mask_weight: 5.0 + redundant_queries: 1 + num_points: 12544 + + dec_layers: 6 + + oversample_ratio: 3.0 + importance_sample_ratio: 0.75 + sample_weight: [ 1.0, 0.25279349, 0.97595474, 0.06368458, 0.08419378, + 0.91287129, 0.18341584, 0.50346535, 0.12729844, 0.6937058, + 0.96898868, 0.07022631, 0.07464639, 0.99359972, 0.88490099, + 0.88490099, 0.27644979000000003, 0.27644979000000003, 0.33016266, 0.33016266 ] + + 22: + name: deepfashion_parsing + loss_weight: 0.042 + gres_ratio: 2 # int, > 0, = Task_GPUs / (world_Size/sum(all_gres_ratios)) + dataset: + type: DeepFashionParsingDataset # train for 150 epochs + kwargs: + data_path: /mnt/path...to.../parsing_public/deepfashion2/ # #sh1424:s3://parsing_public/human3.6 #/mnt/lustre/share/wangyizhou/human3.6 #sh1984:s3://seg_public/human3.6 + cfg: + stride_level: 1 + is_flip: True + crop_size: [ 480, 480 ] + is_multi_scale: True + scale_factor: 11 + center_crop_test: False + base_size: 480 + eval_crop_size: [ 480, 480 ] + ignore2endclass: True + + is_photometricdistortion: True + brightness: 32 + contrast_range: [ 0.5, 1.5 ] + saturation_range: [ 0.5, 1.5 ] + hue_delta: 18 + is_rotate: True + + ignore_value: 255 # duplicated with decoder.kwargs.ignore_value + num_classes: 14 + label_list: [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, ] + + sampler: + batch_size: 27 # per card + shuffle_strategy: 1 + + backbone: + type: vit_base_patch16_mask + kwargs: + task_sp_list: [ 'rel_pos_h', 'rel_pos_w' ] # wrong list would somehow cause .cuda() stuck without error + pretrained: True + lms_checkpoint_train: fairscale + window: False + test_pos_mode: learnable_interpolate + learnable_pos: True + drop_path_rate: 0.2 + vis_patch_token_ratio: 1 + vis_label_token_ratio: 0. + + patch_neck: + type: MAEdecoder_proj_neck + kwargs: + mask_dim: 256 + modality: rgb + + label_neck: + type: MAEdecoder_proj_neck + kwargs: + mask_dim: 256 + modality: dense_labeling + + patch_adapter: + type: rgb_adapter # change to adapter_rgb + kwargs: + pretrained: True + stride_level: 1 + in_chans: 3 + learnable_pos: False + test_pos_mode: False + img_size: 480 + task_sp_list: [ 'pos_embed' ] + + label_adapter: + type: dense_labeling_adapter + kwargs: + pretrained: True + stride_level: 1 + in_chans: 14 + learnable_pos: False + test_pos_mode: False + img_size: 480 + dim_class_embed: 64 + emb_padding_idx: 255 + task_sp_list: [ 'pos_embed', 'class_embed', ] + + patch_proj: + type: rgb_projector + kwargs: + loss_cfg: + type: MaskedMSELoss + kwargs: + stride: 1 + norm_pix_loss: True + pix_loss: True + pix_loss_weight: 1. + norm_pix_loss_weight: 1. + + label_proj: + type: dense_labeling_projector + kwargs: # kept one + task_sp_list: [ 'post_mul_norm', + 'post_mul_norm_cls', + # 'upsample_network', + 'loss_fn', 'text_features' ] + modality_share_list: ['upsample_network',] + emb_padding_idx: 255 # should be the same with that in the input adapter + post_mul_norm: True + replace_post_mul_norm: False # replace the post_mul_norm(LN) with a linear layer + translate_weight_scale: 1 # scale the translate weight to 6 times of the original value(1), NOTE that we should + description_dict_name: checked_par_deepfashion_name # this key is only valid when we set text_prototype to be True + cls_loss_branch: True + upsample_before_product: True + upsample_hidden_dim: 256 # dim of hidden features in upsampling network + task: parsing + loss_cfg: + type: FocalDiceLoss_bce_cls_emb_sample_weight #POS_FocalDiceLoss_bce_cls_emb + kwargs: + # target_type: GaussianHeatMap + cfg: #for maskedsetloss v2 + ignore_index: 14 + loss_weight: 1. + loss_per_class: True + dice_weight: 50.0 + mask_weight: 50.0 + class_weight: 0.1 + deep_supervision: True + dec_layers: 9 + cls_weight_sample: True + sample_weight: [ 1.0, 0.367704898390819, 0.18624095519402378, 0.002807862013638187, 0.06970686754080256, 0.08321481967691353, 0.010231244888284599, 0.18925719286730117, 0.28635504086767627, 0.15953761441126063, 0.0887055183084064, 0.04064888180411646, 0.09255004922874958, 0.03362141268278453, ] #follow v1 parsing + decoder: + type: UniHCPv2_Head + kwargs: + predictor: 'hulk' + task: recons + modality_share_list: ['predictor.mask_token'] + task_sp_list: [ + 'predictor.query_embed_patch', + 'predictor.query_embed_label', + 'predictor.class_embed','predictor.fc_bias', # useless in Hulk + ] # wrong list would somehow cause .cuda() stuck without error + loss_weight: 1.0 + transformer_predictor_cfg: + hidden_dim: 256 + num_queries: 20 + nheads: 8 + dim_feedforward: 2048 + dec_layers: 9 + pre_norm: False + arch: fan_in + enforce_input_project: False + mask_on: False + intermediate_output: True + num_feature_levels: 1 + cross_pos_embed: anchor + cls_out_dim: 1 + patch_pos_mode: False # Mode to generate pos_embed for patch tokens in decoder. + # given the fixed self.query_embed_patch (which has a same shape of that in adapter), + # repeat(batchsize, 1,1) + label_pos_mode: False + self_attn_mask_type: patch_diag_label_row_textlabelfull # type of mask for self-attention, + # shape [patch_tokens(rgb), label_tokens(sparse_labeling), fixed text tokens] + detach_from_peddet: True # Not use the peddet_cfgs to modify the model structure + adding_per_layer_pe: True # whether to add per-layer pe to the input of each decoder layer + use_adapt_pos2d: True + + loss_cfg: + type: FocalDiceLoss_bce_cls_emb_sample_weight + kwargs: + cfg: + deep_supervision: True + no_object_weight: 0.1 + + class_weight: 0.25 + dice_weight: 5.0 + mask_weight: 5.0 + redundant_queries: 1 + num_points: 12544 + + dec_layers: 6 + + oversample_ratio: 3.0 + importance_sample_ratio: 0.75 + sample_weight: [ 1.0, 0.25279349, 0.97595474, 0.06368458, 0.08419378, + 0.91287129, 0.18341584, 0.50346535, 0.12729844, 0.6937058, + 0.96898868, 0.07022631, 0.07464639, 0.99359972, 0.88490099, + 0.88490099, 0.27644979000000003, 0.27644979000000003, 0.33016266, 0.33016266 ] + + 23: + name: PaperDoll_parsing + loss_weight: 0.021 + gres_ratio: 1 # int, > 0, = Task_GPUs / (world_Size/sum(all_gres_ratios)) + dataset: + type: PaperDollParsingDataset # train for 150 epochs + kwargs: + data_path: /mnt/path...to.../parsing_public/PaperDoll # #sh1424:s3://parsing_public/human3.6 #/mnt/lustre/share/wangyizhou/human3.6 #sh1984:s3://seg_public/human3.6 + cfg: + stride_level: 1 + is_flip: True + crop_size: [ 480, 480 ] + is_multi_scale: True + scale_factor: 11 + center_crop_test: False + base_size: 480 + eval_crop_size: [ 480, 480 ] + ignore2endclass: True + + is_photometricdistortion: True + brightness: 32 + contrast_range: [ 0.5, 1.5 ] + saturation_range: [ 0.5, 1.5 ] + hue_delta: 18 + is_rotate: True + + ignore_value: 255 # duplicated with decoder.kwargs.ignore_value + num_classes: 20 + label_list: [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 ] + + sampler: + batch_size: 27 # per card + shuffle_strategy: 1 + + backbone: + type: vit_base_patch16_mask + kwargs: + task_sp_list: [ 'rel_pos_h', 'rel_pos_w' ] # wrong list would somehow cause .cuda() stuck without error + pretrained: True + lms_checkpoint_train: fairscale + window: False + test_pos_mode: learnable_interpolate + learnable_pos: True + drop_path_rate: 0.2 + vis_patch_token_ratio: 1 + vis_label_token_ratio: 0. + + patch_neck: + type: MAEdecoder_proj_neck + kwargs: + mask_dim: 256 + modality: rgb + + label_neck: + type: MAEdecoder_proj_neck + kwargs: + mask_dim: 256 + modality: dense_labeling + + patch_adapter: + type: rgb_adapter # change to adapter_rgb + kwargs: + pretrained: True + stride_level: 1 + in_chans: 3 + learnable_pos: False + test_pos_mode: False + img_size: 480 + task_sp_list: [ 'pos_embed' ] + + label_adapter: + type: dense_labeling_adapter + kwargs: + pretrained: True + stride_level: 1 + in_chans: 20 + learnable_pos: False + test_pos_mode: False + img_size: 480 + dim_class_embed: 64 + emb_padding_idx: 255 + task_sp_list: [ 'pos_embed', 'class_embed', ] + + patch_proj: + type: rgb_projector + kwargs: + loss_cfg: + type: MaskedMSELoss + kwargs: + stride: 1 + norm_pix_loss: True + pix_loss: True + pix_loss_weight: 1. + norm_pix_loss_weight: 1. + + label_proj: + type: dense_labeling_projector + kwargs: # kept one + task_sp_list: [ 'post_mul_norm', + 'post_mul_norm_cls', + 'loss_fn', 'text_features' ] + modality_share_list: ['upsample_network',] + emb_padding_idx: 255 # should be the same with that in the input adapter + post_mul_norm: True + replace_post_mul_norm: False # replace the post_mul_norm(LN) with a linear layer + translate_weight_scale: 1 # scale the translate weight to 6 times of the original value(1), NOTE that we should + description_dict_name: checked_par_paperdoll_name # this key is only valid when we set text_prototype to be True + cls_loss_branch: True + upsample_before_product: True + upsample_hidden_dim: 256 # dim of hidden features in upsampling network + + task: parsing + loss_cfg: + type: FocalDiceLoss_bce_cls_emb_sample_weight #POS_FocalDiceLoss_bce_cls_emb + kwargs: + cfg: #for maskedsetloss v2 + ignore_index: 20 + loss_weight: 1. + loss_per_class: True + dice_weight: 50.0 + mask_weight: 50.0 + class_weight: 0.1 + deep_supervision: True + dec_layers: 9 + cls_weight_sample: True + sample_weight: [ 1.0, 0.12651171233101552, 0.9445288709780197, 0.022596273603759997, 0.1542096228225839, 0.7740073338443981, 0.3171279444960444, 0.38393872629003634, 0.19776277195374156, 0.5762416654276241, 0.932492136102867, 0.0684559727964192, 0.2131960924782717, 0.9246929266441772, 0.9079233711740138, 0.9079233711740138, 0.5743937220129259, 0.5743937220129259, 0.7146935638660443, 0.7146935638660443, ] #follow v1 parsing + decoder: + type: UniHCPv2_Head + kwargs: + predictor: 'hulk' + task: recons + modality_share_list: ['predictor.mask_token'] + task_sp_list: [ # 'predictor.text_features', + 'predictor.query_embed_patch', + 'predictor.query_embed_label', + # 'predictor.text_pe', + # 'predictor.mask_token', + 'predictor.class_embed','predictor.fc_bias', # useless in Hulk + ] # wrong list would somehow cause .cuda() stuck without error + loss_weight: 1.0 + transformer_predictor_cfg: + hidden_dim: 256 + num_queries: 20 + nheads: 8 + dim_feedforward: 2048 + dec_layers: 9 + pre_norm: False + arch: fan_in + enforce_input_project: False + mask_on: False + intermediate_output: True + num_feature_levels: 1 + cross_pos_embed: anchor + cls_out_dim: 1 + patch_pos_mode: False # Mode to generate pos_embed for patch tokens in decoder. + # given the fixed self.query_embed_patch (which has a same shape of that in adapter), + # repeat(batchsize, 1,1) + label_pos_mode: False + self_attn_mask_type: patch_diag_label_row_textlabelfull # type of mask for self-attention, + # shape [patch_tokens(rgb), label_tokens(sparse_labeling), fixed text tokens] + detach_from_peddet: True # Not use the peddet_cfgs to modify the model structure + adding_per_layer_pe: True # whether to add per-layer pe to the input of each decoder layer + use_adapt_pos2d: True + + loss_cfg: + type: FocalDiceLoss_bce_cls_emb_sample_weight + kwargs: + cfg: + deep_supervision: True + no_object_weight: 0.1 + + class_weight: 0.25 + dice_weight: 5.0 + mask_weight: 5.0 + redundant_queries: 1 + num_points: 12544 + + dec_layers: 6 + + oversample_ratio: 3.0 + importance_sample_ratio: 0.75 + sample_weight: [ 1.0, 0.25279349, 0.97595474, 0.06368458, 0.08419378, + 0.91287129, 0.18341584, 0.50346535, 0.12729844, 0.6937058, + 0.96898868, 0.07022631, 0.07464639, 0.99359972, 0.88490099, + 0.88490099, 0.27644979000000003, 0.27644979000000003, 0.33016266, 0.33016266 ] \ No newline at end of file