Moved DEBUG option to config files
This commit is contained in:
106
cpp/projet.cpp
106
cpp/projet.cpp
@ -9,13 +9,6 @@ namespace fs = std::filesystem;
|
||||
|
||||
void test_float() noexcept;
|
||||
|
||||
#ifdef __DEBUG
|
||||
// #define IDX_INSPECT 0
|
||||
// #define IDX_INSPECT 2
|
||||
#define IDX_INSPECT 4548
|
||||
#define IDX_INSPECT_OFFSET 100
|
||||
#endif
|
||||
|
||||
#if GPU_BOOSTED
|
||||
#define LABEL "GPU"
|
||||
#define apply_features apply_features_gpu
|
||||
@ -34,34 +27,34 @@ std::tuple<np::Array<int32_t>, np::Array<uint16_t>, np::Array<uint8_t>, np::Arra
|
||||
for (const char* const folder_name : { "models", "out" })
|
||||
fs::create_directory(folder_name);
|
||||
|
||||
printf("| %-49s | %-17s | %-29s |\n", "Preprocessing", "Time spent (ns)", "Formatted time spent");
|
||||
printf("|%s|%s|%s|\n", S(51), S(19), S(31));
|
||||
printf("| %-49s | %-18s | %-29s |\n", "Preprocessing", "Time spent (ns)", "Formatted time spent");
|
||||
printf("|%s|%s|%s|\n", S(51), S(20), S(31));
|
||||
|
||||
const auto [ X_train, y_train, X_test, y_test ] = state_saver<uint8_t, 4>("Loading sets", {"X_train", "y_train", "X_test", "y_test"},
|
||||
FORCE_REDO, SAVE_STATE, OUT_DIR, load_datasets);
|
||||
|
||||
#ifdef __DEBUG
|
||||
// print("X_train");
|
||||
// print(X_train.shape);
|
||||
// print(X_train, { IDX_INSPECT });
|
||||
// print("X_test");
|
||||
// print(X_test.shape);
|
||||
// print(X_test, { IDX_INSPECT });
|
||||
// print("y_train");
|
||||
// print(y_train.shape);
|
||||
// print(y_train, { IDX_INSPECT, IDX_INSPECT + IDX_INSPECT_OFFSET });
|
||||
// print("y_test");
|
||||
// print(y_test.shape);
|
||||
// print(y_test, { IDX_INSPECT, IDX_INSPECT + IDX_INSPECT_OFFSET });
|
||||
#if __DEBUG
|
||||
print("X_train");
|
||||
print(X_train.shape);
|
||||
print(X_train, { IDX_INSPECT });
|
||||
print("X_test");
|
||||
print(X_test.shape);
|
||||
print(X_test, { IDX_INSPECT });
|
||||
print("y_train");
|
||||
print(y_train.shape);
|
||||
print(y_train, { IDX_INSPECT, IDX_INSPECT + IDX_INSPECT_OFFSET });
|
||||
print("y_test");
|
||||
print(y_test.shape);
|
||||
print(y_test, { IDX_INSPECT, IDX_INSPECT + IDX_INSPECT_OFFSET });
|
||||
#endif
|
||||
|
||||
const np::Array<uint8_t> feats = state_saver<uint8_t>("Building features", "feats",
|
||||
FORCE_REDO, SAVE_STATE, OUT_DIR, build_features, X_train.shape[1], X_train.shape[2]);
|
||||
|
||||
#ifdef __DEBUG
|
||||
// print("feats");
|
||||
// print(feats.shape);
|
||||
// print_feat(feats, { IDX_INSPECT });
|
||||
#if __DEBUG
|
||||
print("feats");
|
||||
print(feats.shape);
|
||||
print_feat(feats, { IDX_INSPECT });
|
||||
#endif
|
||||
|
||||
const np::Array<uint32_t> X_train_ii = state_saver<uint32_t>("Converting training set to integral images (" LABEL ")", "X_train_ii_" LABEL,
|
||||
@ -69,14 +62,13 @@ std::tuple<np::Array<int32_t>, np::Array<uint16_t>, np::Array<uint8_t>, np::Arra
|
||||
const np::Array<uint32_t> X_test_ii = state_saver<uint32_t>("Converting testing set to integral images (" LABEL ")", "X_test_ii_" LABEL,
|
||||
FORCE_REDO, SAVE_STATE, OUT_DIR, set_integral_image, X_test);
|
||||
|
||||
#ifdef __DEBUG
|
||||
// print("X_train_ii");
|
||||
// print(X_train_ii.shape);
|
||||
// print(X_train_ii, { IDX_INSPECT });
|
||||
// print("X_test_ii");
|
||||
// print(X_test_ii.shape);
|
||||
// print(X_test_ii, { IDX_INSPECT });
|
||||
// return {};
|
||||
#if __DEBUG
|
||||
print("X_train_ii");
|
||||
print(X_train_ii.shape);
|
||||
print(X_train_ii, { IDX_INSPECT });
|
||||
print("X_test_ii");
|
||||
print(X_test_ii.shape);
|
||||
print(X_test_ii, { IDX_INSPECT });
|
||||
#endif
|
||||
|
||||
const np::Array<int32_t> X_train_feat = state_saver<int32_t>("Applying features to training set (" LABEL ")", "X_train_feat_" LABEL,
|
||||
@ -84,46 +76,46 @@ std::tuple<np::Array<int32_t>, np::Array<uint16_t>, np::Array<uint8_t>, np::Arra
|
||||
const np::Array<int32_t> X_test_feat = state_saver<int32_t>("Applying features to testing set (" LABEL ")", "X_test_feat_" LABEL,
|
||||
FORCE_REDO, SAVE_STATE, OUT_DIR, apply_features, feats, X_test_ii);
|
||||
|
||||
#ifdef __DEBUG
|
||||
// print("X_train_feat");
|
||||
// print(X_train_feat.shape);
|
||||
// print(X_train_feat, { IDX_INSPECT, IDX_INSPECT + IDX_INSPECT_OFFSET });
|
||||
// print("X_test_feat");
|
||||
// print(X_test_feat.shape);
|
||||
// print(X_test_feat, { IDX_INSPECT, IDX_INSPECT + IDX_INSPECT_OFFSET });
|
||||
#if __DEBUG
|
||||
print("X_train_feat");
|
||||
print(X_train_feat.shape);
|
||||
print(X_train_feat, { IDX_INSPECT, IDX_INSPECT + IDX_INSPECT_OFFSET });
|
||||
print("X_test_feat");
|
||||
print(X_test_feat.shape);
|
||||
print(X_test_feat, { IDX_INSPECT, IDX_INSPECT + IDX_INSPECT_OFFSET });
|
||||
#endif
|
||||
|
||||
// const Array<int> indices = measure_time_save<Array<int>>("Selecting best features", "indices", select_percentile, X_train_feat, d.y_train);
|
||||
// const Array<int> indices = measure_time<Array<int>>("Selecting best features", select_percentile, X_train_feat, d.y_train);
|
||||
|
||||
#ifdef __DEBUG
|
||||
#if __DEBUG
|
||||
// print_feature(indices);
|
||||
#endif
|
||||
|
||||
const np::Array<uint16_t> X_train_feat_argsort = state_saver<uint16_t>("Precalculating training set argsort (" LABEL ")", "X_train_feat_argsort_" LABEL,
|
||||
FORCE_REDO, SAVE_STATE, OUT_DIR, argsort_2d, X_train_feat);
|
||||
|
||||
#ifdef __DEBUG
|
||||
#if __DEBUG
|
||||
print("X_train_feat_argsort");
|
||||
print(X_train_feat_argsort.shape);
|
||||
print(X_train_feat_argsort, { IDX_INSPECT, IDX_INSPECT + IDX_INSPECT_OFFSET });
|
||||
#endif
|
||||
|
||||
// const np::Array<uint16_t> X_test_feat_argsort = state_saver<uint16_t>("Precalculating testing set argsort (" LABEL ")", "X_test_feat_argsort_" LABEL,
|
||||
// FORCE_REDO, SAVE_STATE, OUT_DIR, argsort_2d, X_test_feat);
|
||||
const np::Array<uint16_t> X_test_feat_argsort = state_saver<uint16_t>("Precalculating testing set argsort (" LABEL ")", "X_test_feat_argsort_" LABEL,
|
||||
FORCE_REDO, SAVE_STATE, OUT_DIR, argsort_2d, X_test_feat);
|
||||
|
||||
#ifdef __DEBUG
|
||||
// print("X_test_feat_argsort");
|
||||
// print(X_test_feat_argsort.shape);
|
||||
// print(X_test_feat_argsort, { IDX_INSPECT, IDX_INSPECT + IDX_INSPECT_OFFSET });
|
||||
#if __DEBUG
|
||||
print("X_test_feat_argsort");
|
||||
print(X_test_feat_argsort.shape);
|
||||
print(X_test_feat_argsort, { IDX_INSPECT, IDX_INSPECT + IDX_INSPECT_OFFSET });
|
||||
#endif
|
||||
|
||||
return { X_train_feat, X_train_feat_argsort, y_train, X_test_feat, y_test };
|
||||
}
|
||||
|
||||
void train(const np::Array<int32_t>& X_train_feat, const np::Array<uint16_t>& X_train_feat_argsort, const np::Array<uint8_t>& y_train) {
|
||||
printf("\n| %-49s | %-17s | %-29s |\n", "Training", "Time spent (ns)", "Formatted time spent");
|
||||
printf("|%s|%s|%s|\n", S(51), S(19), S(31));
|
||||
printf("\n| %-49s | %-18s | %-29s |\n", "Training", "Time spent (ns)", "Formatted time spent");
|
||||
printf("|%s|%s|%s|\n", S(51), S(20), S(31));
|
||||
|
||||
for (const size_t T : TS) {
|
||||
char title[BUFFER_SIZE] = { 0 };
|
||||
@ -133,13 +125,13 @@ void train(const np::Array<int32_t>& X_train_feat, const np::Array<uint16_t>& X_
|
||||
sprintf(alphas_title, "alphas_%lu_%s", T, LABEL);
|
||||
sprintf(final_classifiers_title, "final_classifiers_%lu_%s", T, LABEL);
|
||||
|
||||
#ifdef __DEBUG
|
||||
#if __DEBUG
|
||||
const auto [ alphas, final_classifiers ] = state_saver<float64_t, 2>(title, { alphas_title, final_classifiers_title },
|
||||
#else
|
||||
state_saver<float64_t, 2>(title, { alphas_title, final_classifiers_title },
|
||||
#endif
|
||||
FORCE_REDO, SAVE_STATE, MODEL_DIR, train_viola_jones, T, X_train_feat, X_train_feat_argsort, y_train);
|
||||
#ifdef __DEBUG
|
||||
#if __DEBUG
|
||||
print("alphas");
|
||||
print(alphas);
|
||||
print("final_classifiers");
|
||||
@ -298,9 +290,9 @@ void final_unit_test() {
|
||||
}
|
||||
|
||||
int main(){
|
||||
#ifdef __DEBUG
|
||||
printf("| %-49s | %-17s | %-29s |\n", "Unit testing", "Time spent (ns)", "Formatted time spent");
|
||||
printf("|%s|%s|%s|\n", S(51), S(19), S(31));
|
||||
#if __DEBUG
|
||||
printf("| %-49s | %-18s | %-29s |\n", "Unit testing", "Time spent (ns)", "Formatted time spent");
|
||||
printf("|%s|%s|%s|\n", S(51), S(20), S(31));
|
||||
benchmark_function_void("Testing GPU capabilities 1D", test_working, 3 + (1<<29));
|
||||
benchmark_function_void("Testing GPU capabilities 2D", test_working_2d, 3 + (1<<15), 2 + (1<<14));
|
||||
benchmark_function_void("Testing GPU capabilities 3D", test_working_3d, 9 + (1<<10), 5 + (1<<10), 7 + (1<<9));
|
||||
@ -313,7 +305,7 @@ int main(){
|
||||
train(X_train_feat, X_train_feat_argsort, y_train);
|
||||
testing_and_evaluating(X_train_feat, y_train, X_test_feat, y_test);
|
||||
final_unit_test();
|
||||
#ifdef __DEBUG
|
||||
#if __DEBUG
|
||||
printf("\nAFTER CLEANUP\n");
|
||||
#endif
|
||||
return EXIT_SUCCESS;
|
||||
|
Reference in New Issue
Block a user