| 29 | } |
| 30 | |
| 31 | static std::vector<tensor_case> tensor_cases() { |
| 32 | std::vector<tensor_case> cases = { |
| 33 | {"text_valid_mask", "Text valid mask"}, |
| 34 | {"text_features", "Text features"}, |
| 35 | {"fenc_img_input", "Fusion encoder image input"}, |
| 36 | {"fenc_pos_embed", "Fusion encoder position input"}, |
| 37 | {"fenc_prompt", "Fusion encoder prompt input"}, |
| 38 | {"img_pe_72", "Image PE 72x72"}, |
| 39 | {"fenc_output", "Fusion encoder final output"}, |
| 40 | {"ddec_query_embed", "Decoder query embed"}, |
| 41 | {"ddec_ref_pts_raw", "Decoder reference points raw"}, |
| 42 | {"ddec_presence_token", "Decoder presence token"}, |
| 43 | {"ddec_ref_boxes_init", "Decoder initial reference boxes"}, |
| 44 | {"ddec_query_sine_0", "Decoder layer 0 query sine"}, |
| 45 | {"ddec_query_pos_0", "Decoder layer 0 query pos"}, |
| 46 | {"ddec_rpb_mask_0", "Decoder layer 0 RPB mask"}, |
| 47 | {"ddec_layer0_after_sa", "Decoder layer 0 after self-attn"}, |
| 48 | {"ddec_layer0_after_text_ca", "Decoder layer 0 after text CA"}, |
| 49 | {"ddec_layer0_after_img_ca", "Decoder layer 0 after image CA"}, |
| 50 | {"ddec_layer0_full_out", "Decoder layer 0 full output"}, |
| 51 | {"ddec_layer0_presence", "Decoder layer 0 presence"}, |
| 52 | {"ddec_normed_output", "Decoder final normed output"}, |
| 53 | {"ddec_pred_boxes", "Decoder predicted boxes"}, |
| 54 | {"ddec_presence_logit", "Decoder presence logit"}, |
| 55 | {"scoring_prompt_mlp_out", "Scoring prompt MLP"}, |
| 56 | {"scoring_pooled", "Scoring pooled prompt"}, |
| 57 | {"scoring_proj_pooled", "Scoring projected pooled prompt"}, |
| 58 | {"scoring_proj_hs", "Scoring projected queries"}, |
| 59 | {"scoring_class_scores", "Scoring class scores"}, |
| 60 | {"seg_enc_after_ca", "Seg head encoder after prompt CA"}, |
| 61 | {"seg_enc_visual", "Seg head visual encoder map"}, |
| 62 | {"seg_pixel_dec_stage0", "Seg head pixel decoder stage 0"}, |
| 63 | {"seg_pixel_dec_stage1", "Seg head pixel decoder stage 1"}, |
| 64 | {"seg_pixel_decoder_out", "Seg head pixel decoder output"}, |
| 65 | {"seg_instance_embed", "Seg head instance embed"}, |
| 66 | {"seg_mask_embed", "Seg head mask embed"}, |
| 67 | {"seg_mask_logits", "Seg head mask logits"}, |
| 68 | }; |
| 69 | |
| 70 | for (int i = 0; i < 6; ++i) { |
| 71 | char name[64]; |
| 72 | char label[64]; |
| 73 | |
| 74 | snprintf(name, sizeof(name), "fenc_layer%d_out", i); |
| 75 | snprintf(label, sizeof(label), "Fusion encoder layer %d", i); |
| 76 | cases.push_back({name, label}); |
| 77 | |
| 78 | snprintf(name, sizeof(name), "ddec_layer%d_out", i); |
| 79 | snprintf(label, sizeof(label), "Decoder layer %d output", i); |
| 80 | cases.push_back({name, label}); |
| 81 | |
| 82 | snprintf(name, sizeof(name), "ddec_layer%d_refboxes", i); |
| 83 | snprintf(label, sizeof(label), "Decoder layer %d ref boxes", i); |
| 84 | cases.push_back({name, label}); |
| 85 | } |
| 86 | |
| 87 | return cases; |
| 88 | } |