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

Class edgetam_repvit_block

sam3.cpp:742–759  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

740*/
741
742struct edgetam_repvit_block {
743 // Token mixer: single fused DW 3×3 (after RepVGG reparameterization)
744 struct ggml_tensor* tm_w = nullptr; // [3, 3, 1, ch]
745 struct ggml_tensor* tm_b = nullptr; // [ch]
746
747 // Squeeze-and-excitation (only on even-indexed blocks)
748 bool has_se = false;
749 struct ggml_tensor* se_fc1_w = nullptr; // [1, 1, ch, ch_rd]
750 struct ggml_tensor* se_fc1_b = nullptr; // [ch_rd]
751 struct ggml_tensor* se_fc2_w = nullptr; // [1, 1, ch_rd, ch]
752 struct ggml_tensor* se_fc2_b = nullptr; // [ch]
753
754 // Channel mixer: 1×1 expand → GELU → 1×1 project
755 struct ggml_tensor* cm_conv1_w = nullptr; // [1, 1, ch, ch*2]
756 struct ggml_tensor* cm_conv1_b = nullptr; // [ch*2]
757 struct ggml_tensor* cm_conv2_w = nullptr; // [1, 1, ch*2, ch]
758 struct ggml_tensor* cm_conv2_b = nullptr; // [ch]
759};
760
761struct edgetam_repvit_downsample {
762 // Pre-block (RepViT block at prev-stage channels, no SE)

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected