mg_value * mg_neuron_call(mg_graph *g, mg_neuron *n, mg_value **x)
Evaluate a neuron with the given input values.
void mg_neuron_free(mg_neuron *n)
Free memory owned by a neuron.
bool mg_neuron_init(mg_graph *g, mg_neuron *n, size_t nin, bool non_linear)
Initialize a neuron.
size_t mg_neuron_param_count(const mg_neuron *n)
Get the number of trainable parameters in a neuron.
void mg_neuron_params(const mg_neuron *n, mg_value **out)
Copy a neuron's parameters into a flat array.
struct mg_graph mg_graph
Opaque owner of a linked list of mg_value nodes.
Definition value.h:22
struct mg_value mg_value
Opaque scalar node in a computation graph.
Definition value.h:30
Fully connected neuron in a neural network.
Definition neuron.h:22
bool non_linear
Definition neuron.h:24
size_t n_in
Definition neuron.h:23
mg_value ** w
Definition neuron.h:25
mg_value * b
Definition neuron.h:26
Scalar value and autograd graph API.