diff --git a/src/lrmc_cache/lrmc_PROTEINS_eps1000.0_ratio0.5_min4_maxinf.pkl b/src/lrmc_cache/lrmc_PROTEINS_eps1000.0_ratio0.5_min4_maxinf.pkl new file mode 100644 index 0000000000000000000000000000000000000000..9674edadcb94e0bb92a85f66dc9b0470c77638f3 --- /dev/null +++ b/src/lrmc_cache/lrmc_PROTEINS_eps1000.0_ratio0.5_min4_maxinf.pkl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:82287b71e1bd343c4822a8bf967616d997e58b8c438112f502e5c776d2a9a89a +size 3528700 diff --git a/src/lrmc_outputs/hyperparameter_results.csv b/src/lrmc_outputs/hyperparameter_results.csv new file mode 100644 index 0000000000000000000000000000000000000000..7259946a0f9ab24d223161d8819ae0f3f463a5ff --- /dev/null +++ b/src/lrmc_outputs/hyperparameter_results.csv @@ -0,0 +1,21 @@ +epsilon,target_ratio,batch_size,lr,dropout,kfold_splits,seed,min_size,hidden,wd,epochs,accuracy,run_file,cache_file +0.01,0.4,64,0.001,0.1,10,42,4,64,0.001,500,CV mean acc: 73.32% ± 3.99%,./modal_results/PROTEINS_RUN_05d29091.json,./modal_results/lrmc_cache/RUN_05d29091_lrmc_PROTEINS_eps0.01_ratio0.4_min4_maxinf.pkl +0.0001,0.4,64,0.001,0.1,10,42,4,64,0.001,500,CV mean acc: 73.23% ± 4.04%,./modal_results/PROTEINS_RUN_3258f141.json,./modal_results/lrmc_cache/RUN_3258f141_lrmc_PROTEINS_eps0.0001_ratio0.4_min4_maxinf.pkl +100.0,0.3,64,0.001,0.1,10,42,4,64,0.001,500,CV mean acc: 72.96% ± 2.93%,./modal_results/PROTEINS_RUN_4033d2ef.json,./modal_results/lrmc_cache/RUN_4033d2ef_lrmc_PROTEINS_eps100.0_ratio0.3_min4_maxinf.pkl +0.01,0.2,64,0.001,0.1,10,42,4,64,0.001,500,CV mean acc: 74.31% ± 4.15%,./modal_results/PROTEINS_RUN_4273a165.json,./modal_results/lrmc_cache/RUN_4273a165_lrmc_PROTEINS_eps0.01_ratio0.2_min4_maxinf.pkl +0.1,0.3,64,0.001,0.1,10,42,4,64,0.001,500,CV mean acc: 73.14% ± 4.25%,./modal_results/PROTEINS_RUN_57312135.json,./modal_results/lrmc_cache/RUN_57312135_lrmc_PROTEINS_eps0.1_ratio0.3_min4_maxinf.pkl +100.0,0.2,64,0.001,0.1,10,42,4,64,0.001,500,CV mean acc: 72.60% ± 3.57%,./modal_results/PROTEINS_RUN_5a2667d1.json,./modal_results/lrmc_cache/RUN_5a2667d1_lrmc_PROTEINS_eps100.0_ratio0.2_min4_maxinf.pkl +0.0001,0.3,64,0.001,0.1,10,42,4,64,0.001,500,CV mean acc: 73.23% ± 4.05%,./modal_results/PROTEINS_RUN_631cdf29.json,./modal_results/lrmc_cache/RUN_631cdf29_lrmc_PROTEINS_eps0.0001_ratio0.3_min4_maxinf.pkl +0.0001,0.2,64,0.001,0.1,10,42,4,64,0.001,500,CV mean acc: 74.04% ± 4.67%,./modal_results/PROTEINS_RUN_68530acd.json,./modal_results/lrmc_cache/RUN_68530acd_lrmc_PROTEINS_eps0.0001_ratio0.2_min4_maxinf.pkl +100.0,0.4,64,0.001,0.1,10,42,4,64,0.001,500,CV mean acc: 72.24% ± 3.95%,./modal_results/PROTEINS_RUN_8f967c90.json,./modal_results/lrmc_cache/RUN_8f967c90_lrmc_PROTEINS_eps100.0_ratio0.4_min4_maxinf.pkl +0.1,0.2,64,0.001,0.1,10,42,4,64,0.001,500,CV mean acc: 74.04% ± 4.46%,./modal_results/PROTEINS_RUN_91d8c798.json,./modal_results/lrmc_cache/RUN_91d8c798_lrmc_PROTEINS_eps0.1_ratio0.2_min4_maxinf.pkl +0.1,0.5,64,0.001,0.1,10,42,4,64,0.001,500,CV mean acc: 72.42% ± 3.47%,./modal_results/PROTEINS_RUN_93a023dc.json,./modal_results/lrmc_cache/RUN_93a023dc_lrmc_PROTEINS_eps0.1_ratio0.5_min4_maxinf.pkl +0.1,0.4,64,0.001,0.1,10,42,4,64,0.001,500,CV mean acc: 73.32% ± 4.30%,./modal_results/PROTEINS_RUN_9ed5f7f0.json,./modal_results/lrmc_cache/RUN_9ed5f7f0_lrmc_PROTEINS_eps0.1_ratio0.4_min4_maxinf.pkl +0.0001,0.5,64,0.001,0.1,10,42,4,64,0.001,500,CV mean acc: 72.60% ± 4.70%,./modal_results/PROTEINS_RUN_b813ebba.json,./modal_results/lrmc_cache/RUN_b813ebba_lrmc_PROTEINS_eps0.0001_ratio0.5_min4_maxinf.pkl +100.0,0.5,64,0.001,0.1,10,42,4,64,0.001,500,CV mean acc: 72.87% ± 3.55%,./modal_results/PROTEINS_RUN_c59933eb.json,./modal_results/lrmc_cache/RUN_c59933eb_lrmc_PROTEINS_eps100.0_ratio0.5_min4_maxinf.pkl +1e-06,0.3,64,0.001,0.1,10,42,4,64,0.001,500,CV mean acc: 74.03% ± 2.42%,./modal_results/PROTEINS_RUN_cb543281.json,./modal_results/lrmc_cache/RUN_cb543281_lrmc_PROTEINS_eps1e-06_ratio0.3_min4_maxinf.pkl +1e-06,0.2,64,0.001,0.1,10,42,4,64,0.001,500,CV mean acc: 74.31% ± 4.15%,./modal_results/PROTEINS_RUN_ce65f7bf.json,./modal_results/lrmc_cache/RUN_ce65f7bf_lrmc_PROTEINS_eps1e-06_ratio0.2_min4_maxinf.pkl +0.01,0.3,64,0.001,0.1,10,42,4,64,0.001,500,CV mean acc: 73.32% ± 3.93%,./modal_results/PROTEINS_RUN_d08597ac.json,./modal_results/lrmc_cache/RUN_d08597ac_lrmc_PROTEINS_eps0.01_ratio0.3_min4_maxinf.pkl +0.01,0.5,64,0.001,0.1,10,42,4,64,0.001,500,CV mean acc: 72.96% ± 4.43%,./modal_results/PROTEINS_RUN_e1558452.json,./modal_results/lrmc_cache/RUN_e1558452_lrmc_PROTEINS_eps0.01_ratio0.5_min4_maxinf.pkl +1e-06,0.5,64,0.001,0.1,10,42,4,64,0.001,500,CV mean acc: 72.78% ± 4.87%,./modal_results/PROTEINS_RUN_e91c1362.json,./modal_results/lrmc_cache/RUN_e91c1362_lrmc_PROTEINS_eps1e-06_ratio0.5_min4_maxinf.pkl +1e-06,0.4,64,0.001,0.1,10,42,4,64,0.001,500,CV mean acc: 73.77% ± 3.86%,./modal_results/PROTEINS_RUN_f86d9d48.json,./modal_results/lrmc_cache/RUN_f86d9d48_lrmc_PROTEINS_eps1e-06_ratio0.4_min4_maxinf.pkl diff --git a/src/lrmc_pool_proteins.py b/src/lrmc_pool_proteins.py index 4cd856c59f2f3f632828523cc4e4769b833c2f30..c34495a031f2aeb859d1bff2c74f7f61589769b4 100644 --- a/src/lrmc_pool_proteins.py +++ b/src/lrmc_pool_proteins.py @@ -163,17 +163,11 @@ def get_lrmc_cache_key(dataset_name: str, epsilon: float, target_ratio: float, m key_str = str(sorted(key_data.items())) return hashlib.md5(key_str.encode()).hexdigest()[:16] -def get_cache_filename(dataset_name: str, epsilon: float, target_ratio: float, min_size: int, max_clusters: Optional[int]) -> str: - """Generate a human-readable cache filename.""" - max_clusters_str = str(max_clusters) if max_clusters is not None else "inf" - return f"lrmc_{dataset_name}_eps{epsilon}_ratio{target_ratio}_min{min_size}_max{max_clusters_str}.pkl" - def save_lrmc_cache(dataset, cache_path: str, config: dict): """Save LRMC-processed dataset to cache.""" cache_data = { 'dataset': dataset, - 'lrmc_config': {k: v for k, v in config.items() - if k in ['dataset_name', 'epsilon', 'target_ratio', 'min_size', 'max_clusters']}, + 'lrmc_config': config, 'version': '1.0' } os.makedirs(os.path.dirname(cache_path), exist_ok=True) @@ -190,10 +184,14 @@ def load_lrmc_cache(cache_path: str): def validate_cache_config(cached_config: dict, current_config: dict) -> bool: """Check if cached config matches current LRMC config.""" - lrmc_keys = ['dataset_name', 'epsilon', 'target_ratio', 'min_size', 'max_clusters'] - for key in lrmc_keys: - if cached_config.get(key) != current_config.get(key): + lrmc_keys = current_config.keys() + + excluded = {'dataset_root', 'epochs', 'kfold_splits', 'seed', 'batch_size'} + for key in cached_config: + if cached_config.get(key) != current_config.get(key) and (key not in excluded): print(f"Cache config mismatch for {key}: cached={cached_config.get(key)}, current={current_config.get(key)}") + print(cached_config) + print(current_config) return False return True diff --git a/src/modal_results/PROTEINS_RUN_05d29091.json b/src/modal_results/PROTEINS_RUN_05d29091.json new file mode 100644 index 0000000000000000000000000000000000000000..63e96dcfd4f5ae075acb5376fbb238b14d0902bb --- /dev/null +++ b/src/modal_results/PROTEINS_RUN_05d29091.json @@ -0,0 +1,20 @@ +{ + "meta": { + "kfold_splits": "10", + "seed": "42", + "epsilon": 0.01, + "target_ratio": 0.4, + "min_size": 4, + "batch_size": 64, + "hidden": 64, + "lr": 0.001, + "wd": 0.001, + "epochs": 500, + "dropout": 0.1 + }, + "output": null, + "stderr": null, + "return_code": 0, + "pickle_file": "RUN_05d29091_lrmc_PROTEINS_eps0.01_ratio0.4_min4_maxinf.pkl", + "pickle_path": "lrmc_cache/RUN_05d29091_lrmc_PROTEINS_eps0.01_ratio0.4_min4_maxinf.pkl" +} \ No newline at end of file diff --git a/src/modal_results/PROTEINS_RUN_3258f141.json b/src/modal_results/PROTEINS_RUN_3258f141.json new file mode 100644 index 0000000000000000000000000000000000000000..213b9acc60c5542ab49e3a48a50842334b3fc63a --- /dev/null +++ b/src/modal_results/PROTEINS_RUN_3258f141.json @@ -0,0 +1,20 @@ +{ + "meta": { + "kfold_splits": "10", + "seed": "42", + "epsilon": 0.0001, + "target_ratio": 0.4, + "min_size": 4, + "batch_size": 64, + "hidden": 64, + "lr": 0.001, + "wd": 0.001, + "epochs": 500, + "dropout": 0.1 + }, + "output": null, + "stderr": null, + "return_code": 0, + "pickle_file": "RUN_3258f141_lrmc_PROTEINS_eps0.0001_ratio0.4_min4_maxinf.pkl", + "pickle_path": "lrmc_cache/RUN_3258f141_lrmc_PROTEINS_eps0.0001_ratio0.4_min4_maxinf.pkl" +} \ No newline at end of file diff --git a/src/modal_results/PROTEINS_RUN_4033d2ef.json b/src/modal_results/PROTEINS_RUN_4033d2ef.json new file mode 100644 index 0000000000000000000000000000000000000000..b5f6dd111525f11184e67bec4ff0f0516eb48c92 --- /dev/null +++ b/src/modal_results/PROTEINS_RUN_4033d2ef.json @@ -0,0 +1,20 @@ +{ + "meta": { + "kfold_splits": "10", + "seed": "42", + "epsilon": 100.0, + "target_ratio": 0.3, + "min_size": 4, + "batch_size": 64, + "hidden": 64, + "lr": 0.001, + "wd": 0.001, + "epochs": 500, + "dropout": 0.1 + }, + "output": null, + "stderr": null, + "return_code": 0, + "pickle_file": "RUN_4033d2ef_lrmc_PROTEINS_eps100.0_ratio0.3_min4_maxinf.pkl", + "pickle_path": "lrmc_cache/RUN_4033d2ef_lrmc_PROTEINS_eps100.0_ratio0.3_min4_maxinf.pkl" +} \ No newline at end of file diff --git a/src/modal_results/PROTEINS_RUN_4273a165.json b/src/modal_results/PROTEINS_RUN_4273a165.json new file mode 100644 index 0000000000000000000000000000000000000000..6d894769f7b2ecc79a64828ce0a271ebe102c626 --- /dev/null +++ b/src/modal_results/PROTEINS_RUN_4273a165.json @@ -0,0 +1,20 @@ +{ + "meta": { + "kfold_splits": "10", + "seed": "42", + "epsilon": 0.01, + "target_ratio": 0.2, + "min_size": 4, + "batch_size": 64, + "hidden": 64, + "lr": 0.001, + "wd": 0.001, + "epochs": 500, + "dropout": 0.1 + }, + "output": null, + "stderr": null, + "return_code": 0, + "pickle_file": "RUN_4273a165_lrmc_PROTEINS_eps0.01_ratio0.2_min4_maxinf.pkl", + "pickle_path": "lrmc_cache/RUN_4273a165_lrmc_PROTEINS_eps0.01_ratio0.2_min4_maxinf.pkl" +} \ No newline at end of file diff --git a/src/modal_results/PROTEINS_RUN_57312135.json b/src/modal_results/PROTEINS_RUN_57312135.json new file mode 100644 index 0000000000000000000000000000000000000000..1291043dc4e6cb99b3041d1f37a7329327519eac --- /dev/null +++ b/src/modal_results/PROTEINS_RUN_57312135.json @@ -0,0 +1,20 @@ +{ + "meta": { + "kfold_splits": "10", + "seed": "42", + "epsilon": 0.1, + "target_ratio": 0.3, + "min_size": 4, + "batch_size": 64, + "hidden": 64, + "lr": 0.001, + "wd": 0.001, + "epochs": 500, + "dropout": 0.1 + }, + "output": null, + "stderr": null, + "return_code": 0, + "pickle_file": "RUN_57312135_lrmc_PROTEINS_eps0.1_ratio0.3_min4_maxinf.pkl", + "pickle_path": "lrmc_cache/RUN_57312135_lrmc_PROTEINS_eps0.1_ratio0.3_min4_maxinf.pkl" +} \ No newline at end of file diff --git a/src/modal_results/PROTEINS_RUN_5a2667d1.json b/src/modal_results/PROTEINS_RUN_5a2667d1.json new file mode 100644 index 0000000000000000000000000000000000000000..ea9a88cd01a1ed75f0f54f48926f9a02fb2742c7 --- /dev/null +++ b/src/modal_results/PROTEINS_RUN_5a2667d1.json @@ -0,0 +1,20 @@ +{ + "meta": { + "kfold_splits": "10", + "seed": "42", + "epsilon": 100.0, + "target_ratio": 0.2, + "min_size": 4, + "batch_size": 64, + "hidden": 64, + "lr": 0.001, + "wd": 0.001, + "epochs": 500, + "dropout": 0.1 + }, + "output": null, + "stderr": null, + "return_code": 0, + "pickle_file": "RUN_5a2667d1_lrmc_PROTEINS_eps100.0_ratio0.2_min4_maxinf.pkl", + "pickle_path": "lrmc_cache/RUN_5a2667d1_lrmc_PROTEINS_eps100.0_ratio0.2_min4_maxinf.pkl" +} \ No newline at end of file diff --git a/src/modal_results/PROTEINS_RUN_631cdf29.json b/src/modal_results/PROTEINS_RUN_631cdf29.json new file mode 100644 index 0000000000000000000000000000000000000000..231255f2302215e66c7ec42d0437c9993076e7db --- /dev/null +++ b/src/modal_results/PROTEINS_RUN_631cdf29.json @@ -0,0 +1,20 @@ +{ + "meta": { + "kfold_splits": "10", + "seed": "42", + "epsilon": 0.0001, + "target_ratio": 0.3, + "min_size": 4, + "batch_size": 64, + "hidden": 64, + "lr": 0.001, + "wd": 0.001, + "epochs": 500, + "dropout": 0.1 + }, + "output": null, + "stderr": null, + "return_code": 0, + "pickle_file": "RUN_631cdf29_lrmc_PROTEINS_eps0.0001_ratio0.3_min4_maxinf.pkl", + "pickle_path": "lrmc_cache/RUN_631cdf29_lrmc_PROTEINS_eps0.0001_ratio0.3_min4_maxinf.pkl" +} \ No newline at end of file diff --git a/src/modal_results/PROTEINS_RUN_68530acd.json b/src/modal_results/PROTEINS_RUN_68530acd.json new file mode 100644 index 0000000000000000000000000000000000000000..96bbf18d7f5ba962ee4a8afa8ff2eaa4cd23260d --- /dev/null +++ b/src/modal_results/PROTEINS_RUN_68530acd.json @@ -0,0 +1,20 @@ +{ + "meta": { + "kfold_splits": "10", + "seed": "42", + "epsilon": 0.0001, + "target_ratio": 0.2, + "min_size": 4, + "batch_size": 64, + "hidden": 64, + "lr": 0.001, + "wd": 0.001, + "epochs": 500, + "dropout": 0.1 + }, + "output": null, + "stderr": null, + "return_code": 0, + "pickle_file": "RUN_68530acd_lrmc_PROTEINS_eps0.0001_ratio0.2_min4_maxinf.pkl", + "pickle_path": "lrmc_cache/RUN_68530acd_lrmc_PROTEINS_eps0.0001_ratio0.2_min4_maxinf.pkl" +} \ No newline at end of file diff --git a/src/modal_results/PROTEINS_RUN_8f967c90.json b/src/modal_results/PROTEINS_RUN_8f967c90.json new file mode 100644 index 0000000000000000000000000000000000000000..d7c433d898fa405d8ece0b20f788232307a85b8f --- /dev/null +++ b/src/modal_results/PROTEINS_RUN_8f967c90.json @@ -0,0 +1,20 @@ +{ + "meta": { + "kfold_splits": "10", + "seed": "42", + "epsilon": 100.0, + "target_ratio": 0.4, + "min_size": 4, + "batch_size": 64, + "hidden": 64, + "lr": 0.001, + "wd": 0.001, + "epochs": 500, + "dropout": 0.1 + }, + "output": null, + "stderr": null, + "return_code": 0, + "pickle_file": "RUN_8f967c90_lrmc_PROTEINS_eps100.0_ratio0.4_min4_maxinf.pkl", + "pickle_path": "lrmc_cache/RUN_8f967c90_lrmc_PROTEINS_eps100.0_ratio0.4_min4_maxinf.pkl" +} \ No newline at end of file diff --git a/src/modal_results/PROTEINS_RUN_91d8c798.json b/src/modal_results/PROTEINS_RUN_91d8c798.json new file mode 100644 index 0000000000000000000000000000000000000000..ffe8a49f0f74b4312a1fc440ef1463bd116f7b37 --- /dev/null +++ b/src/modal_results/PROTEINS_RUN_91d8c798.json @@ -0,0 +1,20 @@ +{ + "meta": { + "kfold_splits": "10", + "seed": "42", + "epsilon": 0.1, + "target_ratio": 0.2, + "min_size": 4, + "batch_size": 64, + "hidden": 64, + "lr": 0.001, + "wd": 0.001, + "epochs": 500, + "dropout": 0.1 + }, + "output": null, + "stderr": null, + "return_code": 0, + "pickle_file": "RUN_91d8c798_lrmc_PROTEINS_eps0.1_ratio0.2_min4_maxinf.pkl", + "pickle_path": "lrmc_cache/RUN_91d8c798_lrmc_PROTEINS_eps0.1_ratio0.2_min4_maxinf.pkl" +} \ No newline at end of file diff --git a/src/modal_results/PROTEINS_RUN_93a023dc.json b/src/modal_results/PROTEINS_RUN_93a023dc.json new file mode 100644 index 0000000000000000000000000000000000000000..9d8a6c90fc382a3ede093c538b59505eda6a75db --- /dev/null +++ b/src/modal_results/PROTEINS_RUN_93a023dc.json @@ -0,0 +1,20 @@ +{ + "meta": { + "kfold_splits": "10", + "seed": "42", + "epsilon": 0.1, + "target_ratio": 0.5, + "min_size": 4, + "batch_size": 64, + "hidden": 64, + "lr": 0.001, + "wd": 0.001, + "epochs": 500, + "dropout": 0.1 + }, + "output": null, + "stderr": null, + "return_code": 0, + "pickle_file": "RUN_93a023dc_lrmc_PROTEINS_eps0.1_ratio0.5_min4_maxinf.pkl", + "pickle_path": "lrmc_cache/RUN_93a023dc_lrmc_PROTEINS_eps0.1_ratio0.5_min4_maxinf.pkl" +} \ No newline at end of file diff --git a/src/modal_results/PROTEINS_RUN_9ed5f7f0.json b/src/modal_results/PROTEINS_RUN_9ed5f7f0.json new file mode 100644 index 0000000000000000000000000000000000000000..04379c4904649d1383948310cefb0137198a270d --- /dev/null +++ b/src/modal_results/PROTEINS_RUN_9ed5f7f0.json @@ -0,0 +1,20 @@ +{ + "meta": { + "kfold_splits": "10", + "seed": "42", + "epsilon": 0.1, + "target_ratio": 0.4, + "min_size": 4, + "batch_size": 64, + "hidden": 64, + "lr": 0.001, + "wd": 0.001, + "epochs": 500, + "dropout": 0.1 + }, + "output": null, + "stderr": null, + "return_code": 0, + "pickle_file": "RUN_9ed5f7f0_lrmc_PROTEINS_eps0.1_ratio0.4_min4_maxinf.pkl", + "pickle_path": "lrmc_cache/RUN_9ed5f7f0_lrmc_PROTEINS_eps0.1_ratio0.4_min4_maxinf.pkl" +} \ No newline at end of file diff --git a/src/modal_results/PROTEINS_RUN_b813ebba.json b/src/modal_results/PROTEINS_RUN_b813ebba.json new file mode 100644 index 0000000000000000000000000000000000000000..ee3c03444c1c8831e8466c6e287bbae4511e73a8 --- /dev/null +++ b/src/modal_results/PROTEINS_RUN_b813ebba.json @@ -0,0 +1,20 @@ +{ + "meta": { + "kfold_splits": "10", + "seed": "42", + "epsilon": 0.0001, + "target_ratio": 0.5, + "min_size": 4, + "batch_size": 64, + "hidden": 64, + "lr": 0.001, + "wd": 0.001, + "epochs": 500, + "dropout": 0.1 + }, + "output": null, + "stderr": null, + "return_code": 0, + "pickle_file": "RUN_b813ebba_lrmc_PROTEINS_eps0.0001_ratio0.5_min4_maxinf.pkl", + "pickle_path": "lrmc_cache/RUN_b813ebba_lrmc_PROTEINS_eps0.0001_ratio0.5_min4_maxinf.pkl" +} \ No newline at end of file diff --git a/src/modal_results/PROTEINS_RUN_c59933eb.json b/src/modal_results/PROTEINS_RUN_c59933eb.json new file mode 100644 index 0000000000000000000000000000000000000000..2b1b2a50523746b151e73b4cc2a16b6e1d402b17 --- /dev/null +++ b/src/modal_results/PROTEINS_RUN_c59933eb.json @@ -0,0 +1,20 @@ +{ + "meta": { + "kfold_splits": "10", + "seed": "42", + "epsilon": 100.0, + "target_ratio": 0.5, + "min_size": 4, + "batch_size": 64, + "hidden": 64, + "lr": 0.001, + "wd": 0.001, + "epochs": 500, + "dropout": 0.1 + }, + "output": null, + "stderr": null, + "return_code": 0, + "pickle_file": "RUN_c59933eb_lrmc_PROTEINS_eps100.0_ratio0.5_min4_maxinf.pkl", + "pickle_path": "lrmc_cache/RUN_c59933eb_lrmc_PROTEINS_eps100.0_ratio0.5_min4_maxinf.pkl" +} \ No newline at end of file diff --git a/src/modal_results/PROTEINS_RUN_cb543281.json b/src/modal_results/PROTEINS_RUN_cb543281.json new file mode 100644 index 0000000000000000000000000000000000000000..82207fe6fa9fa92ad696bd7f338d5526699bf3d2 --- /dev/null +++ b/src/modal_results/PROTEINS_RUN_cb543281.json @@ -0,0 +1,20 @@ +{ + "meta": { + "kfold_splits": "10", + "seed": "42", + "epsilon": 1e-06, + "target_ratio": 0.3, + "min_size": 4, + "batch_size": 64, + "hidden": 64, + "lr": 0.001, + "wd": 0.001, + "epochs": 500, + "dropout": 0.1 + }, + "output": null, + "stderr": null, + "return_code": 0, + "pickle_file": "RUN_cb543281_lrmc_PROTEINS_eps1e-06_ratio0.3_min4_maxinf.pkl", + "pickle_path": "lrmc_cache/RUN_cb543281_lrmc_PROTEINS_eps1e-06_ratio0.3_min4_maxinf.pkl" +} \ No newline at end of file diff --git a/src/modal_results/PROTEINS_RUN_ce65f7bf.json b/src/modal_results/PROTEINS_RUN_ce65f7bf.json new file mode 100644 index 0000000000000000000000000000000000000000..3787e2ec3ffa7be65f967a3aa611813bbf54c9c5 --- /dev/null +++ b/src/modal_results/PROTEINS_RUN_ce65f7bf.json @@ -0,0 +1,20 @@ +{ + "meta": { + "kfold_splits": "10", + "seed": "42", + "epsilon": 1e-06, + "target_ratio": 0.2, + "min_size": 4, + "batch_size": 64, + "hidden": 64, + "lr": 0.001, + "wd": 0.001, + "epochs": 500, + "dropout": 0.1 + }, + "output": null, + "stderr": null, + "return_code": 0, + "pickle_file": "RUN_ce65f7bf_lrmc_PROTEINS_eps1e-06_ratio0.2_min4_maxinf.pkl", + "pickle_path": "lrmc_cache/RUN_ce65f7bf_lrmc_PROTEINS_eps1e-06_ratio0.2_min4_maxinf.pkl" +} \ No newline at end of file diff --git a/src/modal_results/PROTEINS_RUN_d08597ac.json b/src/modal_results/PROTEINS_RUN_d08597ac.json new file mode 100644 index 0000000000000000000000000000000000000000..f26a74e8cf47219023abcb8974870414e103e1e3 --- /dev/null +++ b/src/modal_results/PROTEINS_RUN_d08597ac.json @@ -0,0 +1,20 @@ +{ + "meta": { + "kfold_splits": "10", + "seed": "42", + "epsilon": 0.01, + "target_ratio": 0.3, + "min_size": 4, + "batch_size": 64, + "hidden": 64, + "lr": 0.001, + "wd": 0.001, + "epochs": 500, + "dropout": 0.1 + }, + "output": null, + "stderr": null, + "return_code": 0, + "pickle_file": "RUN_d08597ac_lrmc_PROTEINS_eps0.01_ratio0.3_min4_maxinf.pkl", + "pickle_path": "lrmc_cache/RUN_d08597ac_lrmc_PROTEINS_eps0.01_ratio0.3_min4_maxinf.pkl" +} \ No newline at end of file diff --git a/src/modal_results/PROTEINS_RUN_e1558452.json b/src/modal_results/PROTEINS_RUN_e1558452.json new file mode 100644 index 0000000000000000000000000000000000000000..ff6ef849ec2d8e96453ce2e9e3b819609c65bcca --- /dev/null +++ b/src/modal_results/PROTEINS_RUN_e1558452.json @@ -0,0 +1,20 @@ +{ + "meta": { + "kfold_splits": "10", + "seed": "42", + "epsilon": 0.01, + "target_ratio": 0.5, + "min_size": 4, + "batch_size": 64, + "hidden": 64, + "lr": 0.001, + "wd": 0.001, + "epochs": 500, + "dropout": 0.1 + }, + "output": null, + "stderr": null, + "return_code": 0, + "pickle_file": "RUN_e1558452_lrmc_PROTEINS_eps0.01_ratio0.5_min4_maxinf.pkl", + "pickle_path": "lrmc_cache/RUN_e1558452_lrmc_PROTEINS_eps0.01_ratio0.5_min4_maxinf.pkl" +} \ No newline at end of file diff --git a/src/modal_results/PROTEINS_RUN_e91c1362.json b/src/modal_results/PROTEINS_RUN_e91c1362.json new file mode 100644 index 0000000000000000000000000000000000000000..b19d785107f68a40b566cd70c3e1a301c39a61b3 --- /dev/null +++ b/src/modal_results/PROTEINS_RUN_e91c1362.json @@ -0,0 +1,20 @@ +{ + "meta": { + "kfold_splits": "10", + "seed": "42", + "epsilon": 1e-06, + "target_ratio": 0.5, + "min_size": 4, + "batch_size": 64, + "hidden": 64, + "lr": 0.001, + "wd": 0.001, + "epochs": 500, + "dropout": 0.1 + }, + "output": null, + "stderr": null, + "return_code": 0, + "pickle_file": "RUN_e91c1362_lrmc_PROTEINS_eps1e-06_ratio0.5_min4_maxinf.pkl", + "pickle_path": "lrmc_cache/RUN_e91c1362_lrmc_PROTEINS_eps1e-06_ratio0.5_min4_maxinf.pkl" +} \ No newline at end of file diff --git a/src/modal_results/PROTEINS_RUN_f86d9d48.json b/src/modal_results/PROTEINS_RUN_f86d9d48.json new file mode 100644 index 0000000000000000000000000000000000000000..d65f21427b54d4f9fb57f1d3f6e29461f58185b2 --- /dev/null +++ b/src/modal_results/PROTEINS_RUN_f86d9d48.json @@ -0,0 +1,20 @@ +{ + "meta": { + "kfold_splits": "10", + "seed": "42", + "epsilon": 1e-06, + "target_ratio": 0.4, + "min_size": 4, + "batch_size": 64, + "hidden": 64, + "lr": 0.001, + "wd": 0.001, + "epochs": 500, + "dropout": 0.1 + }, + "output": null, + "stderr": null, + "return_code": 0, + "pickle_file": "RUN_f86d9d48_lrmc_PROTEINS_eps1e-06_ratio0.4_min4_maxinf.pkl", + "pickle_path": "lrmc_cache/RUN_f86d9d48_lrmc_PROTEINS_eps1e-06_ratio0.4_min4_maxinf.pkl" +} \ No newline at end of file diff --git a/src/modal_results/lrmc_cache/RUN_05d29091_lrmc_PROTEINS_eps0.01_ratio0.4_min4_maxinf.pkl b/src/modal_results/lrmc_cache/RUN_05d29091_lrmc_PROTEINS_eps0.01_ratio0.4_min4_maxinf.pkl new file mode 100644 index 0000000000000000000000000000000000000000..1743b1a1247c25568f39cfdd332acac89c493ea8 --- /dev/null +++ b/src/modal_results/lrmc_cache/RUN_05d29091_lrmc_PROTEINS_eps0.01_ratio0.4_min4_maxinf.pkl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:47f7d3a6a7c3a838fd0bd0b841268beec85800900c834892da19beeb5388b452 +size 3528800 diff --git a/src/modal_results/lrmc_cache/RUN_06c21b49_lrmc_PROTEINS_eps1000000.0_ratio0.4_min4_maxinf.pkl b/src/modal_results/lrmc_cache/RUN_06c21b49_lrmc_PROTEINS_eps1000000.0_ratio0.4_min4_maxinf.pkl new file mode 100644 index 0000000000000000000000000000000000000000..145fe0bcdc9f74c12fc4f949099063f92e25dca9 --- /dev/null +++ b/src/modal_results/lrmc_cache/RUN_06c21b49_lrmc_PROTEINS_eps1000000.0_ratio0.4_min4_maxinf.pkl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c3a223530fa4163f5b3883694732d9bd89fdb233213660a8018c6c44f7e8e0d6 +size 3528800 diff --git a/src/modal_results/lrmc_cache/RUN_16282bc4_lrmc_PROTEINS_eps1000000.0_ratio0.5_min4_maxinf.pkl b/src/modal_results/lrmc_cache/RUN_16282bc4_lrmc_PROTEINS_eps1000000.0_ratio0.5_min4_maxinf.pkl new file mode 100644 index 0000000000000000000000000000000000000000..d59ef0f93c04f38c2459e63229180b759c2fa7b2 --- /dev/null +++ b/src/modal_results/lrmc_cache/RUN_16282bc4_lrmc_PROTEINS_eps1000000.0_ratio0.5_min4_maxinf.pkl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:31b0043dd1638b3d4a1e65386adb76361086b30d4a37e46c7384120a14278620 +size 3528800 diff --git a/src/modal_results/lrmc_cache/RUN_212074ef_lrmc_PROTEINS_eps1000000.0_ratio0.2_min4_maxinf.pkl b/src/modal_results/lrmc_cache/RUN_212074ef_lrmc_PROTEINS_eps1000000.0_ratio0.2_min4_maxinf.pkl new file mode 100644 index 0000000000000000000000000000000000000000..63cef3941e699064d7dedab89e95771ab720c6af --- /dev/null +++ b/src/modal_results/lrmc_cache/RUN_212074ef_lrmc_PROTEINS_eps1000000.0_ratio0.2_min4_maxinf.pkl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ceb5ab495bc694228b9dda3dafab398a913eedc32c653861b9e293d3d6338b7f +size 3528800 diff --git a/src/modal_results/lrmc_cache/RUN_3258f141_lrmc_PROTEINS_eps0.0001_ratio0.4_min4_maxinf.pkl b/src/modal_results/lrmc_cache/RUN_3258f141_lrmc_PROTEINS_eps0.0001_ratio0.4_min4_maxinf.pkl new file mode 100644 index 0000000000000000000000000000000000000000..e22875d231a97f63a89058da0fe155d845e3eea8 --- /dev/null +++ b/src/modal_results/lrmc_cache/RUN_3258f141_lrmc_PROTEINS_eps0.0001_ratio0.4_min4_maxinf.pkl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3ce41e7259d194084b19b0065ff5bd6eb0f50792c479d82fa8b3e0047e3e3144 +size 3528800 diff --git a/src/modal_results/lrmc_cache/RUN_34e60ca3_lrmc_PROTEINS_eps10000.0_ratio0.2_min4_maxinf.pkl b/src/modal_results/lrmc_cache/RUN_34e60ca3_lrmc_PROTEINS_eps10000.0_ratio0.2_min4_maxinf.pkl new file mode 100644 index 0000000000000000000000000000000000000000..3b9e3245b150ea27d2fae3b53b5a7fa0e16ed584 --- /dev/null +++ b/src/modal_results/lrmc_cache/RUN_34e60ca3_lrmc_PROTEINS_eps10000.0_ratio0.2_min4_maxinf.pkl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cedb892942decf3d8e6eaf9018e6e16304f9ced29620c7637fb829bdcb5a848c +size 3528800 diff --git a/src/modal_results/lrmc_cache/RUN_4033d2ef_lrmc_PROTEINS_eps100.0_ratio0.3_min4_maxinf.pkl b/src/modal_results/lrmc_cache/RUN_4033d2ef_lrmc_PROTEINS_eps100.0_ratio0.3_min4_maxinf.pkl new file mode 100644 index 0000000000000000000000000000000000000000..bc7b916e2a0b6947c575dc6c7baeb0f7f97eac6b --- /dev/null +++ b/src/modal_results/lrmc_cache/RUN_4033d2ef_lrmc_PROTEINS_eps100.0_ratio0.3_min4_maxinf.pkl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:96aeec246aa46f88d59a508d4fc20d3b68d0fc09e9158a21f8458752bf86531c +size 3528800 diff --git a/src/modal_results/lrmc_cache/RUN_4273a165_lrmc_PROTEINS_eps0.01_ratio0.2_min4_maxinf.pkl b/src/modal_results/lrmc_cache/RUN_4273a165_lrmc_PROTEINS_eps0.01_ratio0.2_min4_maxinf.pkl new file mode 100644 index 0000000000000000000000000000000000000000..874694c655837ad70a1bb97ad7fefe63e7ba354f --- /dev/null +++ b/src/modal_results/lrmc_cache/RUN_4273a165_lrmc_PROTEINS_eps0.01_ratio0.2_min4_maxinf.pkl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:27f2e03dc1700d36886245b744609a745fe57d0d5a4831b5a20b8908a13efd69 +size 3528800 diff --git a/src/modal_results/lrmc_cache/RUN_57312135_lrmc_PROTEINS_eps0.1_ratio0.3_min4_maxinf.pkl b/src/modal_results/lrmc_cache/RUN_57312135_lrmc_PROTEINS_eps0.1_ratio0.3_min4_maxinf.pkl new file mode 100644 index 0000000000000000000000000000000000000000..b6eda34fba6d1b7276f1f2b370057d760740460e --- /dev/null +++ b/src/modal_results/lrmc_cache/RUN_57312135_lrmc_PROTEINS_eps0.1_ratio0.3_min4_maxinf.pkl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:db32d60975f8d6fc7431189eec9c440a051947b631c1a017d91a911fb6a1533d +size 3528800 diff --git a/src/modal_results/lrmc_cache/RUN_5a2667d1_lrmc_PROTEINS_eps100.0_ratio0.2_min4_maxinf.pkl b/src/modal_results/lrmc_cache/RUN_5a2667d1_lrmc_PROTEINS_eps100.0_ratio0.2_min4_maxinf.pkl new file mode 100644 index 0000000000000000000000000000000000000000..daea8f494b4fafcaf60298fa72307b8f0f209396 --- /dev/null +++ b/src/modal_results/lrmc_cache/RUN_5a2667d1_lrmc_PROTEINS_eps100.0_ratio0.2_min4_maxinf.pkl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6b27bc6b22ec2b79d67a2e2e2de3a6beb2cc06f358e463f030e1bf895d178442 +size 3528800 diff --git a/src/modal_results/lrmc_cache/RUN_631cdf29_lrmc_PROTEINS_eps0.0001_ratio0.3_min4_maxinf.pkl b/src/modal_results/lrmc_cache/RUN_631cdf29_lrmc_PROTEINS_eps0.0001_ratio0.3_min4_maxinf.pkl new file mode 100644 index 0000000000000000000000000000000000000000..50df2814c17c292f84a400ff3820f9bebb24bd79 --- /dev/null +++ b/src/modal_results/lrmc_cache/RUN_631cdf29_lrmc_PROTEINS_eps0.0001_ratio0.3_min4_maxinf.pkl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7105b4bf41109c9fd90543a8fbe398fa29c7db2ff60cd86871f8b6b81ef5661d +size 3528800 diff --git a/src/modal_results/lrmc_cache/RUN_68530acd_lrmc_PROTEINS_eps0.0001_ratio0.2_min4_maxinf.pkl b/src/modal_results/lrmc_cache/RUN_68530acd_lrmc_PROTEINS_eps0.0001_ratio0.2_min4_maxinf.pkl new file mode 100644 index 0000000000000000000000000000000000000000..4ab6d11847d2440d63019a4d6df04186d9e7bbd7 --- /dev/null +++ b/src/modal_results/lrmc_cache/RUN_68530acd_lrmc_PROTEINS_eps0.0001_ratio0.2_min4_maxinf.pkl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9c5b7c536b2a6c9544f46a22ec8573a249218de82bcbcf35f94cceec21f75e2d +size 3528800 diff --git a/src/modal_results/lrmc_cache/RUN_8f967c90_lrmc_PROTEINS_eps100.0_ratio0.4_min4_maxinf.pkl b/src/modal_results/lrmc_cache/RUN_8f967c90_lrmc_PROTEINS_eps100.0_ratio0.4_min4_maxinf.pkl new file mode 100644 index 0000000000000000000000000000000000000000..512df4cb06f5bac3623b05682627e2912c8042de --- /dev/null +++ b/src/modal_results/lrmc_cache/RUN_8f967c90_lrmc_PROTEINS_eps100.0_ratio0.4_min4_maxinf.pkl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4c5bb2c0ba2e76200dcb96efed310cc6a56391ac182e3ce9a66a9ad1bee4cb70 +size 3528800 diff --git a/src/modal_results/lrmc_cache/RUN_91d8c798_lrmc_PROTEINS_eps0.1_ratio0.2_min4_maxinf.pkl b/src/modal_results/lrmc_cache/RUN_91d8c798_lrmc_PROTEINS_eps0.1_ratio0.2_min4_maxinf.pkl new file mode 100644 index 0000000000000000000000000000000000000000..25086413dcd29ac201617db60cfe69fe242c6d0e --- /dev/null +++ b/src/modal_results/lrmc_cache/RUN_91d8c798_lrmc_PROTEINS_eps0.1_ratio0.2_min4_maxinf.pkl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:27ac738ae14123f2a2daf7487d84d44d67568e2bb0cf9d09b17fb16da46750b1 +size 3528800 diff --git a/src/modal_results/lrmc_cache/RUN_93a023dc_lrmc_PROTEINS_eps0.1_ratio0.5_min4_maxinf.pkl b/src/modal_results/lrmc_cache/RUN_93a023dc_lrmc_PROTEINS_eps0.1_ratio0.5_min4_maxinf.pkl new file mode 100644 index 0000000000000000000000000000000000000000..857f4377b2d8db509d92e6d2379f859c60a08ac3 --- /dev/null +++ b/src/modal_results/lrmc_cache/RUN_93a023dc_lrmc_PROTEINS_eps0.1_ratio0.5_min4_maxinf.pkl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:584a1cd55bfd9db8a6b3703d72b778dc96bd8416362da2fef2c2d8752dc529fa +size 3528800 diff --git a/src/modal_results/lrmc_cache/RUN_9d44052f_lrmc_PROTEINS_eps10000.0_ratio0.3_min4_maxinf.pkl b/src/modal_results/lrmc_cache/RUN_9d44052f_lrmc_PROTEINS_eps10000.0_ratio0.3_min4_maxinf.pkl new file mode 100644 index 0000000000000000000000000000000000000000..1005c167d8c701d59a066cac018bc35f56e77405 --- /dev/null +++ b/src/modal_results/lrmc_cache/RUN_9d44052f_lrmc_PROTEINS_eps10000.0_ratio0.3_min4_maxinf.pkl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2a894c10ceb0774c0d3f81d751b3305e5838c136af4655619fba798dd0ce16a9 +size 3528800 diff --git a/src/modal_results/lrmc_cache/RUN_9ed5f7f0_lrmc_PROTEINS_eps0.1_ratio0.4_min4_maxinf.pkl b/src/modal_results/lrmc_cache/RUN_9ed5f7f0_lrmc_PROTEINS_eps0.1_ratio0.4_min4_maxinf.pkl new file mode 100644 index 0000000000000000000000000000000000000000..937312c277c53c133161b7e43202a815cef91af8 --- /dev/null +++ b/src/modal_results/lrmc_cache/RUN_9ed5f7f0_lrmc_PROTEINS_eps0.1_ratio0.4_min4_maxinf.pkl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ac5e9506c72f7f1e47cc70fc21aff6f7b93f5a11e85bbf8a5e38b21e49cbd51b +size 3528800 diff --git a/src/modal_results/lrmc_cache/RUN_ad2f3a07_lrmc_PROTEINS_eps1000000.0_ratio0.3_min4_maxinf.pkl b/src/modal_results/lrmc_cache/RUN_ad2f3a07_lrmc_PROTEINS_eps1000000.0_ratio0.3_min4_maxinf.pkl new file mode 100644 index 0000000000000000000000000000000000000000..0d8e0509c7472823e96e4e39bc5a505f6060aa54 --- /dev/null +++ b/src/modal_results/lrmc_cache/RUN_ad2f3a07_lrmc_PROTEINS_eps1000000.0_ratio0.3_min4_maxinf.pkl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:78eb8d68644b7109549ad05315af2505cdc242c1a855896ebb072e1b320aba90 +size 3528800 diff --git a/src/modal_results/lrmc_cache/RUN_b813ebba_lrmc_PROTEINS_eps0.0001_ratio0.5_min4_maxinf.pkl b/src/modal_results/lrmc_cache/RUN_b813ebba_lrmc_PROTEINS_eps0.0001_ratio0.5_min4_maxinf.pkl new file mode 100644 index 0000000000000000000000000000000000000000..dd4d26ed03ae06d02967fe8bf7020bd553917870 --- /dev/null +++ b/src/modal_results/lrmc_cache/RUN_b813ebba_lrmc_PROTEINS_eps0.0001_ratio0.5_min4_maxinf.pkl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3add62e551f1f13ac0fca533c5855c543b18b1eff54e5f7a6abf392d6dd9598c +size 3528800 diff --git a/src/modal_results/lrmc_cache/RUN_c59933eb_lrmc_PROTEINS_eps100.0_ratio0.5_min4_maxinf.pkl b/src/modal_results/lrmc_cache/RUN_c59933eb_lrmc_PROTEINS_eps100.0_ratio0.5_min4_maxinf.pkl new file mode 100644 index 0000000000000000000000000000000000000000..cc9273adddfe91420a043a7da5868d7e5fd7d294 --- /dev/null +++ b/src/modal_results/lrmc_cache/RUN_c59933eb_lrmc_PROTEINS_eps100.0_ratio0.5_min4_maxinf.pkl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:137b4024493f393bad3693d63e16bc27dee05dd5e6dc0ae18998c55614266cd7 +size 3528800 diff --git a/src/modal_results/lrmc_cache/RUN_cb543281_lrmc_PROTEINS_eps1e-06_ratio0.3_min4_maxinf.pkl b/src/modal_results/lrmc_cache/RUN_cb543281_lrmc_PROTEINS_eps1e-06_ratio0.3_min4_maxinf.pkl new file mode 100644 index 0000000000000000000000000000000000000000..a9f06ef7f91c9aad3a0a32c04205a7306d6ee86d --- /dev/null +++ b/src/modal_results/lrmc_cache/RUN_cb543281_lrmc_PROTEINS_eps1e-06_ratio0.3_min4_maxinf.pkl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b8e5d0930ad9056942a5a356ad523847a02ccf60ddce3d066c1b2293482dcbc8 +size 3528800 diff --git a/src/modal_results/lrmc_cache/RUN_ce65f7bf_lrmc_PROTEINS_eps1e-06_ratio0.2_min4_maxinf.pkl b/src/modal_results/lrmc_cache/RUN_ce65f7bf_lrmc_PROTEINS_eps1e-06_ratio0.2_min4_maxinf.pkl new file mode 100644 index 0000000000000000000000000000000000000000..83721055062993a5ebc19b7d76b80d9ef5ad4e4c --- /dev/null +++ b/src/modal_results/lrmc_cache/RUN_ce65f7bf_lrmc_PROTEINS_eps1e-06_ratio0.2_min4_maxinf.pkl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9075ae337c28c5a1ed01d5c1b6334ff9ee7b86364febc9eab260a445e7356afb +size 3528800 diff --git a/src/modal_results/lrmc_cache/RUN_d08597ac_lrmc_PROTEINS_eps0.01_ratio0.3_min4_maxinf.pkl b/src/modal_results/lrmc_cache/RUN_d08597ac_lrmc_PROTEINS_eps0.01_ratio0.3_min4_maxinf.pkl new file mode 100644 index 0000000000000000000000000000000000000000..5d5abfb60520774892bf7b8d2e347ed6809e9898 --- /dev/null +++ b/src/modal_results/lrmc_cache/RUN_d08597ac_lrmc_PROTEINS_eps0.01_ratio0.3_min4_maxinf.pkl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ad169af06120ae2cb86eb12827d6c7c782d45f4eafc8d203502af5601a26660a +size 3528800 diff --git a/src/modal_results/lrmc_cache/RUN_e1558452_lrmc_PROTEINS_eps0.01_ratio0.5_min4_maxinf.pkl b/src/modal_results/lrmc_cache/RUN_e1558452_lrmc_PROTEINS_eps0.01_ratio0.5_min4_maxinf.pkl new file mode 100644 index 0000000000000000000000000000000000000000..d23623d216aa034eda813e838d59dc4cfe49a469 --- /dev/null +++ b/src/modal_results/lrmc_cache/RUN_e1558452_lrmc_PROTEINS_eps0.01_ratio0.5_min4_maxinf.pkl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5b675111213a439a46e3a263e378ea7828858d2dfbdfe0c6e011bd991f392416 +size 3528800 diff --git a/src/modal_results/lrmc_cache/RUN_e91c1362_lrmc_PROTEINS_eps1e-06_ratio0.5_min4_maxinf.pkl b/src/modal_results/lrmc_cache/RUN_e91c1362_lrmc_PROTEINS_eps1e-06_ratio0.5_min4_maxinf.pkl new file mode 100644 index 0000000000000000000000000000000000000000..b17ac25b12990db184870ba437fd24e04a6e819e --- /dev/null +++ b/src/modal_results/lrmc_cache/RUN_e91c1362_lrmc_PROTEINS_eps1e-06_ratio0.5_min4_maxinf.pkl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c65fe6bd0e7a3084c9fc3aa7ae63e92510889b03dfa60f0dcbdc4ef8fb588afc +size 3528800 diff --git a/src/modal_results/lrmc_cache/RUN_f86d9d48_lrmc_PROTEINS_eps1e-06_ratio0.4_min4_maxinf.pkl b/src/modal_results/lrmc_cache/RUN_f86d9d48_lrmc_PROTEINS_eps1e-06_ratio0.4_min4_maxinf.pkl new file mode 100644 index 0000000000000000000000000000000000000000..756323bd09c3995b08dd0febf50d6eab2fa3d27b --- /dev/null +++ b/src/modal_results/lrmc_cache/RUN_f86d9d48_lrmc_PROTEINS_eps1e-06_ratio0.4_min4_maxinf.pkl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:30c3e07f2c3ffc19b4b393f0a98a79b6608f3876a4e37e2a0fe813ea0933ca02 +size 3528800 diff --git a/src/modal_results/lrmc_cache/RUN_f9a8545a_lrmc_PROTEINS_eps10000.0_ratio0.5_min4_maxinf.pkl b/src/modal_results/lrmc_cache/RUN_f9a8545a_lrmc_PROTEINS_eps10000.0_ratio0.5_min4_maxinf.pkl new file mode 100644 index 0000000000000000000000000000000000000000..1f3c2850485c1d196514aba512310770dc5c71f2 --- /dev/null +++ b/src/modal_results/lrmc_cache/RUN_f9a8545a_lrmc_PROTEINS_eps10000.0_ratio0.5_min4_maxinf.pkl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cbc2589c1d19e05c1e1cef6efe40384b74e0b5348835fa81b585ffdbfedbcc0a +size 3528800 diff --git a/src/modal_results/lrmc_cache/RUN_fc04f052_lrmc_PROTEINS_eps10000.0_ratio0.4_min4_maxinf.pkl b/src/modal_results/lrmc_cache/RUN_fc04f052_lrmc_PROTEINS_eps10000.0_ratio0.4_min4_maxinf.pkl new file mode 100644 index 0000000000000000000000000000000000000000..61814bf786dffca4e28d3c2c0cd62a6da41f8316 --- /dev/null +++ b/src/modal_results/lrmc_cache/RUN_fc04f052_lrmc_PROTEINS_eps10000.0_ratio0.4_min4_maxinf.pkl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6beac15a2d84effe08f08917b3ad6706168fc3217aa0df61bff90f43b6639adc +size 3528800 diff --git a/src/run_hyperparams.py b/src/run_hyperparams.py new file mode 100644 index 0000000000000000000000000000000000000000..f9e413f2ebfd5f3f6ea9061650844052fbea274e --- /dev/null +++ b/src/run_hyperparams.py @@ -0,0 +1,649 @@ +# def combine_results_local(): +# import glob +# import pandas as pd +# import subprocess +# import json +# import os +# import csv +# from pathlib import Path + +# # Work from current directory (clique/src) +# results_dir = "./modal_results" +# cache_dir = f"{results_dir}/lrmc_cache" + +# # Find all JSON result files +# run_files = glob.glob(f"{results_dir}/PROTEINS_RUN_*.json") +# print(f"Found {len(run_files)} JSON result files") + +# if not run_files: +# print("No JSON result files found!") +# return + +# # Create output directory +# os.makedirs("./lrmc_outputs", exist_ok=True) +# csv_path = "./lrmc_outputs/hyperparameter_results.csv" + +# results = [] + +# for run_file in run_files: +# try: +# with open(run_file, 'r') as f: +# run_data = json.load(f) + +# meta = run_data.get("meta", {}) + +# # Skip if no pickle file +# if not run_data.get("pickle_file"): +# print(f"Skipping {run_file} - no pickle file") +# continue + +# # Find the actual pickle file (handle the renaming) +# pickle_file = run_data["pickle_file"] +# if pickle_file.startswith("RUN_"): +# # Extract original filename after RUN_HASH_ +# parts = pickle_file.split("_", 2) +# if len(parts) > 2: +# actual_pickle = parts[2] +# else: +# actual_pickle = pickle_file +# else: +# actual_pickle = pickle_file + +# cache_file_path = f"{cache_dir}/{actual_pickle}" + +# # Check if cache file exists +# if not os.path.exists(cache_file_path): +# # Try with the full name +# cache_file_path = f"{cache_dir}/{pickle_file}" +# if not os.path.exists(cache_file_path): +# print(f"Cache file not found for {run_file}") +# continue + +# print(f"Processing {run_file} with cache {cache_file_path}") + +# # Build command - include LRMC parameters from metadata +# cmd = [ +# "python3", "lrmc_pool_proteins.py", +# f"--cache_file={cache_file_path}", +# f"--epsilon={meta.get('epsilon', '1000')}", # Add this +# f"--target_ratio={meta.get('target_ratio', '0.5')}", # Add this +# f"--min_size={meta.get('min_size', '4')}", # Add this +# f"--kfold_splits={meta.get('kfold_splits', '10')}", +# f"--seed={meta.get('seed', '42')}", +# f"--batch_size={meta.get('batch_size', '64')}", +# f"--hidden={meta.get('hidden', '64')}", +# f"--lr={meta.get('lr', '0.001')}", +# f"--wd={meta.get('wd', '0.001')}", +# f"--epochs=250", +# f"--dropout={meta.get('dropout', '0.1')}" +# ] + +# print(cmd) + +# # Execute training +# result = subprocess.run(cmd, capture_output=True, text=True, cwd=".") + +# # Parse accuracy from output +# accuracy = None +# if result.returncode == 0: +# output_lines = result.stdout.strip().split('\n') +# # Try to find accuracy in any line +# print(output_lines) +# for line in output_lines[::-1]: +# if "cv mean acc:" in line.lower(): +# accuracy = line +# print(accuracy) +# else: +# print(f"Error running training for {run_file}") +# print(f"STDERR: {result.stderr}") + +# # Collect result +# result_row = { +# "epsilon": meta.get('epsilon', ''), +# "target_ratio": meta.get('target_ratio', ''), +# "batch_size": meta.get('batch_size', ''), +# "lr": meta.get('lr', ''), +# "dropout": meta.get('dropout', ''), +# "kfold_splits": meta.get('kfold_splits', ''), +# "seed": meta.get('seed', ''), +# "min_size": meta.get('min_size', ''), +# "hidden": meta.get('hidden', ''), +# "wd": meta.get('wd', ''), +# "epochs": meta.get('epochs', ''), +# "accuracy": accuracy, +# "run_file": run_file, +# "cache_file": cache_file_path +# } +# print(result_row) +# results.append(result_row) + +# except Exception as e: +# print(f"Error processing {run_file}: {e}") + +# # Write results to CSV +# if results: +# df = pd.DataFrame(results) +# df.to_csv(csv_path, index=False) +# print(f"Created results CSV at {csv_path} with {len(results)} results") + +# # Print summary +# print("\nResults summary:") +# print(df[['epsilon', 'target_ratio', 'accuracy']].to_string()) +# else: +# print("No results to save!") + +# if __name__ == "__main__": +# combine_results_local() + + + +def combine_results_local(): + import glob + import pandas as pd + import subprocess + import json + import os + import csv + from pathlib import Path + from concurrent.futures import ThreadPoolExecutor, as_completed + + # Work from current directory (clique/src) + results_dir = "./modal_results" + cache_dir = f"{results_dir}/lrmc_cache" + + # Find all JSON result files + run_files = glob.glob(f"{results_dir}/PROTEINS_RUN_*.json") + print(f"Found {len(run_files)} JSON result files") + + if not run_files: + print("No JSON result files found!") + return + + # Create output directory + os.makedirs("./lrmc_outputs", exist_ok=True) + csv_path = "./lrmc_outputs/hyperparameter_results.csv" + + results = [] + + def process_run_file(run_file): + try: + with open(run_file, 'r') as f: + run_data = json.load(f) + + meta = run_data.get("meta", {}) + + # Skip if no pickle file + if not run_data.get("pickle_file"): + print(f"Skipping {run_file} - no pickle file") + return None + + # Find the actual pickle file (handle the renaming) + pickle_file = run_data["pickle_file"] + if pickle_file.startswith("RUN_"): + # Extract original filename after RUN_HASH_ + parts = pickle_file.split("_", 2) + if len(parts) > 2: + actual_pickle = parts[2] + else: + actual_pickle = pickle_file + else: + actual_pickle = pickle_file + + cache_file_path = f"{cache_dir}/{actual_pickle}" + + # Check if cache file exists + if not os.path.exists(cache_file_path): + # Try with the full name + cache_file_path = f"{cache_dir}/{pickle_file}" + if not os.path.exists(cache_file_path): + print(f"Cache file not found for {run_file}") + return None + + print(f"Processing {run_file} with cache {cache_file_path}") + + # Build command - include LRMC parameters from metadata + cmd = [ + "python3", "lrmc_pool_proteins.py", + f"--cache_file={cache_file_path}", + f"--epsilon={meta.get('epsilon', '1000')}", # Add this + f"--target_ratio={meta.get('target_ratio', '0.5')}", # Add this + f"--min_size={meta.get('min_size', '4')}", # Add this + f"--kfold_splits={meta.get('kfold_splits', '10')}", + f"--seed={meta.get('seed', '42')}", + f"--batch_size={meta.get('batch_size', '64')}", + f"--hidden={meta.get('hidden', '64')}", + f"--lr={meta.get('lr', '0.001')}", + f"--wd={meta.get('wd', '0.001')}", + f"--epochs=250", + f"--dropout={meta.get('dropout', '0.1')}" + ] + + print(cmd) + + # Execute training + result = subprocess.run(cmd, capture_output=True, text=True, cwd=".") + + # Parse accuracy from output + accuracy = None + if result.returncode == 0: + output_lines = result.stdout.strip().split('\n') + print(output_lines) + # Try to find accuracy in any line + for line in output_lines[::-1]: + if "cv mean acc:" in line.lower(): + accuracy = line + print(accuracy) + else: + print(f"Error running training for {run_file}") + print(f">>> STDOUT: {result.stdout}") + print(f">>> STDERR: {result.stderr}") + + # Collect result + result_row = { + "epsilon": meta.get('epsilon', ''), + "target_ratio": meta.get('target_ratio', ''), + "batch_size": meta.get('batch_size', ''), + "lr": meta.get('lr', ''), + "dropout": meta.get('dropout', ''), + "kfold_splits": meta.get('kfold_splits', ''), + "seed": meta.get('seed', ''), + "min_size": meta.get('min_size', ''), + "hidden": meta.get('hidden', ''), + "wd": meta.get('wd', ''), + "epochs": meta.get('epochs', ''), + "accuracy": accuracy, + "run_file": run_file, + "cache_file": cache_file_path + } + print(result_row) + return result_row + + except Exception as e: + print(f"Error processing {run_file}: {e}") + return None + + # Run training jobs in parallel (up to 2 at a time) + with ThreadPoolExecutor(max_workers=2) as executor: + future_to_runfile = {executor.submit(process_run_file, rf): rf for rf in run_files} + + for future in as_completed(future_to_runfile): + result = future.result() + if result: + results.append(result) + + # Sort the results by run_file to maintain deterministic order + results.sort(key=lambda x: x['run_file']) + + # Write results to CSV + if results: + df = pd.DataFrame(results) + df.to_csv(csv_path, index=False) + print(f"Created results CSV at {csv_path} with {len(results)} results") + + # Print summary + print("\nResults summary:") + print(df[['epsilon', 'target_ratio', 'accuracy']].to_string()) + else: + print("No results to save!") + +if __name__ == "__main__": + combine_results_local() + + + +# # # def combine_results_local(): +# # # import glob +# # # import pandas as pd +# # # import subprocess +# # # import json +# # # import os +# # # import csv +# # # from pathlib import Path + +# # # # Work from current directory (clique/src) +# # # results_dir = "./modal_results" +# # # cache_dir = f"{results_dir}/lrmc_cache" + +# # # # Find all JSON result files +# # # run_files = glob.glob(f"{results_dir}/PROTEINS_RUN_*.json") +# # # print(f"Found {len(run_files)} JSON result files") + +# # # if not run_files: +# # # print("No JSON result files found!") +# # # return + +# # # # Create output directory +# # # os.makedirs("./lrmc_outputs", exist_ok=True) +# # # csv_path = "./lrmc_outputs/hyperparameter_results.csv" + +# # # results = [] + +# # # for run_file in run_files: +# # # try: +# # # with open(run_file, 'r') as f: +# # # run_data = json.load(f) + +# # # meta = run_data.get("meta", {}) + +# # # # Skip if no pickle file +# # # if not run_data.get("pickle_file"): +# # # print(f"Skipping {run_file} - no pickle file") +# # # continue + +# # # # Find the actual pickle file (handle the renaming) +# # # pickle_file = run_data["pickle_file"] +# # # if pickle_file.startswith("RUN_"): +# # # # Extract original filename after RUN_HASH_ +# # # parts = pickle_file.split("_", 2) +# # # if len(parts) > 2: +# # # actual_pickle = parts[2] +# # # else: +# # # actual_pickle = pickle_file +# # # else: +# # # actual_pickle = pickle_file + +# # # cache_file_path = f"{cache_dir}/{actual_pickle}" + +# # # # Check if cache file exists +# # # if not os.path.exists(cache_file_path): +# # # # Try with the full name +# # # cache_file_path = f"{cache_dir}/{pickle_file}" +# # # if not os.path.exists(cache_file_path): +# # # print(f"Cache file not found for {run_file}") +# # # continue + +# # # print(f"Processing {run_file} with cache {cache_file_path}") + +# # # # Build command - include LRMC parameters from metadata +# # # cmd = [ +# # # "python3", "lrmc_pool_proteins.py", +# # # f"--cache_file={cache_file_path}", +# # # f"--epsilon={meta.get('epsilon', '1000')}", +# # # f"--target_ratio={meta.get('target_ratio', '0.5')}", +# # # f"--min_size={meta.get('min_size', '4')}", +# # # f"--kfold_splits={meta.get('kfold_splits', '10')}", +# # # f"--seed={meta.get('seed', '42')}", +# # # f"--batch_size={meta.get('batch_size', '64')}", +# # # f"--hidden={meta.get('hidden', '64')}", +# # # f"--lr={meta.get('lr', '0.001')}", +# # # f"--wd={meta.get('wd', '0.001')}", +# # # f"--epochs={meta.get('epochs', '500')}", +# # # f"--dropout={meta.get('dropout', '0.1')}" +# # # ] + +# # # # Execute training and stream output +# # # print(' '.join(cmd)) +# # # process = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, text=True, bufsize=1, cwd=".") +# # # accuracy = None + +# # # # Stream output line by line in real-time +# # # for line in process.stdout: +# # # print(line.rstrip(), flush=True) # Print each line as it comes +# # # try: +# # # # Try parsing accuracy from final line +# # # if "accuracy" in line.lower(): +# # # import re +# # # numbers = re.findall(r'[\d.]+', line) +# # # if numbers: +# # # accuracy = float(numbers[-1]) +# # # except Exception as e: +# # # print(f"Error parsing line: {e}") + +# # # process.wait() # Wait for the process to finish + +# # # if process.returncode != 0: +# # # print(f"Error running training for {run_file}") +# # # accuracy = None + +# # # # Collect result +# # # result_row = { +# # # "epsilon": meta.get('epsilon', ''), +# # # "target_ratio": meta.get('target_ratio', ''), +# # # "batch_size": meta.get('batch_size', ''), +# # # "lr": meta.get('lr', ''), +# # # "dropout": meta.get('dropout', ''), +# # # "kfold_splits": meta.get('kfold_splits', ''), +# # # "seed": meta.get('seed', ''), +# # # "min_size": meta.get('min_size', ''), +# # # "hidden": meta.get('hidden', ''), +# # # "wd": meta.get('wd', ''), +# # # "epochs": meta.get('epochs', ''), +# # # "accuracy": accuracy, +# # # "run_file": run_file, +# # # "cache_file": cache_file_path +# # # } +# # # print(result_row) +# # # results.append(result_row) + +# # # except Exception as e: +# # # print(f"Error processing {run_file}: {e}") + +# # # # Write results to CSV +# # # if results: +# # # df = pd.DataFrame(results) +# # # df.to_csv(csv_path, index=False) +# # # print(f"Created results CSV at {csv_path} with {len(results)} results") + +# # # # Print summary +# # # print("\nResults summary:") +# # # print(df[['epsilon', 'target_ratio', 'accuracy']].to_string()) +# # # else: +# # # print("No results to save!") + +# # # combine_results_local() + +# # def combine_results_local(): +# # import glob +# # import pandas as pd +# # import subprocess +# # import json +# # import os +# # import csv +# # from pathlib import Path + +# # # Work from current directory (clique/src) +# # results_dir = "./modal_results" +# # cache_dir = f"{results_dir}/lrmc_cache" + +# # # Find all JSON result files +# # run_files = glob.glob(f"{results_dir}/PROTEINS_RUN_*.json") +# # print(f"Found {len(run_files)} JSON result files") + +# # if not run_files: +# # print("No JSON result files found!") +# # return + +# # # Create output directory +# # os.makedirs("./lrmc_outputs", exist_ok=True) +# # csv_path = "./lrmc_outputs/hyperparameter_results.csv" + +# # results = [] + +# # for run_file in run_files: +# # try: +# # with open(run_file, 'r') as f: +# # run_data = json.load(f) + +# # meta = run_data.get("meta", {}) + +# # # Skip if no pickle file +# # if not run_data.get("pickle_file"): +# # print(f"Skipping {run_file} - no pickle file") +# # continue + +# # # Find the actual pickle file (handle the renaming) +# # pickle_file = run_data["pickle_file"] +# # if pickle_file.startswith("RUN_"): +# # # Extract original filename after RUN_HASH_ +# # parts = pickle_file.split("_", 2) +# # if len(parts) > 2: +# # actual_pickle = parts[2] +# # else: +# # actual_pickle = pickle_file +# # else: +# # actual_pickle = pickle_file + +# # cache_file_path = f"{cache_dir}/{actual_pickle}" + +# # # Check if cache file exists +# # if not os.path.exists(cache_file_path): +# # # Try with the full name +# # cache_file_path = f"{cache_dir}/{pickle_file}" +# # if not os.path.exists(cache_file_path): +# # print(f"Cache file not found for {run_file}") +# # continue + +# # print(f"Processing {run_file} with cache {cache_file_path}") + +# # # Build command - include LRMC parameters from metadata +# # cmd = [ +# # "python3", "lrmc_pool_proteins.py", +# # f"--cache_file={cache_file_path}", +# # f"--epsilon={meta.get('epsilon', '1000')}", +# # f"--target_ratio={meta.get('target_ratio', '0.5')}", +# # f"--min_size={meta.get('min_size', '4')}", +# # f"--kfold_splits={meta.get('kfold_splits', '10')}", +# # f"--seed={meta.get('seed', '42')}", +# # f"--batch_size={meta.get('batch_size', '64')}", +# # f"--hidden={meta.get('hidden', '64')}", +# # f"--lr={meta.get('lr', '0.001')}", +# # f"--wd={meta.get('wd', '0.001')}", +# # f"--epochs={meta.get('epochs', '500')}", +# # f"--dropout={meta.get('dropout', '0.1')}" +# # ] + +# # # Execute training and stream output - NO piping, inherit stdout +# # print(' '.join(cmd)) +# # process = subprocess.Popen(cmd, cwd=".") +# # process.wait() # Wait for the process to finish + +# # # Since we can't capture output anymore, we need to handle accuracy differently +# # # You might need to modify lrmc_pool_proteins.py to write accuracy to a file +# # accuracy = None + +# # # Try to read accuracy from a output file if your script writes one +# # # This is a placeholder - adjust based on how your script outputs accuracy +# # accuracy_file = "./lrmc_outputs/last_accuracy.txt" # or wherever it might be written +# # if os.path.exists(accuracy_file): +# # with open(accuracy_file, 'r') as f: +# # try: +# # accuracy = float(f.read().strip()) +# # except: +# # pass + +# # if process.returncode != 0: +# # print(f"Error running training for {run_file}") +# # accuracy = None + +# # # Collect result +# # result_row = { +# # "epsilon": meta.get('epsilon', ''), +# # "target_ratio": meta.get('target_ratio', ''), +# # "batch_size": meta.get('batch_size', ''), +# # "lr": meta.get('lr', ''), +# # "dropout": meta.get('dropout', ''), +# # "kfold_splits": meta.get('kfold_splits', ''), +# # "seed": meta.get('seed', ''), +# # "min_size": meta.get('min_size', ''), +# # "hidden": meta.get('hidden', ''), +# # "wd": meta.get('wd', ''), +# # "epochs": meta.get('epochs', ''), +# # "accuracy": accuracy, +# # "run_file": run_file, +# # "cache_file": cache_file_path +# # } +# # print(result_row) +# # results.append(result_row) + +# # except Exception as e: +# # print(f"Error processing {run_file}: {e}") + +# # # Write results to CSV +# # if results: +# # df = pd.DataFrame(results) +# # df.to_csv(csv_path, index=False) +# # print(f"Created results CSV at {csv_path} with {len(results)} results") + +# # # Print summary +# # print("\nResults summary:") +# # print(df[['epsilon', 'target_ratio', 'accuracy']].to_string()) +# # else: +# # print("No results to save!") + +# # combine_results_local() + +# # def combine_results_local(): +# # import glob +# # import json +# # import os + +# # # Work from current directory (clique/src) +# # results_dir = "./modal_results" +# # cache_dir = f"{results_dir}/lrmc_cache" + +# # # Find all JSON result files +# # run_files = glob.glob(f"{results_dir}/PROTEINS_RUN_*.json") +# # print(f"Found {len(run_files)} JSON result files") + +# # if not run_files: +# # print("No JSON result files found!") +# # return + +# # for run_file in run_files: +# # try: +# # with open(run_file, 'r') as f: +# # run_data = json.load(f) + +# # meta = run_data.get("meta", {}) + +# # # Skip if no pickle file +# # if not run_data.get("pickle_file"): +# # print(f"Skipping {run_file} - no pickle file") +# # continue + +# # # Find the actual pickle file (handle the renaming) +# # pickle_file = run_data["pickle_file"] +# # if pickle_file.startswith("RUN_"): +# # # Extract original filename after RUN_HASH_ +# # parts = pickle_file.split("_", 2) +# # if len(parts) > 2: +# # actual_pickle = parts[2] +# # else: +# # actual_pickle = pickle_file +# # else: +# # actual_pickle = pickle_file + +# # cache_file_path = f"{cache_dir}/{actual_pickle}" + +# # # Check if cache file exists +# # if not os.path.exists(cache_file_path): +# # # Try with the full name +# # cache_file_path = f"{cache_dir}/{pickle_file}" +# # if not os.path.exists(cache_file_path): +# # print(f"Cache file not found for {run_file}") +# # continue + +# # # Build command - include LRMC parameters from metadata +# # cmd = [ +# # "python3", "lrmc_pool_proteins.py", +# # f"--cache_file={cache_file_path}", +# # f"--epsilon={meta.get('epsilon', '1000')}", +# # f"--target_ratio={meta.get('target_ratio', '0.5')}", +# # f"--min_size={meta.get('min_size', '4')}", +# # f"--kfold_splits={meta.get('kfold_splits', '10')}", +# # f"--seed={meta.get('seed', '42')}", +# # f"--batch_size={meta.get('batch_size', '64')}", +# # f"--hidden={meta.get('hidden', '64')}", +# # f"--lr={meta.get('lr', '0.001')}", +# # f"--wd={meta.get('wd', '0.001')}", +# # f"--epochs={meta.get('epochs', '500')}", +# # f"--dropout={meta.get('dropout', '0.1')}" +# # ] + +# # # Print the command +# # print(' '.join(cmd)) + +# # except Exception as e: +# # print(f"Error processing {run_file}: {e}") + +# # combine_results_local() \ No newline at end of file