gnn_parallel is a constructor node for implementing parallel computing schemes. Given the
functions
with input sizes
and output sizes
, it computes the function
given by
where
, in this order.
Functions | |
| int | gnn_parallel_f (gnn_node *node, const gsl_vector *x, const gsl_vector *w, gsl_vector *y) |
| Computes the output. | |
| int | gnn_parallel_dx (gnn_node *node, const gsl_vector *x, const gsl_vector *w, const gsl_vector *dy, gsl_vector *dx) |
Computes
. | |
| int | gnn_parallel_dw (gnn_node *node, const gsl_vector *x, const gsl_vector *w, const gsl_vector *dy, gsl_vector *dw) |
Computes
. | |
| void | gnn_parallel_destroy (gnn_node *node) |
| Frees the gnn_parallel specific data. | |
| gnn_node * | gnn_parallel_new (size_t size,...) |
| Creates a gnn_parallel node. | |
| gnn_node * | gnn_parallel_new_with_node_vector (gnn_node_vector *v) |
| Creates a gnn_parallel node with a given node vector. | |
| int | gnn_parallel_get_input_offset (gnn_node *node, int i) |
| Gets the offset of the i-th subnode's input. | |
| int | gnn_parallel_get_input_length (gnn_node *node, int i) |
| Gets the length of the i-th subnode's input. | |
| int | gnn_parallel_get_output_offset (gnn_node *node, int i) |
| Gets the offset of the i-th subnode's output. | |
| int | gnn_parallel_get_output_length (gnn_node *node, int i) |
| Gets the length of the i-th subnode's output. | |
|
|
This function (the gnn_parallel destructor) frees the 4 auxiliary arrays allocated for the gnn_parallel node.
Definition at line 270 of file gnn_parallel.c. |
|
||||||||||||||||||||||||
|
This functions computes the parameter gradient of the parallel node. Given
where
Definition at line 233 of file gnn_parallel.c. |
|
||||||||||||||||||||||||
|
This functions computes the input gradient of the parallel node. Given
where
Definition at line 165 of file gnn_parallel.c. |
|
||||||||||||||||||||
|
This functions computes the parallel function.
Definition at line 96 of file gnn_parallel.c. |
|
||||||||||||
|
Definition at line 509 of file gnn_parallel.c. |
|
||||||||||||
|
Definition at line 487 of file gnn_parallel.c. |
|
||||||||||||
|
Definition at line 553 of file gnn_parallel.c. |
|
||||||||||||
|
Definition at line 531 of file gnn_parallel.c. |
|
||||||||||||
|
This function creates a node of the gnn_parallel type. Its inputs and outputs are the concatenation of its subnode's inputs and outputs. Example: gnn_node *parallel, *node1, *node2, *node3; // build the node 1 to 3 ... // build the parallel node parallel = gnn_parallel_new (3, node1, node2, node3);
Definition at line 320 of file gnn_parallel.c. |
|
|
This function creates a node of the gnn_parallel type. Its inputs and outputs are the concatenation of its subnode's inputs and outputs. Example: gnn_node *parallel; gnn_node_vector *vector; // build the node vector vector = gnn_node_vector_new (3); // build the nodes vector[0], vector[1] and vector[2] ... // build the stack parallel = gnn_parallel_new_with_node_vector (vector);
Definition at line 382 of file gnn_parallel.c. |
1.2.18