Class: RubyZero::NN::Optimizers::SGD

Inherits:
Optimizer
  • Object
show all
Defined in:
lib/rubyzero/nn/optimizers/sgd.rb

Instance Method Summary collapse

Methods inherited from Optimizer

#zero_grad

Constructor Details

#initialize(parameters, lr: 0.01) ⇒ SGD

Returns a new instance of SGD.



3
4
5
6
# File 'lib/rubyzero/nn/optimizers/sgd.rb', line 3

def initialize(parameters, lr: 0.01)
    @lr = lr
    @parameters = parameters
end

Instance Method Details

#updateObject Also known as: step



7
8
9
10
11
# File 'lib/rubyzero/nn/optimizers/sgd.rb', line 7

def update()
    @parameters.each do |tensor|
        tensor.data -= tensor.grad.data * @lr
    end
end