Class: Neuronet::MLP
- Inherits:
-
Object
- Object
- Neuronet::MLP
- Includes:
- Arrayable, Exportable, NetworkStats, Trainable
- Defined in:
- lib/neuronet/mlp.rb
Overview
Multi Layer Perceptron(3 layers)
Instance Attribute Summary collapse
-
#input_layer ⇒ Object
readonly
rubocop: enable Metrics.
-
#middle_layer ⇒ Object
readonly
rubocop: enable Metrics.
-
#output_layer ⇒ Object
readonly
rubocop: enable Metrics.
Instance Method Summary collapse
- #*(other) ⇒ Object
-
#initialize(input_size, middle_size, output_size, input_neuron: InputNeuron, middle_neuron: MiddleNeuron, output_neuron: OutputNeuron) ⇒ MLP
constructor
rubocop: disable Metrics.
- #set(values) ⇒ Object
- #to_a ⇒ Object
- #update ⇒ Object
- #values ⇒ Object
Methods included from Arrayable
#[], #each, #each_with_index, #map, #reverse, #size
Methods included from Trainable
Methods included from Exportable
#export, #export_to_file, #import, #import_from_file
Methods included from NetworkStats
#expected_nju, #expected_nju!, #njus
Constructor Details
#initialize(input_size, middle_size, output_size, input_neuron: InputNeuron, middle_neuron: MiddleNeuron, output_neuron: OutputNeuron) ⇒ MLP
rubocop: disable Metrics
12 13 14 15 16 17 18 19 20 21 |
# File 'lib/neuronet/mlp.rb', line 12 def initialize(input_size, middle_size, output_size, input_neuron: InputNeuron, middle_neuron: MiddleNeuron, output_neuron: OutputNeuron) @input_layer = InputLayer.new(input_size, input_neuron:) @middle_layer = MiddleLayer.new(middle_size, middle_neuron:) @output_layer = OutputLayer.new(output_size, output_neuron:) @middle_layer.connect(@input_layer) @output_layer.connect(@middle_layer) end |
Instance Attribute Details
#input_layer ⇒ Object (readonly)
rubocop: enable Metrics
24 25 26 |
# File 'lib/neuronet/mlp.rb', line 24 def input_layer @input_layer end |
#middle_layer ⇒ Object (readonly)
rubocop: enable Metrics
24 25 26 |
# File 'lib/neuronet/mlp.rb', line 24 def middle_layer @middle_layer end |
#output_layer ⇒ Object (readonly)
rubocop: enable Metrics
24 25 26 |
# File 'lib/neuronet/mlp.rb', line 24 def output_layer @output_layer end |
Instance Method Details
#*(other) ⇒ Object
38 39 40 41 42 |
# File 'lib/neuronet/mlp.rb', line 38 def *(other) set(other) update values end |
#set(values) ⇒ Object
26 27 28 |
# File 'lib/neuronet/mlp.rb', line 26 def set(values) @input_layer.set(values) end |
#to_a ⇒ Object
44 |
# File 'lib/neuronet/mlp.rb', line 44 def to_a = [@input_layer, @middle_layer, @output_layer] |
#update ⇒ Object
30 31 32 |
# File 'lib/neuronet/mlp.rb', line 30 def update @middle_layer.update end |
#values ⇒ Object
34 35 36 |
# File 'lib/neuronet/mlp.rb', line 34 def values @output_layer.values end |