Docs / jax4j-core / com.nablatensor.jax4j.engine
final class
Nabla
Records scalar functions once and evaluates them repeatedly with new inputs.
try (var evaluator = Nabla.model(rec -> {
SDouble x = rec.input("x", 2.0);
rec.output(x.mul(x));
}).fp64().gradients().on("cpu").build()) {
var result = evaluator.value().with("x", 3.0).scenarios(1).run();
System.out.println(result.value()); // 9.0
System.out.println(result.gradient("x")); // 6.0
}
Building an evaluator records and compiles the tape. Request inputs are kernel arguments, so subsequent evaluations reuse the compiled function.
Methods
static Model model(Consumer<AadRecorder> evaluation)
Records an evaluation written against SDouble into a reusable model.
static TypedModel<M> model(M defaults, BiConsumer<AadRecorder, Inputs<M>> evaluation)
Records a scalar function whose inputs are the double components of a record. Accessor references identify inputs; typed gradients have the same record shape.