| ggml_glu | R Documentation |
Creates a graph node for GLU operation with specified gating type. GLU splits the input tensor in half along the first dimension, applies an activation to the first half (x), and multiplies it with the second half (gate).
ggml_glu(ctx, a, op, swapped = FALSE)
ctx |
GGML context |
a |
Input tensor (first dimension must be even) |
op |
GLU operation type (GGML_GLU_OP_REGLU, GGML_GLU_OP_GEGLU, etc.) |
swapped |
If TRUE, swap x and gate halves (default FALSE) |
Formula: output = activation(x) * gate where x and gate are the two halves of the input tensor.
Tensor with shape [n/2, ...] where n is the first dimension of input
ctx <- ggml_init(16 * 1024 * 1024)
# Create tensor with 10 columns (will be split into 5 + 5)
a <- ggml_new_tensor_2d(ctx, GGML_TYPE_F32, 10, 4)
ggml_set_f32(a, rnorm(40))
# Apply SwiGLU
r <- ggml_glu(ctx, a, GGML_GLU_OP_SWIGLU, FALSE)
graph <- ggml_build_forward_expand(ctx, r)
ggml_graph_compute(ctx, graph)
result <- ggml_get_f32(r) # Shape: 5x4
ggml_free(ctx)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.