diff options
| author | Gertjan van den Burg <burg@ese.eur.nl> | 2016-10-06 17:42:41 +0200 |
|---|---|---|
| committer | Gertjan van den Burg <burg@ese.eur.nl> | 2016-10-06 17:42:41 +0200 |
| commit | af81088cf938f388dac201a90b8ef221ee82aef6 (patch) | |
| tree | 7431e982ce6c89914dda04b4eee61e26cdbd6568 /src/gensvm_gridsearch.c | |
| parent | Coding style - set all pointers to NULL initially and after free (diff) | |
| download | gensvm-af81088cf938f388dac201a90b8ef221ee82aef6.tar.gz gensvm-af81088cf938f388dac201a90b8ef221ee82aef6.zip | |
change timer functionality to use clock_monotonic_raw
Diffstat (limited to 'src/gensvm_gridsearch.c')
| -rw-r--r-- | src/gensvm_gridsearch.c | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/src/gensvm_gridsearch.c b/src/gensvm_gridsearch.c index 50b0020..a79c31e 100644 --- a/src/gensvm_gridsearch.c +++ b/src/gensvm_gridsearch.c @@ -283,7 +283,7 @@ void consistency_repeats(struct GenQueue *q, long repeats, TrainType traintype) **test_folds = NULL; struct GenModel *model = gensvm_init_model(); struct GenTask *task = NULL; - clock_t loop_s, loop_e; + struct timespec loop_s, loop_e; nq = create_top_queue(q); N = nq->N; @@ -328,11 +328,11 @@ void consistency_repeats(struct GenQueue *q, long repeats, TrainType traintype) test_folds[f]); } - loop_s = clock(); + Timer(loop_s); p = gensvm_cross_validation(model, train_folds, test_folds, task->folds, task->train_data->n); - loop_e = clock(); - time[i] += gensvm_elapsed_time(loop_s, loop_e); + Timer(loop_e); + time[i] += gensvm_elapsed_time(&loop_s, &loop_e); matrix_set(perf, repeats, i, r, p); mean[i] += p/((double) repeats); note("%3.3f\t", p); @@ -476,7 +476,7 @@ void start_training(struct GenQueue *q) struct GenTask *task = get_next_task(q); struct GenTask *prevtask = NULL; struct GenModel *model = gensvm_init_model(); - clock_t main_s, main_e, loop_s, loop_e; + struct timespec main_s, main_e, loop_s, loop_e; // in principle this can change between tasks, but this shouldn't be // the case TODO @@ -500,7 +500,7 @@ void start_training(struct GenQueue *q) test_folds[f], cv_idx, f); } - main_s = clock(); + Timer(main_s); while (task) { make_model_from_task(task, model); if (kernel_changed(task, prevtask)) { @@ -519,24 +519,24 @@ void start_training(struct GenQueue *q) } print_progress_string(task, q->N); - loop_s = clock(); + Timer(loop_s); perf = gensvm_cross_validation(model, train_folds, test_folds, folds, task->train_data->n); - loop_e = clock(); + Timer(loop_e); current_max = maximum(current_max, perf); note("\t%3.3f%% (%3.3fs)\t(best = %3.3f%%)\n", perf, - gensvm_elapsed_time(loop_s, loop_e), + gensvm_elapsed_time(&loop_s, &loop_e), current_max); q->tasks[task->ID]->performance = perf; prevtask = task; task = get_next_task(q); } - main_e = clock(); + Timer(main_e); note("\nTotal elapsed training time: %8.8f seconds\n", - gensvm_elapsed_time(main_s, main_e)); + gensvm_elapsed_time(&main_s, &main_e)); // make sure no double free occurs with the copied kernelparam model->kernelparam = NULL; |
