Packages

A neural network library for the Elixir language.

Current section

Files

Jump to
synapses lib synapses.ex
Raw

lib/synapses.ex

defmodule Synapses do
@moduledoc false
defmodule ActivationFunction do
def sigmoid, do: :gleam_synapses@activation_function.sigmoid()
def identity, do: :gleam_synapses@activation_function.identity()
def tanh, do: :gleam_synapses@activation_function.tanh()
def leakyReLU, do: :gleam_synapses@activation_function.leaky_re_lu()
end
defmodule NeuralNetwork do
def init(layers), do: :gleam_synapses@neural_network.init(layers)
def initWithSeed(seed, layers), do: :gleam_synapses@neural_network.init_with_seed(seed, layers)
def customizedInit(layers, activationF, weightInitF),
do: :gleam_synapses@neural_network.customized_init(layers, activationF, weightInitF)
def prediction(network, inputValues), do: :gleam_synapses@neural_network.prediction(network, inputValues)
def errors(network, learningRate, inputValues, expectedOutput),
do: :gleam_synapses@neural_network.errors(network, learningRate, inputValues, expectedOutput)
def fit(network, learningRate, inputValues, expectedOutput),
do: :gleam_synapses@neural_network.fit(network, learningRate, inputValues, expectedOutput)
def toJson(network), do: :gleam_synapses@neural_network.to_json(network)
def ofJson(json), do: :gleam_synapses@neural_network.of_json(json)
def toSvg(network), do: :gleam_synapses@neural_network.to_svg(network)
end
defmodule DataPreprocessor do
def init(keysWithDiscreteFlags, datapoints) do
data = LazyConverter.stream_to_iterator(datapoints)
:gleam_synapses@data_preprocessor.init(keysWithDiscreteFlags, data)
end
def encodedDatapoint(dataPreprocessor, datapoint),
do: :gleam_synapses@data_preprocessor.encoded_datapoint(dataPreprocessor, datapoint)
def decodedDatapoint(dataPreprocessor, encodedValues),
do: :gleam_synapses@data_preprocessor.decoded_datapoint(dataPreprocessor, encodedValues)
def toJson(dataPreprocessor), do: :gleam_synapses@data_preprocessor.to_json(dataPreprocessor)
def ofJson(json), do: :gleam_synapses@data_preprocessor.of_json(json)
end
defmodule Statistics do
def rootMeanSquareError(expectedValuesWithOutputValues) do
expectedValuesWithOutputValues
|> LazyConverter.stream_to_iterator
|> :gleam_synapses@statistics.root_mean_square_error
end
end
end