diff --git a/src/ErrorFunction/ErrorFunctions.cpp b/src/ErrorFunction/ErrorFunctions.cpp index e4b386d25f9f1354d6f86dc93fa9bdb6019e2a1c..29d8fa34133835ece828c0c70cc7725854acef89 100644 --- a/src/ErrorFunction/ErrorFunctions.cpp +++ b/src/ErrorFunction/ErrorFunctions.cpp @@ -131,8 +131,10 @@ namespace lib4neuro { outputs.at(i) = output; } + bool denormalize_output = false; if(data_set->is_normalized()) { data_set->de_normalize(); + denormalize_output = true; } for (auto i = 0; i < data->size(); i++) { @@ -150,7 +152,12 @@ namespace lib4neuro { #endif double denormalized_output; for (size_t j = 0; j < dim_out; ++j) { - denormalized_output = data_set->get_normalization_strategy()->de_normalize(outputs.at(i).at(j)); + if(denormalize_output) { + denormalized_output = data_set->get_normalization_strategy()->de_normalize(outputs.at(i).at(j)); + } else { + denormalized_output = outputs.at(i).at(j); + } + #ifdef L4N_DEBUG ss_real_output << data->at(i).second.at(j); ss_predicted_output << denormalized_output; @@ -219,15 +226,21 @@ namespace lib4neuro { outputs.at(i) = output; } + bool denormalize_output = false; if(data_set->is_normalized()) { data_set->de_normalize(); + denormalize_output = true; } for(auto i = 0; i < data->size(); i++) { /* Compute difference for every element of the output vector */ double denormalized_output; for (size_t j = 0; j < dim_out; ++j) { - denormalized_output = data_set->get_normalization_strategy()->de_normalize(outputs.at(i).at(j)); + if(denormalize_output) { + denormalized_output = data_set->get_normalization_strategy()->de_normalize(outputs.at(i).at(j)); + } else { + denormalized_output = outputs.at(i).at(j); + } COUT_DEBUG("Element " << i << ": " << data->at(i).first.at(j) << " " << data->at(i).second.at(j) << " " @@ -276,8 +289,10 @@ namespace lib4neuro { } /* De-normalize data-set, if it's normalized */ + bool denormalize_output = false; if(data_set->is_normalized()) { data_set->de_normalize(); + denormalize_output = true; } /* Evaluate the prediction error on de-normalized data */ @@ -286,7 +301,11 @@ namespace lib4neuro { /* Compute difference for every element of the output vector */ double denormalized_output; for (auto j = 0; j < dim_out; ++j) { - denormalized_output = data_set->get_normalization_strategy()->de_normalize(outputs.at(i).at(j)); + if(denormalize_output) { + denormalized_output = data_set->get_normalization_strategy()->de_normalize(outputs.at(i).at(j)); + } else { + denormalized_output = outputs.at(i).at(j); + } COUT_DEBUG("Element " << i << ": " << data->at(i).first.at(j) << " " << data->at(i).second.at(j) << " "