diff options
| author | Gertjan van den Burg <gertjanvandenburg@gmail.com> | 2017-02-21 18:32:00 -0500 |
|---|---|---|
| committer | Gertjan van den Burg <gertjanvandenburg@gmail.com> | 2017-02-21 18:32:00 -0500 |
| commit | fbd7f3d229d167a1bf5ea483b2d5324356b86831 (patch) | |
| tree | 71e14b7c6ef858d390859978a01da4c30511070d | |
| parent | allow max_iter to be set in the model (diff) | |
| download | gensvm-fbd7f3d229d167a1bf5ea483b2d5324356b86831.tar.gz gensvm-fbd7f3d229d167a1bf5ea483b2d5324356b86831.zip | |
Keep track of elapsed iterations in training
| -rw-r--r-- | include/gensvm_base.h | 2 | ||||
| -rw-r--r-- | src/gensvm_base.c | 1 | ||||
| -rw-r--r-- | src/gensvm_optimize.c | 3 |
3 files changed, 6 insertions, 0 deletions
diff --git a/include/gensvm_base.h b/include/gensvm_base.h index adef2a9..e13deb9 100644 --- a/include/gensvm_base.h +++ b/include/gensvm_base.h @@ -129,6 +129,8 @@ struct GenModel { ///< vector of instance weights double training_error; ///< loss function value after training has finished + long elapsed_iter; + ///< number of elapsed iterations in training char *data_file; ///< filename of the data KernelType kerneltype; diff --git a/src/gensvm_base.c b/src/gensvm_base.c index 6bb4367..10e4435 100644 --- a/src/gensvm_base.c +++ b/src/gensvm_base.c @@ -115,6 +115,7 @@ struct GenModel *gensvm_init_model() model->kerneltype = K_LINEAR; model->kernel_eigen_cutoff = 1e-8; model->max_iter = 1000000000; + model->elapsed_iter = -1; model->V = NULL; model->Vbar = NULL; diff --git a/src/gensvm_optimize.c b/src/gensvm_optimize.c index fff6768..b6bc164 100644 --- a/src/gensvm_optimize.c +++ b/src/gensvm_optimize.c @@ -123,6 +123,9 @@ void gensvm_optimize(struct GenModel *model, struct GenData *data) // store the training error in the model model->training_error = (Lbar - L)/L; + // store the iteration count in the model + model->elapsed_iter = it - 1; + // free the workspace gensvm_free_work(work); } |
