Packages

A plug-and-play library for neural networks written in Gleam

Current section

Files

Jump to
gleam_synapses src gleam_synapses@model@net_elems@neuron@neuron_serialized.erl
Raw

src/gleam_synapses@model@net_elems@neuron@neuron_serialized.erl

-module(gleam_synapses@model@net_elems@neuron@neuron_serialized).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]).
-export([serialized/1, deserialized/1, json_encoded/1, json_decoder/0]).
-export_type([neuron_serialized/0]).
-type neuron_serialized() :: {neuron_serialized, binary(), list(float())}.
-file("/home/dimos/Projects/Gleam/gleam_synapses/src/gleam_synapses/model/net_elems/neuron/neuron_serialized.gleam", 13).
-spec serialized(gleam_synapses@model@net_elems@neuron@neuron:neuron()) -> neuron_serialized().
serialized(Neuron) ->
{neuron_serialized,
gleam_synapses@model@net_elems@activation@activation_serialized:serialized(
erlang:element(2, Neuron)
),
gleam_zlists:to_list(erlang:element(3, Neuron))}.
-file("/home/dimos/Projects/Gleam/gleam_synapses/src/gleam_synapses/model/net_elems/neuron/neuron_serialized.gleam", 20).
-spec deserialized(neuron_serialized()) -> gleam_synapses@model@net_elems@neuron@neuron:neuron().
deserialized(Neuron_serialized) ->
{neuron,
gleam_synapses@model@net_elems@activation@activation_serialized:deserialized(
erlang:element(2, Neuron_serialized)
),
gleam_zlists:of_list(erlang:element(3, Neuron_serialized))}.
-file("/home/dimos/Projects/Gleam/gleam_synapses/src/gleam_synapses/model/net_elems/neuron/neuron_serialized.gleam", 27).
-spec json_encoded(neuron_serialized()) -> gleam@json:json().
json_encoded(Neuron_serialized) ->
gleam@json:object(
[{<<"activationF"/utf8>>,
gleam_synapses@model@net_elems@activation@activation_serialized:json_encoded(
erlang:element(2, Neuron_serialized)
)},
{<<"weights"/utf8>>,
gleam@json:array(
erlang:element(3, Neuron_serialized),
fun gleam@json:float/1
)}]
).
-file("/home/dimos/Projects/Gleam/gleam_synapses/src/gleam_synapses/model/net_elems/neuron/neuron_serialized.gleam", 37).
-spec json_decoder() -> fun((gleam@dynamic:dynamic_()) -> {ok,
neuron_serialized()} |
{error, list(gleam@dynamic:decode_error())}).
json_decoder() ->
gleam@dynamic:decode2(
fun(Field@0, Field@1) -> {neuron_serialized, Field@0, Field@1} end,
gleam@dynamic:field(
<<"activationF"/utf8>>,
gleam_synapses@model@net_elems@activation@activation_serialized:json_decoder(
)
),
gleam@dynamic:field(
<<"weights"/utf8>>,
gleam@dynamic:list(fun gleam@dynamic:float/1)
)
).