From 7b72e17b7ed653890a85cddb2702b20bc51a9a3d Mon Sep 17 00:00:00 2001 From: bssrdf Date: Mon, 26 Feb 2024 16:34:04 -0500 Subject: [PATCH] a bit clean up --- clip.hpp | 24 +++++++----------------- 1 file changed, 7 insertions(+), 17 deletions(-) diff --git a/clip.hpp b/clip.hpp index 49b21654..fc171aec 100644 --- a/clip.hpp +++ b/clip.hpp @@ -542,29 +542,19 @@ public: struct ggml_tensor* forward(struct ggml_context* ctx, struct ggml_tensor* x, bool mask = true, bool atten1 = true) { // x: [N, n_token, d_model] + auto layer_norm1 = std::dynamic_pointer_cast(blocks["layer_norm1"]); + auto layer_norm2 = std::dynamic_pointer_cast(blocks["layer_norm2"]); + auto mlp = std::dynamic_pointer_cast(blocks["mlp"]); if(atten1){ - auto self_attn = std::dynamic_pointer_cast(blocks["self_attn"]); - auto layer_norm1 = std::dynamic_pointer_cast(blocks["layer_norm1"]); - auto layer_norm2 = std::dynamic_pointer_cast(blocks["layer_norm2"]); - auto mlp = std::dynamic_pointer_cast(blocks["mlp"]); - + auto self_attn = std::dynamic_pointer_cast(blocks["self_attn"]); x = ggml_add(ctx, x, self_attn->forward(ctx, layer_norm1->forward(ctx, x), mask)); - x = ggml_add(ctx, x, mlp->forward(ctx, layer_norm2->forward(ctx, x))); - return x; } else{ - auto self_attn = std::dynamic_pointer_cast(blocks["self_attn"]); - auto layer_norm1 = std::dynamic_pointer_cast(blocks["layer_norm1"]); - auto layer_norm2 = std::dynamic_pointer_cast(blocks["layer_norm2"]); - auto mlp = std::dynamic_pointer_cast(blocks["mlp"]); - - // struct ggml_tensor* h = layer_norm1->forward(ctx, x); - // h = self_attn->forward(ctx, h, mask); + auto self_attn = std::dynamic_pointer_cast(blocks["self_attn"]); x = ggml_add(ctx, x, self_attn->forward(ctx, layer_norm1->forward(ctx, x), mask)); - // x = ggml_add(ctx, x, h); - x = ggml_add(ctx, x, mlp->forward(ctx, layer_norm2->forward(ctx, x))); - return x; } + x = ggml_add(ctx, x, mlp->forward(ctx, layer_norm2->forward(ctx, x))); + return x; } };