Yelp / MOE

A global, black box optimization engine for real world metric optimization.
Other
1.31k stars 139 forks source link

[C++] have GradientDescentParameters track a ``num_steps_averaged`` field #391

Closed suntzu86 closed 9 years ago

suntzu86 commented 10 years ago

BLOCKING: #390

Before we can implement polyak-ruppert averaging for C++'s gradient descent function, we need the parameter struct to hold this value.

Currently, the moe.optimal_learning.python.cpp_wrappers.optimization.GradientDescentParameters wrapper takes in a num_steps_averaged field but does not pass it on to C++. The field is stored locally in Python so the data is not lost.

We need to:

  1. add num_steps_averaged to the C++ GradientDescentParameters struct
  2. update docs to describe averaging
  3. remove the local copy stored in the Python wrapper object