micrograd 0.1.0
Small C implementation of micrograd
Loading...
Searching...
No Matches
Neuron API

Fully connected neuron construction, evaluation, and parameters. More...

Data Structures

struct  mg_neuron
 Fully connected neuron in a neural network. More...
 

Functions

bool mg_neuron_init (mg_graph *g, mg_neuron *n, size_t nin, bool non_linear)
 Initialize a neuron.
 
void mg_neuron_free (mg_neuron *n)
 Free memory owned by a neuron.
 
mg_valuemg_neuron_call (mg_graph *g, mg_neuron *n, mg_value **x)
 Evaluate a neuron with the given input values.
 
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.
 

Detailed Description

Fully connected neuron construction, evaluation, and parameters.

Function Documentation

◆ mg_neuron_call()

mg_value * mg_neuron_call ( mg_graph g,
mg_neuron n,
mg_value **  x 
)

Evaluate a neuron with the given input values.

Parameters
gGraph that owns any intermediate and output values.
nNeuron to evaluate.
xArray of n->n_in input values.
Returns
The output value, or NULL on invalid input or allocation failure.

◆ mg_neuron_free()

void mg_neuron_free ( mg_neuron n)

Free memory owned by a neuron.

Parameters
nNeuron to free.

◆ mg_neuron_init()

bool mg_neuron_init ( mg_graph g,
mg_neuron n,
size_t  nin,
bool  non_linear 
)

Initialize a neuron.

Parameters
gGraph that owns the neuron's values.
nNeuron to initialize.
ninNumber of input values.
non_linearWhether to apply the non-linear activation function.
Returns
true on success, false on allocation failure.

◆ mg_neuron_param_count()

size_t mg_neuron_param_count ( const mg_neuron n)

Get the number of trainable parameters in a neuron.

Parameters
nNeuron to inspect.
Returns
Number of weight values plus the bias value.

◆ mg_neuron_params()

void mg_neuron_params ( const mg_neuron n,
mg_value **  out 
)

Copy a neuron's parameters into a flat array.

Parameters
nNeuron to inspect.
outOutput array with at least mg_neuron_param_count(n) entries.