@@ -2495,12 +2495,12 @@ struct llama_hparams {
2495
2495
uint32_t time_decay_extra_dim = 0;
2496
2496
uint32_t wkv_head_size = 0;
2497
2497
2498
- float rope_attn_factor = 1.0f;
2499
- float rope_freq_base_train;
2500
- float rope_freq_scale_train;
2501
- uint32_t n_ctx_orig_yarn;
2502
- float rope_yarn_log_mul;
2503
- std::array< int, 4> rope_sections;
2498
+ float rope_attn_factor = 1.0f;
2499
+ float rope_freq_base_train;
2500
+ float rope_freq_scale_train;
2501
+ uint32_t n_ctx_orig_yarn;
2502
+ float rope_yarn_log_mul;
2503
+ int rope_sections[4] ;
2504
2504
2505
2505
// for State Space Models
2506
2506
uint32_t ssm_d_conv = 0;
@@ -5779,8 +5779,9 @@ static void llm_load_hparams(
5779
5779
} break;
5780
5780
case LLM_ARCH_QWEN2VL:
5781
5781
{
5782
- std::fill(hparams.rope_sections.begin(), hparams.rope_sections.end(), 0);
5783
- ml.get_key_or_arr(LLM_KV_ROPE_DIMENSION_SECTIONS, hparams.rope_sections, 4, true);
5782
+ std::array<int, 4> section_dims;
5783
+ ml.get_key_or_arr(LLM_KV_ROPE_DIMENSION_SECTIONS, section_dims, 4, true);
5784
+ std::copy(section_dims.begin(), section_dims.begin() + 4, std::begin(hparams.rope_sections));
5784
5785
}
5785
5786
// fall through
5786
5787
case LLM_ARCH_QWEN2:
@@ -12614,7 +12615,7 @@ struct llm_build_context {
12614
12615
// KQ_mask (mask for 1 head, it will be broadcasted to all heads)
12615
12616
struct ggml_tensor * KQ_mask = build_inp_KQ_mask();
12616
12617
int sections[4];
12617
- std::copy(hparams.rope_sections.begin( ), hparams.rope_sections.end() , sections);
12618
+ std::copy(std::begin( hparams.rope_sections), std::begin( hparams.rope_sections) + 4 , sections);
12618
12619
12619
12620
for (int il = 0; il < n_layer; ++il) {
12620
12621
struct ggml_tensor * inpSA = inpL;
0 commit comments