diff --git a/ggml/src/ggml.c b/ggml/src/ggml.c index 06d8a8654..a32cfcb09 100644 --- a/ggml/src/ggml.c +++ b/ggml/src/ggml.c @@ -18843,6 +18843,15 @@ static void ggml_compute_backward(struct ggml_context * ctx, struct ggml_tensor zero_table); } } break; + case GGML_UNARY_OP_EXP: + { + if (src0->grad) { + src0->grad = ggml_add_or_set(ctx, + src0->grad, + ggml_mul(ctx, tensor, tensor->grad), + zero_table); + } + } break; default: GGML_ABORT("fatal error"); }