MCPcopy Create free account
hub / github.com/PABannier/sam3.cpp / sam2_load_hparams

Function sam2_load_hparams

sam3.cpp:1568–1630  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1566// ── SAM2-specific loading ─────────────────────────────────────────────────
1567
1568static bool sam2_load_hparams(std::ifstream& fin, sam3_hparams& hp) {
1569 auto rd = [&](int32_t& v) { fin.read(reinterpret_cast<char*>(&v), 4); };
1570
1571 rd(hp.img_size);
1572 int32_t backbone_type;
1573 rd(backbone_type); // 1 = hiera
1574
1575 rd(hp.hiera_embed_dim);
1576 rd(hp.hiera_num_heads);
1577 rd(hp.hiera_num_stages);
1578 for (int i = 0; i < 4; ++i) rd(hp.hiera_stages[i]);
1579 rd(hp.hiera_global_n);
1580 for (int i = 0; i < 8; ++i) rd(hp.hiera_global_idx[i]);
1581 rd(hp.hiera_q_pool);
1582 for (int i = 0; i < 4; ++i) rd(hp.hiera_window_spec[i]);
1583 rd(hp.hiera_pos_embed_bkg_h);
1584 rd(hp.hiera_pos_embed_bkg_w);
1585 rd(hp.scalp);
1586
1587 rd(hp.neck_dim);
1588 rd(hp.fpn_top_down_n);
1589 for (int i = 0; i < 4; ++i) rd(hp.fpn_top_down_levels[i]);
1590
1591 rd(hp.sam_embed_dim);
1592 rd(hp.sam_dec_depth);
1593 rd(hp.sam_n_multimask);
1594 rd(hp.sam_iou_head_depth);
1595
1596 rd(hp.mem_out_dim);
1597 rd(hp.mem_attn_layers);
1598 rd(hp.num_maskmem);
1599 rd(hp.max_obj_ptrs);
1600
1601 rd(hp.sigmoid_scale_x100);
1602 rd(hp.sigmoid_bias_x100);
1603
1604 rd(hp.use_high_res_features);
1605 rd(hp.use_obj_ptrs_in_encoder);
1606 rd(hp.pred_obj_scores);
1607 rd(hp.use_multimask_token_for_obj_ptr);
1608 rd(hp.directly_add_no_mem_embed);
1609 rd(hp.non_overlap_masks_for_mem_enc);
1610 rd(hp.binarize_mask_from_pts);
1611 rd(hp.multimask_output_for_tracking);
1612 rd(hp.multimask_min_pt_num);
1613 rd(hp.multimask_max_pt_num);
1614 rd(hp.fixed_no_obj_ptr);
1615 rd(hp.iou_prediction_use_sigmoid);
1616 rd(hp.use_mask_input_as_output);
1617 rd(hp.multimask_output_in_sam);
1618 rd(hp.is_sam2_1);
1619
1620 hp.backbone_type = backbone_type;
1621 if (backbone_type == 2) {
1622 // EdgeTAM: read extended hparams
1623 if (!edgetam_load_extra_hparams(fin, hp)) return false;
1624 hp.model_type = SAM3_MODEL_EDGETAM;
1625 } else {

Callers 1

sam3_load_modelFunction · 0.85

Calls 1

Tested by

no test coverage detected