From f784f9fa1232fb5f8176f6ce1b70f946407e1002 Mon Sep 17 00:00:00 2001 From: Georgi Gerganov Date: Sun, 19 Nov 2023 10:32:32 +0200 Subject: [PATCH] whisper : fix overriding the audio context --- whisper.cpp | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/whisper.cpp b/whisper.cpp index e2197ff..f848ee0 100644 --- a/whisper.cpp +++ b/whisper.cpp @@ -1732,22 +1732,20 @@ static struct ggml_cgraph * whisper_build_graph_conv( // convolution + gelu { cur = ggml_conv_1d_ph(ctx0, model.e_conv_1_w, mel, 1, 1); - cur = ggml_add(ctx0, cur, model.e_conv_1_b); - //cur = ggml_add(ctx0, - // ggml_repeat(ctx0, - // model.e_conv_1_b, - // cur), - // cur); + if (n_ctx == hparams.n_audio_ctx) { + cur = ggml_add(ctx0, cur, model.e_conv_1_b); + } else { + cur = ggml_add(ctx0, cur, ggml_cont(ctx0, ggml_view_2d(ctx0, model.e_conv_1_b, cur->ne[0], cur->ne[1], model.e_conv_1_b->nb[1], 0))); + } cur = ggml_gelu(ctx0, cur); cur = ggml_conv_1d_ph(ctx0, model.e_conv_2_w, cur, 2, 1); - cur = ggml_add(ctx0, cur, model.e_conv_2_b); - //cur = ggml_add(ctx0, - // ggml_repeat(ctx0, - // model.e_conv_2_b, - // cur), - // cur); + if (n_ctx == hparams.n_audio_ctx) { + cur = ggml_add(ctx0, cur, model.e_conv_2_b); + } else { + cur = ggml_add(ctx0, cur, ggml_cont(ctx0, ggml_view_2d(ctx0, model.e_conv_2_b, cur->ne[0], cur->ne[1], model.e_conv_2_b->nb[1], 0))); + } cur = ggml_gelu(ctx0, cur); }