Ann

A module for storing and (de)serializing ANNs (artificial neural networks).

Summary

Functions

Forms connections between all of an ANN’s input and output neurons with weights of 1.0

Returns the JSON representation of a given ANN

Creates a new ANN from the given JSON

Creates a new ANN from the given parameters

Saves a given binary to a given file path. Overwrites data previously exiting in the file

Generates the GraphViz representation of the neural network, then saves it to the given path

Returns a string with a GraphViz representation of a neural network

Functions

breakdown(ann)
connectAll(ann)

Forms connections between all of an ANN’s input and output neurons with weights of 1.0.

json(ann)

Returns the JSON representation of a given ANN.

new(json)

Creates a new ANN from the given JSON.

new(inputs, outputs, connections \\ HashDict.new())

Creates a new ANN from the given parameters.

Example:

iex> Ann.new([0, 1], [2], %{0 => Ann.Connection.new(0, 2, 0.5)}) #connects 0 to 2 with a weight of 0.5 (and an id of 0)
%Ann{connections: %{0 => Ann.Connection.new(0, 2, 0.5)}, input: [0, 1], output: [2]}
saveData(binary, path)

Saves a given binary to a given file path. Overwrites data previously exiting in the file.

saveGZ(ann, path)

Generates the GraphViz representation of the neural network, then saves it to the given path.

saveJson(ann, path)
toGZ(ann)

Returns a string with a GraphViz representation of a neural network.