best point seen so far. This change will allow me to use the optimizer in conjunction
with methods for quickly approximating subgradients and risk values without needing
to worry about the optimizer permanently fixating on what it erroneously thinks
is the best point. Now the optimizer will just keep solving the cutting plane
subproblem and will use that solution as the current iterate and best known
solution.
--HG--
extra : convert_revision : svn%3Afdd8eb12-d10e-0410-9acb-85c331704f74/trunk%404170
max_index_plus_one() so that it uses the same name as the essentially identical
function for working with sparse vectors.
--HG--
extra : convert_revision : svn%3Afdd8eb12-d10e-0410-9acb-85c331704f74/trunk%404168
implementation and into the sparse_vector.h header. These are the add_to(), subtract_from(),
and max_index_plus_one() functions.
--HG--
extra : convert_revision : svn%3Afdd8eb12-d10e-0410-9acb-85c331704f74/trunk%404167
sparse samples which were of type std::vector<std::pair<> >. Moreover, some of
the trainers have a dependency on kernel_matrix() so this fix makes those trainers
also work with this kind of sparse sample.
--HG--
extra : convert_revision : svn%3Afdd8eb12-d10e-0410-9acb-85c331704f74/trunk%404164
of the labels output vector before adding the loaded label data.
--HG--
extra : convert_revision : svn%3Afdd8eb12-d10e-0410-9acb-85c331704f74/trunk%404161
rather than resolving it from scratch during each iteration. This
improves the speed and stability of the algorithm.
--HG--
extra : convert_revision : svn%3Afdd8eb12-d10e-0410-9acb-85c331704f74/trunk%404155
assignment problem (in the new max_cost_assignment() routine).
--HG--
extra : convert_revision : svn%3Afdd8eb12-d10e-0410-9acb-85c331704f74/trunk%404149
use general functions as callbacks (via any_function). This way,
if you have a C++0x compiler, you can use lambda functions with the
event handlers.
--HG--
extra : convert_revision : svn%3Afdd8eb12-d10e-0410-9acb-85c331704f74/trunk%404134
is_set() to the any_function so that it's interface is similar to the
member_function_pointer.
--HG--
extra : convert_revision : svn%3Afdd8eb12-d10e-0410-9acb-85c331704f74/trunk%404132
upcoming C++0x standard. I added this so dlib can be modified to easily support lambda
functions while still being compilable on compilers which don't support the new
std::function.
--HG--
extra : convert_revision : svn%3Afdd8eb12-d10e-0410-9acb-85c331704f74/trunk%404130
distance_functions with no basis vectors in them were added or subtracted.
--HG--
extra : convert_revision : svn%3Afdd8eb12-d10e-0410-9acb-85c331704f74/trunk%404128
a global function called approximate_distance_function() which performs the main optimization. The
reduced_decision_function_trainer2 now depends on this global function. This changes makes this
function optimizer available for other purposes besides use in the reduced_decision_function_trainer2
object.
--HG--
extra : convert_revision : svn%3Afdd8eb12-d10e-0410-9acb-85c331704f74/trunk%404125
rather than just a simple struct. I also added overloaded +, -, *, and / operators
for this object so you can do the kind of arithmetic you would expect on an object
which represents a point in a vector space. This breaks backwards compatibility
with the previous interface though as the member variables are now private.
--HG--
extra : convert_revision : svn%3Afdd8eb12-d10e-0410-9acb-85c331704f74/trunk%404124
The bug details are below:
dlib GUI applications don't work anymore after I upgraded to Ubuntu 10.10 (AMD64). They
consistently crash in base_window::set_title. XwcTextListToTextProperty returns
XLocaleNotSupported instead of initializing 'property', but dlib ignores the return value,
resulting in a crash in XLib when XSetWMName is called with garbage input or when
property.value is XFreed without having been allocated.
--HG--
extra : convert_revision : svn%3Afdd8eb12-d10e-0410-9acb-85c331704f74/trunk%404120