Class: DNN::Optimizers::RMSProp

Inherits:
Optimizer show all
Defined in:
lib/dnn/core/optimizers.rb

Instance Attribute Summary collapse

Attributes inherited from Optimizer

#clip_norm, #status

Instance Method Summary collapse

Methods inherited from Optimizer

from_hash, #update, #update_layers

Constructor Details

#initialize(lr: 0.001, alpha: 0.9, eps: 1e-7, clip_norm: nil) ⇒ RMSProp

Returns a new instance of RMSProp.

Parameters:

  • lr (Float) (defaults to: 0.001)

    Learning rate.

  • alpha (Float) (defaults to: 0.9)

    Moving average index of past slopes.

  • eps (Float) (defaults to: 1e-7)

    Value to avoid division by zero.



153
154
155
156
157
158
159
160
# File 'lib/dnn/core/optimizers.rb', line 153

def initialize(lr: 0.001, alpha: 0.9, eps: 1e-7, clip_norm: nil)
  super(clip_norm: clip_norm)
  @lr = lr
  @alpha = alpha
  @eps = eps
  @g = {}
  @status = { g: @g }
end

Instance Attribute Details

#alphaObject

Returns the value of attribute alpha.



147
148
149
# File 'lib/dnn/core/optimizers.rb', line 147

def alpha
  @alpha
end

#epsObject

Returns the value of attribute eps.



148
149
150
# File 'lib/dnn/core/optimizers.rb', line 148

def eps
  @eps
end

#lrObject

Returns the value of attribute lr.



146
147
148
# File 'lib/dnn/core/optimizers.rb', line 146

def lr
  @lr
end

Instance Method Details

#load_hash(hash) ⇒ Object



174
175
176
# File 'lib/dnn/core/optimizers.rb', line 174

def load_hash(hash)
  initialize(lr: hash[:lr], alpha: hash[:alpha], eps: hash[:eps], clip_norm: hash[:clip_norm])
end

#to_hashObject



162
163
164
# File 'lib/dnn/core/optimizers.rb', line 162

def to_hash
  super(lr: @lr, alpha: @alpha, eps: @eps)
end