MCPcopy Create free account
hub / github.com/appdevforall/CodeOnTheGo / clip_n_mmproj_embd

Function clip_n_mmproj_embd

subprojects/llama.cpp/tools/mtmd/clip.cpp:3730–3783  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3728}
3729
3730int clip_n_mmproj_embd(const struct clip_ctx * ctx) {
3731 switch (ctx->model.proj_type) {
3732 case PROJECTOR_TYPE_LDP:
3733 return ctx->model.mm_model_block_1_block_2_1_b->ne[0];
3734 case PROJECTOR_TYPE_LDPV2:
3735 return ctx->model.mm_model_peg_0_b->ne[0];
3736 case PROJECTOR_TYPE_MLP:
3737 case PROJECTOR_TYPE_PIXTRAL:
3738 case PROJECTOR_TYPE_LIGHTONOCR:
3739 return ctx->model.mm_2_w->ne[1];
3740 case PROJECTOR_TYPE_MLP_NORM:
3741 return ctx->model.mm_3_b->ne[0];
3742 case PROJECTOR_TYPE_MINICPMV:
3743 return ctx->model.mm_model_proj->ne[0];
3744 case PROJECTOR_TYPE_GLM_EDGE:
3745 return ctx->model.mm_model_mlp_3_w->ne[1];
3746 case PROJECTOR_TYPE_QWEN2VL:
3747 case PROJECTOR_TYPE_QWEN25VL:
3748 case PROJECTOR_TYPE_JANUS_PRO:
3749 case PROJECTOR_TYPE_YOUTUVL:
3750 return ctx->model.mm_1_b->ne[0];
3751 case PROJECTOR_TYPE_QWEN3VL:
3752 // main path + deepstack paths
3753 return ctx->model.mm_1_b->ne[0] * (1 + ctx->model.n_deepstack_layers);
3754 case PROJECTOR_TYPE_GEMMA3:
3755 case PROJECTOR_TYPE_GEMMA3NV:
3756 return ctx->model.mm_input_proj_w->ne[0];
3757 case PROJECTOR_TYPE_IDEFICS3:
3758 return ctx->model.projection->ne[1];
3759 case PROJECTOR_TYPE_ULTRAVOX:
3760 case PROJECTOR_TYPE_VOXTRAL:
3761 case PROJECTOR_TYPE_MUSIC_FLAMINGO:
3762 return ctx->model.mm_2_w->ne[1];
3763 case PROJECTOR_TYPE_INTERNVL:
3764 return ctx->model.mm_3_w->ne[1];
3765 case PROJECTOR_TYPE_LLAMA4:
3766 return ctx->model.mm_model_proj->ne[1];
3767 case PROJECTOR_TYPE_QWEN2A:
3768 return ctx->model.mm_fc_w->ne[1];
3769 case PROJECTOR_TYPE_GLMA:
3770 return ctx->model.mm_2_w->ne[1];
3771 case PROJECTOR_TYPE_LFM2:
3772 case PROJECTOR_TYPE_KIMIVL:
3773 return ctx->model.mm_2_w->ne[1];
3774 case PROJECTOR_TYPE_COGVLM:
3775 return ctx->model.mm_4h_to_h_w->ne[1];
3776 case PROJECTOR_TYPE_LFM2A:
3777 return ctx->model.position_embeddings->ne[0];
3778 case PROJECTOR_TYPE_GLM4V:
3779 return ctx->model.mm_ffn_down_w->ne[1];
3780 default:
3781 GGML_ABORT("Unknown projector type");
3782 }
3783}
3784
3785int clip_is_minicpmv(const struct clip_ctx * ctx) {
3786 // TODO: remove this function

Callers 5

clip_graphMethod · 0.85
clip_embd_nbytes_by_imgFunction · 0.85
clip_image_batch_encodeFunction · 0.85
mtmd_contextMethod · 0.85
mtmd_encodeFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected