| 469 | } |
| 470 | |
| 471 | ggml_tensor * clip_graph::build_norm( |
| 472 | ggml_tensor * cur, |
| 473 | ggml_tensor * mw, |
| 474 | ggml_tensor * mb, |
| 475 | norm_type type, |
| 476 | float norm_eps, |
| 477 | int il) const { |
| 478 | |
| 479 | cur = type == NORM_TYPE_RMS |
| 480 | ? ggml_rms_norm(ctx0, cur, norm_eps) |
| 481 | : ggml_norm(ctx0, cur, norm_eps); |
| 482 | |
| 483 | if (mw) { |
| 484 | cur = ggml_mul(ctx0, cur, mw); |
| 485 | cb(cur, "norm_w", il); |
| 486 | } |
| 487 | |
| 488 | if (mb) { |
| 489 | cur = ggml_add(ctx0, cur, mb); |
| 490 | cb(cur, "norm_b", il); |
| 491 | } |
| 492 | |
| 493 | return cur; |
| 494 | } |
| 495 | |
| 496 | ggml_tensor * clip_graph::build_ffn( |
| 497 | ggml_tensor * cur, |
nothing calls this directly
no test coverage detected