ANNeML Elements - adam-nnl/ANNeML GitHub Wiki

As a matter of convention all element(and attribute) names described in the ANNeML specification are upper case. There are only five(5) elements described in the ANNeML v1.0.0 schema, they are:

NNETWORK

Top-level or root element of any ANNeML file.

Has one required attribute: NNET_NAME

one optional attribute: NNET_V1

A valid NNETWORK element and therefore a valid ANNeML file must contain at least one SUBNET child element.


SUBNET

Secondary element in the ANNeML schema hierarchy. Every ANNeML file must contain at least one SUBNET but can also contain multiple SUBNET elements.

The SUBNET element has three attribute defined, all of them required: SNET_NAME, ADJUST_LOCK, and NNET_V2

A valid SUBNET element must contain at least one LAYER child element.


LAYER

Even though technically a SUBNET is only required to have one LAYER to be valid. Valid in this case does not necessarily mean working, a neural network with only one layer is not going to work correctly. Common sense and convention calls for at least one SUBNET in a NNETWORK document to contain a LAYER with LAYER_NAME='INPUT' a LAYER with LAYER_NAME='HIDDEN' and a LAYER with LAYER_NAME='OUTPUT'

The LAYER element has two required attributes: LAYER_NAME and TRANSFER_FUNCTION.

A LAYER element also has one optional attribute: NNET_V3

A valid LAYER element must contain at least one NEURODE child element.


NEURODE

A NEURODE element has five required attributes: N_ID, BIAS, ACTIVE, ACTIVITY, and NNET_V4.

There is also one optional attribute, CNAME.

A valid NEURODE element must contain at least one SYNAPSE child element.


SYNAPSE

Each SYNAPSE element has two required attributes: ORG_NEURODE and WEIGHT