The shortest possible path with ggmlR: take a built-in dataset, train a neural network, and predict — using only the core Keras-like API, no tidymodels or mlr3. (For those ecosystems see the tidymodels and mlr3 vignettes.)
library(ggmlR)
x <- scale(as.matrix(iris[, 1:4])) # 4 numeric features
y <- model.matrix(~ Species - 1, iris) # one-hot, 3 classes
model <- ggml_model_sequential() |>
ggml_layer_dense(16L, activation = "relu", input_shape = 4L) |>
ggml_layer_dense(3L, activation = "softmax") |>
ggml_compile(optimizer = "adam", loss = "categorical_crossentropy")
model <- ggml_fit(model, x, y, epochs = 100L, verbose = 0L)
pred <- ggml_predict(model, x) # [150 x 3] class probabilities
acc <- mean(max.col(pred) == as.integer(iris$Species))
cat(sprintf("accuracy: %.3f\n", acc))That’s it — load data, stack layers, ggml_compile(),
ggml_fit(), ggml_predict(). ggmlR runs on the
GPU via Vulkan automatically when available and falls back to the CPU
otherwise; call ggml_model_backend(model) to see which
backend was actually used.
ag_*).