class Mirlo::ANN

Attributes

ann[R]

Public Class Methods

build(*args, &block) click to toggle source
# File lib/mirlo/ann/ann.rb, line 4
def self.build(*args, &block)
  instance = new(*args)
  instance.instance_eval(&block)
  instance.ann
end
new(*args) click to toggle source
# File lib/mirlo/ann/ann.rb, line 10
def initialize(*args)
  @ann = Mirlo::MultilayerPerceptron.new(*args)
end

Public Instance Methods

connect_with_last_layer(layer) click to toggle source
# File lib/mirlo/ann/ann.rb, line 38
def connect_with_last_layer(layer)
  previous_layer = @ann.layers.last

  previous_layer.next_layer = layer
  layer.previous_layer = previous_layer
end
hidden_layer(n_neurons) click to toggle source
# File lib/mirlo/ann/ann.rb, line 22
def hidden_layer(n_neurons)
  hidden_layer   = Mirlo::HiddenLayer.new(n_neurons)

  connect_with_last_layer(hidden_layer)

  @ann.hidden_layers << hidden_layer
end
input_layer(n_inputs) click to toggle source
# File lib/mirlo/ann/ann.rb, line 18
def input_layer(n_inputs)
  @ann.input_layer = Mirlo::InputLayer.new(n_inputs)
end
learning_rate(l_rate) click to toggle source
# File lib/mirlo/ann/ann.rb, line 14
def learning_rate(l_rate)
  @ann.learning_rate = l_rate
end
output_layer(n_outputs) click to toggle source
# File lib/mirlo/ann/ann.rb, line 30
def output_layer(n_outputs)
  output_layer = Mirlo::OutputLayer.new(n_outputs)

  connect_with_last_layer(output_layer)

  @ann.output_layer = output_layer
end