Add callback to lmnn
This commit is contained in:
@@ -79,7 +79,8 @@ class LMNN
|
||||
*
|
||||
* @param outputMatrix Covariance matrix of Mahalanobis distance.
|
||||
*/
|
||||
void LearnDistance(arma::mat& outputMatrix);
|
||||
template<typename... CallbackTypes>
|
||||
void LearnDistance(arma::mat& outputMatrix, CallbackTypes&&... callbacks);
|
||||
|
||||
|
||||
//! Get the dataset reference.
|
||||
|
||||
@@ -36,7 +36,9 @@ LMNN<MetricType, OptimizerType>::LMNN(const arma::mat& dataset,
|
||||
{ /* nothing to do */ }
|
||||
|
||||
template<typename MetricType, typename OptimizerType>
|
||||
void LMNN<MetricType, OptimizerType>::LearnDistance(arma::mat& outputMatrix)
|
||||
template<typename... CallbackTypes>
|
||||
void LMNN<MetricType, OptimizerType>::LearnDistance(arma::mat& outputMatrix,
|
||||
CallbackTypes&&... callbacks)
|
||||
{
|
||||
// LMNN objective function.
|
||||
LMNNFunction<MetricType> objFunction(dataset, labels, k,
|
||||
@@ -56,7 +58,7 @@ void LMNN<MetricType, OptimizerType>::LearnDistance(arma::mat& outputMatrix)
|
||||
|
||||
Timer::Start("lmnn_optimization");
|
||||
|
||||
optimizer.Optimize(objFunction, outputMatrix);
|
||||
optimizer.Optimize(objFunction, outputMatrix, callbacks...);
|
||||
|
||||
Timer::Stop("lmnn_optimization");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user