diff options
| author | Gertjan van den Burg <gertjanvandenburg@gmail.com> | 2017-02-21 18:32:35 -0500 |
|---|---|---|
| committer | Gertjan van den Burg <gertjanvandenburg@gmail.com> | 2017-02-21 18:32:35 -0500 |
| commit | 75182ca28c2b481420fe42e6fc469075ec6b4cdf (patch) | |
| tree | 3c5e087525379c2e5b674c544198ffc5468e523c /src | |
| parent | Keep track of elapsed iterations in training (diff) | |
| download | gensvm-75182ca28c2b481420fe42e6fc469075ec6b4cdf.tar.gz gensvm-75182ca28c2b481420fe42e6fc469075ec6b4cdf.zip | |
Keep a status of training
Diffstat (limited to 'src')
| -rw-r--r-- | src/gensvm_base.c | 1 | ||||
| -rw-r--r-- | src/gensvm_optimize.c | 12 |
2 files changed, 11 insertions, 2 deletions
diff --git a/src/gensvm_base.c b/src/gensvm_base.c index 10e4435..791cd3e 100644 --- a/src/gensvm_base.c +++ b/src/gensvm_base.c @@ -116,6 +116,7 @@ struct GenModel *gensvm_init_model() model->kernel_eigen_cutoff = 1e-8; model->max_iter = 1000000000; model->elapsed_iter = -1; + model->status = -1; model->V = NULL; model->Vbar = NULL; diff --git a/src/gensvm_optimize.c b/src/gensvm_optimize.c index b6bc164..df46ec4 100644 --- a/src/gensvm_optimize.c +++ b/src/gensvm_optimize.c @@ -104,13 +104,21 @@ void gensvm_optimize(struct GenModel *model, struct GenData *data) it++; } + // status == 0 means training was successful + model->status = 0; + // print warnings if necessary - if (L > Lbar) + if (L > Lbar) { err("[GenSVM Warning]: Negative step occurred in " "majorization.\n"); - if (it >= model->max_iter) + model->status = 1; + } + + if (it >= model->max_iter) { err("[GenSVM Warning]: maximum number of iterations " "reached.\n"); + model->status = 2; + } // print final iteration count and loss note("Optimization finished, iter = %li, loss = %15.16f, " |
