From 44b1cda5a40b47cbaab63c5b2ab3a439bd488ff3 Mon Sep 17 00:00:00 2001 From: rdk Date: Tue, 15 Aug 2017 17:24:11 +0200 Subject: [PATCH] working config reorganization --- config/aug1.groovy | 118 +++++++++++ config/aug2.groovy | 119 +++++++++++ new.groovy => config/new.groovy | 0 config/readme.md | 3 + workdef.groovy => config/workdef.groovy | 0 working.groovy => config/working.groovy | 0 misc/{local-env-params.sh => local-env.sh} | 0 misc/test-scripts/testsets.sh | 189 +++++++++++------- misc/{ => tutorials}/hidden-commands.md | 0 .../hyperparameter-optimization-tutorial.md | 0 misc/{ => tutorials}/training-tutorial.md | 0 prank.sh | 4 +- 12 files changed, 355 insertions(+), 78 deletions(-) create mode 100644 config/aug1.groovy create mode 100644 config/aug2.groovy rename new.groovy => config/new.groovy (100%) create mode 100644 config/readme.md rename workdef.groovy => config/workdef.groovy (100%) rename working.groovy => config/working.groovy (100%) rename misc/{local-env-params.sh => local-env.sh} (100%) mode change 100755 => 100644 rename misc/{ => tutorials}/hidden-commands.md (100%) rename misc/{ => tutorials}/hyperparameter-optimization-tutorial.md (100%) rename misc/{ => tutorials}/training-tutorial.md (100%) diff --git a/config/aug1.groovy b/config/aug1.groovy new file mode 100644 index 00000000..7a74b2a7 --- /dev/null +++ b/config/aug1.groovy @@ -0,0 +1,118 @@ +import cz.siret.prank.program.params.Params + +/** + * achieved DCA_4_0 = 0.7939 on joined.ds + */ +(params as Params).with { + + /** + * define this if you want dataset program parameters to be evaluated relative to this directory + * (set absolute path or path relative to install dir, null defaults to working dir) + */ + dataset_base_dir = "../../p2rank-datasets" + + /** + * all output of the prorgam will be stored in subdirectores of this directory + * (set absolute path or path relative to install dir, null defaults to working dir) + */ + output_base_dir = "../../p2rank-results/${version}" + + visualizations = false + + delete_models = true + + delete_vectors = true + + max_train_instances = 0 + + /** + * stop processing a datsaset on the first unrecoverable error with a dataset item + */ + fail_fast = true + + classifier="FasterForest" + + seed = 42 + + loop = 10 + + predictions = true + + crossval_threads = 5 + + /** + * calculate feature importance + * available only for some classifiers + */ + feature_importances = false + + stats_collect_predictions = false + + // technical + + cache_datasets = true + + clear_sec_caches = false + + clear_prim_caches = false + + log_cases = true + + output_only_stats = true + + log_to_console = true + + log_level = "WARN" + + log_to_file = true + + ploop_delete_runs = true + + zip_log_file = true + + out_prefix_date = true + +//===========================================================================================================// + + /** + * collect negatives just from decoy pockets found by other method + * (alternatively take negative points from all of the protein's surface) + */ + sample_negatives_from_decoys = false + + atom_table_feat_keep_sgn = true + + atom_table_features = ["ap5sasaValids","ap5sasaInvalids","apRawValids","apRawInvalids","atomicHydrophobicity"] + + extra_features = ["chem","volsite","protrusion","bfactor"] + + residue_table_features = ["RAx"] + + average_feat_vectors = true + +//===========================================================================================================// + + rf_trees = 200 + rf_depth = 9 + rf_bagsize = 55 + + balance_class_weights = true + target_class_weight_ratio = 0.4402 + pred_point_threshold = 0.7729 + + pred_min_cluster_size = 2 + pred_clustering_dist = 2 + extended_pocket_cutoff = 4 + point_score_pow = 10 + + protrusion_radius = 10 + neighbourhood_radius = 6.5963 + positive_point_ligand_distance = 4.3529 + neutral_points_margin = 0 + solvent_radius = 1.8354 + avg_pow = 1 + avg_weighted = true + + weight_function = "INVPOW" + weight_power = 0.1 +} diff --git a/config/aug2.groovy b/config/aug2.groovy new file mode 100644 index 00000000..ba2270f2 --- /dev/null +++ b/config/aug2.groovy @@ -0,0 +1,119 @@ +import cz.siret.prank.program.params.Params + +/** + * achieved DCA_4_0 = 0.7909 on joined.ds + */ +(params as Params).with { + + /** + * define this if you want dataset program parameters to be evaluated relative to this directory + * (set absolute path or path relative to install dir, null defaults to working dir) + */ + dataset_base_dir = "../../p2rank-datasets" + + /** + * all output of the prorgam will be stored in subdirectores of this directory + * (set absolute path or path relative to install dir, null defaults to working dir) + */ + output_base_dir = "../../p2rank-results/${version}" + + visualizations = false + + delete_models = true + + delete_vectors = true + + max_train_instances = 0 + + /** + * stop processing a datsaset on the first unrecoverable error with a dataset item + */ + fail_fast = true + + classifier="FasterForest" + + seed = 42 + + loop = 10 + + predictions = true + + crossval_threads = 5 + + /** + * calculate feature importance + * available only for some classifiers + */ + feature_importances = false + + stats_collect_predictions = false + + // technical + + cache_datasets = true + + clear_sec_caches = false + + clear_prim_caches = false + + log_cases = true + + output_only_stats = true + + log_to_console = true + + log_level = "WARN" + + log_to_file = true + + ploop_delete_runs = true + + zip_log_file = true + + out_prefix_date = true + +//===========================================================================================================// + + /** + * collect negatives just from decoy pockets found by other method + * (alternatively take negative points from all of the protein's surface) + */ + sample_negatives_from_decoys = false + + atom_table_feat_keep_sgn = true + + atom_table_features = ["ap5sasaValids","ap5sasaInvalids","apRawValids","apRawInvalids","atomicHydrophobicity"] + + extra_features = ["chem","volsite","protrusion","bfactor"] + + residue_table_features = ["RAx"] + + average_feat_vectors = true + +//===========================================================================================================// + + rf_trees = 200 + rf_depth = 9 + rf_bagsize = 55 + + balance_class_weights = true + target_class_weight_ratio = 0.4634 + pred_point_threshold = 0.6919 + + pred_min_cluster_size = 2 + pred_clustering_dist = 2 + extended_pocket_cutoff = 5.1516 + point_score_pow = 5.8511 + + protrusion_radius = 10.3444 + neighbourhood_radius = 5.8294 + positive_point_ligand_distance = 7 + neutral_points_margin = 0 + solvent_radius = 1.8354 + avg_pow = 1 + avg_weighted = true + + weight_function = "INVPOW2" + weight_power = 0.01 + weight_dist_param = 5 +} diff --git a/new.groovy b/config/new.groovy similarity index 100% rename from new.groovy rename to config/new.groovy diff --git a/config/readme.md b/config/readme.md new file mode 100644 index 00000000..80afc78f --- /dev/null +++ b/config/readme.md @@ -0,0 +1,3 @@ + +Directory with development/experimantal config files. + diff --git a/workdef.groovy b/config/workdef.groovy similarity index 100% rename from workdef.groovy rename to config/workdef.groovy diff --git a/working.groovy b/config/working.groovy similarity index 100% rename from working.groovy rename to config/working.groovy diff --git a/misc/local-env-params.sh b/misc/local-env.sh old mode 100755 new mode 100644 similarity index 100% rename from misc/local-env-params.sh rename to misc/local-env.sh diff --git a/misc/test-scripts/testsets.sh b/misc/test-scripts/testsets.sh index e96b4a1f..74bc1705 100755 --- a/misc/test-scripts/testsets.sh +++ b/misc/test-scripts/testsets.sh @@ -1,8 +1,9 @@ #!/usr/bin/env bash -\ + ################################################################################################################### -SET=$1 +ROUTINE=$1 +shift RUN_LOG=local-run.log DEBUG_LOG=local-debug.log SUMMARY_LOG=local-summary.log @@ -91,14 +92,14 @@ basic() { title RUNNING BASIC TESTS - test ./prank.sh eval-predict chen11.ds -c working -out_subdir TEST/TESTS - test ./prank.sh eval-predict mlig-joined.ds -c working -out_subdir TEST/TESTS - test ./prank.sh traineval -t chen11-fpocket.ds -e chen11-fpocket.ds -c working -loop 1 -fail_fast 1 -out_subdir TEST/TESTS - test ./prank.sh traineval -t chen11-fpocket.ds -e mlig-joined.ds -c working -loop 1 -fail_fast 1 -out_subdir TEST/TESTS - test ./prank.sh crossval chen11-fpocket.ds -c working -loop 1 -fail_fast 1 -out_subdir TEST/TESTS + test ./prank.sh eval-predict chen11.ds -c config/working -out_subdir TEST/TESTS + test ./prank.sh eval-predict mlig-joined.ds -c config/working -out_subdir TEST/TESTS + test ./prank.sh traineval -t chen11-fpocket.ds -e chen11-fpocket.ds -c config/working -loop 1 -fail_fast 1 -out_subdir TEST/TESTS + test ./prank.sh traineval -t chen11-fpocket.ds -e mlig-joined.ds -c config/working -loop 1 -fail_fast 1 -out_subdir TEST/TESTS + test ./prank.sh crossval chen11-fpocket.ds -c config/working -loop 1 -fail_fast 1 -out_subdir TEST/TESTS - #test ./prank.sh eval-predict mlig-joined.ds -c working -visualizations 1 -tessellation 3 -l VISUALIZATIONS_TES3 -c working -out_subdir TEST/TESTS - #test ./prank.sh eval-predict mlig-joined.ds -c working -visualizations 1 -l VISUALIZATIONS -c working -out_subdir TEST/TESTS + #test ./prank.sh eval-predict mlig-joined.ds -c config/working -visualizations 1 -tessellation 3 -l VISUALIZATIONS_TES3 -c config/working -out_subdir TEST/TESTS + #test ./prank.sh eval-predict mlig-joined.ds -c config/working -visualizations 1 -l VISUALIZATIONS -c config/working -out_subdir TEST/TESTS } # test predieciton on all datasets @@ -106,18 +107,18 @@ predict() { title PREDICTIONS ON ALL DATASETS - test ./prank.sh predict joined.ds -c workdef -log_cases 1 -out_subdir TEST/PREDICT - test ./prank.sh predict holo4k.ds -c workdef -log_cases 1 -out_subdir TEST/PREDICT + test ./prank.sh predict joined.ds -c config/workdef -log_cases 1 -out_subdir TEST/PREDICT + test ./prank.sh predict holo4k.ds -c config/workdef -log_cases 1 -out_subdir TEST/PREDICT - test ./prank.sh predict chen11.ds -c workdef -log_cases 1 -out_subdir TEST/PREDICT - test ./prank.sh predict b48.ds -c workdef -log_cases 1 -out_subdir TEST/PREDICT - test ./prank.sh predict u48.ds -c workdef -log_cases 1 -out_subdir TEST/PREDICT - test ./prank.sh predict astex.ds -c workdef -log_cases 1 -out_subdir TEST/PREDICT - test ./prank.sh predict dt198.ds -c workdef -log_cases 1 -out_subdir TEST/PREDICT - test ./prank.sh predict b210.ds -c workdef -log_cases 1 -out_subdir TEST/PREDICT - test ./prank.sh predict fptrain.ds -c workdef -log_cases 1 -out_subdir TEST/PREDICT - test ./prank.sh predict mlig-joined.ds -c workdef -log_cases 1 -out_subdir TEST/PREDICT - test ./prank.sh predict mlig-holo4k.ds -c workdef -log_cases 1 -out_subdir TEST/PREDICT + test ./prank.sh predict chen11.ds -c config/workdef -log_cases 1 -out_subdir TEST/PREDICT + test ./prank.sh predict b48.ds -c config/workdef -log_cases 1 -out_subdir TEST/PREDICT + test ./prank.sh predict u48.ds -c config/workdef -log_cases 1 -out_subdir TEST/PREDICT + test ./prank.sh predict astex.ds -c config/workdef -log_cases 1 -out_subdir TEST/PREDICT + test ./prank.sh predict dt198.ds -c config/workdef -log_cases 1 -out_subdir TEST/PREDICT + test ./prank.sh predict b210.ds -c config/workdef -log_cases 1 -out_subdir TEST/PREDICT + test ./prank.sh predict fptrain.ds -c config/workdef -log_cases 1 -out_subdir TEST/PREDICT + test ./prank.sh predict mlig-joined.ds -c config/workdef -log_cases 1 -out_subdir TEST/PREDICT + test ./prank.sh predict mlig-holo4k.ds -c config/workdef -log_cases 1 -out_subdir TEST/PREDICT } @@ -127,8 +128,8 @@ eval_predict() { title EVALUATING PREDICTIONS ON MAIN DATASETS - test ./prank.sh eval-predict joined.ds -c workdef -log_cases 1 -out_subdir TEST/EVAL - test ./prank.sh eval-predict holo4k.ds -c workdef -log_cases 1 -out_subdir TEST/EVAL + test ./prank.sh eval-predict joined.ds -c config/workdef -log_cases 1 -out_subdir TEST/EVAL + test ./prank.sh eval-predict holo4k.ds -c config/workdef -log_cases 1 -out_subdir TEST/EVAL } # evaluate default model/settings on main datasets @@ -137,39 +138,39 @@ eval_predict_rest() { title EVALUATING PREDICTIONS ON OTHER DATASETS # train=test for the reference - test ./prank.sh eval-predict chen11.ds -c workdef -log_cases 1 -out_subdir TEST/EVAL + test ./prank.sh eval-predict chen11.ds -c config/workdef -log_cases 1 -out_subdir TEST/EVAL - test ./prank.sh eval-predict b48.ds -c workdef -log_cases 1 -out_subdir TEST/EVAL - test ./prank.sh eval-predict u48.ds -c workdef -log_cases 1 -out_subdir TEST/EVAL - test ./prank.sh eval-predict astex.ds -c workdef -log_cases 1 -out_subdir TEST/EVAL - test ./prank.sh eval-predict dt198.ds -c workdef -log_cases 1 -out_subdir TEST/EVAL - test ./prank.sh eval-predict b210.ds -c workdef -log_cases 1 -out_subdir TEST/EVAL - test ./prank.sh eval-predict fptrain.ds -c workdef -log_cases 1 -out_subdir TEST/EVAL + test ./prank.sh eval-predict b48.ds -c config/workdef -log_cases 1 -out_subdir TEST/EVAL + test ./prank.sh eval-predict u48.ds -c config/workdef -log_cases 1 -out_subdir TEST/EVAL + test ./prank.sh eval-predict astex.ds -c config/workdef -log_cases 1 -out_subdir TEST/EVAL + test ./prank.sh eval-predict dt198.ds -c config/workdef -log_cases 1 -out_subdir TEST/EVAL + test ./prank.sh eval-predict b210.ds -c config/workdef -log_cases 1 -out_subdir TEST/EVAL + test ./prank.sh eval-predict fptrain.ds -c config/workdef -log_cases 1 -out_subdir TEST/EVAL - test ./prank.sh eval-predict mlig-joined.ds -c workdef -log_cases 1 -out_subdir TEST/EVAL - test ./prank.sh eval-predict mlig-holo4k.ds -c workdef -log_cases 1 -out_subdir TEST/EVAL + test ./prank.sh eval-predict mlig-joined.ds -c config/workdef -log_cases 1 -out_subdir TEST/EVAL + test ./prank.sh eval-predict mlig-holo4k.ds -c config/workdef -log_cases 1 -out_subdir TEST/EVAL - #test ./prank.sh eval-predict mlig-moad-nr.ds -c workdef -log_cases 1 -fail_fast 1 -out_subdir TEST/EVAL - #test ./prank.sh eval-predict moad-nr.ds -c workdef -log_cases 1 -fail_fast 1 -out_subdir TEST/EVAL + #test ./prank.sh eval-predict mlig-moad-nr.ds -c config/workdef -log_cases 1 -fail_fast 1 -out_subdir TEST/EVAL + #test ./prank.sh eval-predict moad-nr.ds -c config/workdef -log_cases 1 -fail_fast 1 -out_subdir TEST/EVAL } eval_rescore() { title EVALUATING RESCORING ON ALL DATASETS - test ./prank.sh eval-rescore joined-fpocket.ds -c workdef -log_cases 1 -out_subdir TEST/EVAL - test ./prank.sh eval-rescore holo4k-fpocket.ds -c workdef -log_cases 1 -out_subdir TEST/EVAL + test ./prank.sh eval-rescore joined-fpocket.ds -c config/workdef -log_cases 1 -out_subdir TEST/EVAL + test ./prank.sh eval-rescore holo4k-fpocket.ds -c config/workdef -log_cases 1 -out_subdir TEST/EVAL - test ./prank.sh eval-rescore chen11-fpocket.ds -c workdef -log_cases 1 -out_subdir TEST/EVAL - test ./prank.sh eval-rescore b48-fpocket.ds -c workdef -log_cases 1 -out_subdir TEST/EVAL - test ./prank.sh eval-rescore u48-fpocket.ds -c workdef -log_cases 1 -out_subdir TEST/EVAL - test ./prank.sh eval-rescore astex-fpocket.ds -c workdef -log_cases 1 -out_subdir TEST/EVAL - test ./prank.sh eval-rescore dt198-fpocket.ds -c workdef -log_cases 1 -out_subdir TEST/EVAL - test ./prank.sh eval-rescore b210-fpocket.ds -c workdef -log_cases 1 -out_subdir TEST/EVAL - test ./prank.sh eval-rescore fptrain-fpocket.ds -c workdef -log_cases 1 -out_subdir TEST/EVAL + test ./prank.sh eval-rescore chen11-fpocket.ds -c config/workdef -log_cases 1 -out_subdir TEST/EVAL + test ./prank.sh eval-rescore b48-fpocket.ds -c config/workdef -log_cases 1 -out_subdir TEST/EVAL + test ./prank.sh eval-rescore u48-fpocket.ds -c config/workdef -log_cases 1 -out_subdir TEST/EVAL + test ./prank.sh eval-rescore astex-fpocket.ds -c config/workdef -log_cases 1 -out_subdir TEST/EVAL + test ./prank.sh eval-rescore dt198-fpocket.ds -c config/workdef -log_cases 1 -out_subdir TEST/EVAL + test ./prank.sh eval-rescore b210-fpocket.ds -c config/workdef -log_cases 1 -out_subdir TEST/EVAL + test ./prank.sh eval-rescore fptrain-fpocket.ds -c config/workdef -log_cases 1 -out_subdir TEST/EVAL - test ./prank.sh eval-rescore mlig-joined-fpocket.ds -c workdef -log_cases 1 -out_subdir TEST/EVAL - test ./prank.sh eval-rescore mlig-holo4k-fpocket.ds -c workdef -log_cases 1 -out_subdir TEST/EVAL + test ./prank.sh eval-rescore mlig-joined-fpocket.ds -c config/workdef -log_cases 1 -out_subdir TEST/EVAL + test ./prank.sh eval-rescore mlig-holo4k-fpocket.ds -c config/workdef -log_cases 1 -out_subdir TEST/EVAL } # train and evaluate new model/settings on main datasets @@ -177,9 +178,9 @@ eval_train() { title TRAIN/EVAL ON MAIN DATASETS - test ./prank.sh crossval chen11-fpocket.ds -c working -loop 10 -out_subdir TEST/EVAL_TRAIN - test ./prank.sh traineval -t chen11-fpocket.ds -e joined.ds -c working -loop 10 -out_subdir TEST/EVAL_TRAIN - test ./prank.sh traineval -t chen11-fpocket.ds -e holo4k.ds -c working -loop 3 -cache_datasets 0 -out_subdir TEST/EVAL_TRAIN + test ./prank.sh crossval chen11-fpocket.ds -c config/working -loop 10 -out_subdir TEST/EVAL_TRAIN + test ./prank.sh traineval -t chen11-fpocket.ds -e joined.ds -c config/working -loop 10 -out_subdir TEST/EVAL_TRAIN + test ./prank.sh traineval -t chen11-fpocket.ds -e holo4k.ds -c config/working -loop 3 -cache_datasets 0 -out_subdir TEST/EVAL_TRAIN } eval_train_rest() { @@ -187,81 +188,117 @@ eval_train_rest() { title TRAIN/EVAL ON OTHER DATASETS # train=test for the reference - test ./prank.sh traineval -t chen11-fpocket.ds -e chen11-fpocket.ds -c working -loop 10 -out_subdir TEST/EVAL_TRAIN + test ./prank.sh traineval -t chen11-fpocket.ds -e chen11-fpocket.ds -c config/working -loop 10 -out_subdir TEST/EVAL_TRAIN - test ./prank.sh traineval -t chen11-fpocket.ds -e b48.ds -c working -loop 10 -out_subdir TEST/EVAL_TRAIN - test ./prank.sh traineval -t chen11-fpocket.ds -e u48.ds -c working -loop 10 -out_subdir TEST/EVAL_TRAIN - test ./prank.sh traineval -t chen11-fpocket.ds -e astex.ds -c working -loop 10 -out_subdir TEST/EVAL_TRAIN - test ./prank.sh traineval -t chen11-fpocket.ds -e dt198.ds -c working -loop 10 -out_subdir TEST/EVAL_TRAIN - test ./prank.sh traineval -t chen11-fpocket.ds -e b210.ds -c working -loop 10 -out_subdir TEST/EVAL_TRAIN - test ./prank.sh traineval -t chen11-fpocket.ds -e fptrain.ds -c working -loop 10 -out_subdir TEST/EVAL_TRAIN + test ./prank.sh traineval -t chen11-fpocket.ds -e b48.ds -c config/working -loop 10 -out_subdir TEST/EVAL_TRAIN + test ./prank.sh traineval -t chen11-fpocket.ds -e u48.ds -c config/working -loop 10 -out_subdir TEST/EVAL_TRAIN + test ./prank.sh traineval -t chen11-fpocket.ds -e astex.ds -c config/working -loop 10 -out_subdir TEST/EVAL_TRAIN + test ./prank.sh traineval -t chen11-fpocket.ds -e dt198.ds -c config/working -loop 10 -out_subdir TEST/EVAL_TRAIN + test ./prank.sh traineval -t chen11-fpocket.ds -e b210.ds -c config/working -loop 10 -out_subdir TEST/EVAL_TRAIN + test ./prank.sh traineval -t chen11-fpocket.ds -e fptrain.ds -c config/working -loop 10 -out_subdir TEST/EVAL_TRAIN - test ./prank.sh traineval -t chen11-fpocket.ds -e mlig-joined.ds -c working -loop 10 -out_subdir TEST/EVAL_TRAIN - test ./prank.sh traineval -t chen11-fpocket.ds -e mlig-holo4k.ds -c working -loop 3 -cache_datasets 0 -out_subdir TEST/EVAL_TRAIN + test ./prank.sh traineval -t chen11-fpocket.ds -e mlig-joined.ds -c config/working -loop 10 -out_subdir TEST/EVAL_TRAIN + test ./prank.sh traineval -t chen11-fpocket.ds -e mlig-holo4k.ds -c config/working -loop 3 -cache_datasets 0 -out_subdir TEST/EVAL_TRAIN } +################################################################################################################### + + quick_train_new() { - test ./prank.sh traineval -t chen11-fpocket.ds -e mlig-joined.ds -c new -loop 3 -out_subdir TEST/EVAL_TRAIN - test ./prank.sh traineval -t chen11-fpocket.ds -e joined.ds -c new -loop 3 -out_subdir TEST/EVAL_TRAIN - test ./prank.sh traineval -t chen11-fpocket.ds -e mlig-holo4k.ds -c new -loop 1 -cache_datasets 0 -out_subdir TEST/EVAL_TRAIN - test ./prank.sh traineval -t chen11-fpocket.ds -e holo4k.ds -c new -loop 1 -cache_datasets 0 -out_subdir TEST/EVAL_TRAIN - test ./prank.sh crossval chen11-fpocket.ds -c new -loop 3 -out_subdir TEST/EVAL_TRAIN + test ./prank.sh traineval -t chen11-fpocket.ds -e mlig-joined.ds -c config/new -loop 3 -out_subdir TEST/EVAL_TRAIN + test ./prank.sh traineval -t chen11-fpocket.ds -e joined.ds -c config/new -loop 3 -out_subdir TEST/EVAL_TRAIN + test ./prank.sh traineval -t chen11-fpocket.ds -e mlig-holo4k.ds -c config/new -loop 1 -cache_datasets 0 -out_subdir TEST/EVAL_TRAIN + test ./prank.sh traineval -t chen11-fpocket.ds -e holo4k.ds -c config/new -loop 1 -cache_datasets 0 -out_subdir TEST/EVAL_TRAIN + test ./prank.sh crossval chen11-fpocket.ds -c config/new -loop 3 -out_subdir TEST/EVAL_TRAIN } + +# evaluate particular config on main datasets +# usage: ./testsets.sh traineval_config