| 4439 | // ggml_conv_1d_dw |
| 4440 | |
| 4441 | struct ggml_tensor * ggml_conv_1d_dw( |
| 4442 | struct ggml_context * ctx, |
| 4443 | struct ggml_tensor * a, |
| 4444 | struct ggml_tensor * b, |
| 4445 | int s0, |
| 4446 | int p0, |
| 4447 | int d0) { |
| 4448 | struct ggml_tensor * new_b = ggml_reshape_4d(ctx, b, b->ne[0], 1, b->ne[1], b->ne[2]); |
| 4449 | |
| 4450 | struct ggml_tensor * im2col = ggml_im2col(ctx, a, new_b, s0, 0, p0, 0, d0, 0, false, GGML_TYPE_F16); |
| 4451 | |
| 4452 | struct ggml_tensor * result = ggml_mul_mat(ctx, im2col, a); |
| 4453 | |
| 4454 | result = ggml_reshape_3d(ctx, result, result->ne[0], result->ne[2], 1); |
| 4455 | |
| 4456 | return result; |
| 4457 | } |
| 4458 | |
| 4459 | // ggml_conv_1d_dw_ph |
| 4460 |
no test coverage detected