Class: TensorStream::Train::GradientDescentOptimizer
- Inherits:
-
Object
- Object
- TensorStream::Train::GradientDescentOptimizer
- Defined in:
- lib/tensor_stream/train/gradient_descent_optimizer.rb
Overview
High Level implementation of the gradient descent algorithm
Instance Attribute Summary collapse
-
#learning_rate ⇒ Object
Returns the value of attribute learning_rate.
Instance Method Summary collapse
-
#initialize(learning_rate, _options = {}) ⇒ GradientDescentOptimizer
constructor
A new instance of GradientDescentOptimizer.
- #minimize(cost) ⇒ Object
Constructor Details
#initialize(learning_rate, _options = {}) ⇒ GradientDescentOptimizer
Returns a new instance of GradientDescentOptimizer.
7 8 9 |
# File 'lib/tensor_stream/train/gradient_descent_optimizer.rb', line 7 def initialize(learning_rate, = {}) @learning_rate = learning_rate end |
Instance Attribute Details
#learning_rate ⇒ Object
Returns the value of attribute learning_rate.
5 6 7 |
# File 'lib/tensor_stream/train/gradient_descent_optimizer.rb', line 5 def learning_rate @learning_rate end |
Instance Method Details
#minimize(cost) ⇒ Object
11 12 13 14 15 16 17 |
# File 'lib/tensor_stream/train/gradient_descent_optimizer.rb', line 11 def minimize(cost) trainable_vars = TensorStream.trainable_variables derivatives = TensorStream.gradients(cost, trainable_vars) trainable_vars.each_with_index.collect do |var, index| var.assign_sub(derivatives[index] * @learning_rate) end end |