From 637aba27cfc04559322ff496663ed92c498ec741 Mon Sep 17 00:00:00 2001 From: PatReis Date: Wed, 13 Dec 2023 21:25:45 +0100 Subject: [PATCH] ran more test training. --- kgcnn/literature/HDNNP2nd/_make.py | 4 +- kgcnn/literature/HamNet/_layers.py | 14 +- kgcnn/literature/MoGAT/_layers.py | 3 +- training/hyper/hyper_esol.py | 6 +- training/hyper/hyper_freesolv.py | 501 ++++++++++++++++++ .../HDNNP2nd_FreeSolvDataset_score.yaml | 154 ++++++ .../HDNNP2nd/HDNNP2nd_hyper.json | 1 + .../INorp/INorp_FreeSolvDataset_score.yaml | 154 ++++++ .../FreeSolvDataset/INorp/INorp_hyper.json | 1 + .../MAT/MAT_FreeSolvDataset_score.yaml | 154 ++++++ .../FreeSolvDataset/MAT/MAT_hyper.json | 1 + .../MEGAN/MEGAN_FreeSolvDataset_score.yaml | 154 ++++++ .../FreeSolvDataset/MEGAN/MEGAN_hyper.json | 1 + .../MXMNet/MXMNet_FreeSolvDataset_score.yaml | 154 ++++++ .../FreeSolvDataset/MXMNet/MXMNet_hyper.json | 1 + .../MoGAT/MoGAT_FreeSolvDataset_score.yaml | 136 +++++ .../FreeSolvDataset/MoGAT/MoGAT_hyper.json | 1 + .../rGIN/rGIN_FreeSolvDataset_score.yaml | 136 +++++ .../FreeSolvDataset/rGIN/rGIN_hyper.json | 1 + training/train_graph.py | 2 +- 20 files changed, 1565 insertions(+), 14 deletions(-) create mode 100644 training/results/FreeSolvDataset/HDNNP2nd/HDNNP2nd_FreeSolvDataset_score.yaml create mode 100644 training/results/FreeSolvDataset/HDNNP2nd/HDNNP2nd_hyper.json create mode 100644 training/results/FreeSolvDataset/INorp/INorp_FreeSolvDataset_score.yaml create mode 100644 training/results/FreeSolvDataset/INorp/INorp_hyper.json create mode 100644 training/results/FreeSolvDataset/MAT/MAT_FreeSolvDataset_score.yaml create mode 100644 training/results/FreeSolvDataset/MAT/MAT_hyper.json create mode 100644 training/results/FreeSolvDataset/MEGAN/MEGAN_FreeSolvDataset_score.yaml create mode 100644 training/results/FreeSolvDataset/MEGAN/MEGAN_hyper.json create mode 100644 training/results/FreeSolvDataset/MXMNet/MXMNet_FreeSolvDataset_score.yaml create mode 100644 training/results/FreeSolvDataset/MXMNet/MXMNet_hyper.json create mode 100644 training/results/FreeSolvDataset/MoGAT/MoGAT_FreeSolvDataset_score.yaml create mode 100644 training/results/FreeSolvDataset/MoGAT/MoGAT_hyper.json create mode 100644 training/results/FreeSolvDataset/rGIN/rGIN_FreeSolvDataset_score.yaml create mode 100644 training/results/FreeSolvDataset/rGIN/rGIN_hyper.json diff --git a/kgcnn/literature/HDNNP2nd/_make.py b/kgcnn/literature/HDNNP2nd/_make.py index ccde9d26..cf38db13 100644 --- a/kgcnn/literature/HDNNP2nd/_make.py +++ b/kgcnn/literature/HDNNP2nd/_make.py @@ -57,7 +57,7 @@ def make_model_weighted(inputs: list = None, cast_disjoint_kwargs: dict = None, node_pooling_args: dict = None, name: str = None, - verbose: int = None, # noqa + verbose: int = None, w_acsf_ang_kwargs: dict = None, w_acsf_rad_kwargs: dict = None, normalize_kwargs: dict = None, @@ -65,7 +65,7 @@ def make_model_weighted(inputs: list = None, mlp_kwargs: dict = None, output_embedding: str = None, use_output_mlp: bool = None, - output_to_tensor: bool = None, # noqa + output_to_tensor: bool = None, output_mlp: dict = None, output_scaling: dict = None, output_tensor_type: str = None diff --git a/kgcnn/literature/HamNet/_layers.py b/kgcnn/literature/HamNet/_layers.py index 56101f90..ca21cc4b 100644 --- a/kgcnn/literature/HamNet/_layers.py +++ b/kgcnn/literature/HamNet/_layers.py @@ -90,7 +90,7 @@ def get_config(self): conf_dense = self.lay_dense.get_config() for x in ["kernel_regularizer", "activity_regularizer", "bias_regularizer", "kernel_constraint", "bias_constraint", "kernel_initializer", "bias_initializer", "use_bias", "activation"]: - if x in conf_dense: + if x in conf_dense.keys(): config.update({x: conf_dense[x]}) return config @@ -214,7 +214,7 @@ def get_config(self): if self.use_dropout: conf_drop = self.dropout_layer.get_config() for x in ["rate", "noise_shape", "seed"]: - if x in conf_drop: + if x in conf_drop.keys(): config.update({x: conf_drop[x]}) conf_last = self.final_activ.get_config() config.update({"activation_last": conf_last["activation"]}) @@ -374,18 +374,18 @@ def get_config(self): conf_sub = self.vertex2mol.get_config() for x in ["kernel_regularizer", "activity_regularizer", "bias_regularizer", "kernel_constraint", "bias_constraint", "kernel_initializer", "bias_initializer", "activation"]: - if x in conf_sub: + if x in conf_sub.keys(): config.update({x: conf_sub[x]}) if len(self.unions) > 0: conf_gru = self.unions[0].get_config() for x in ["recurrent_activation", "recurrent_initializer", "recurrent_regularizer", "recurrent_constraint", "dropout", "recurrent_dropout", "reset_after"]: - if x in conf_gru: + if x in conf_gru.keys(): config.update({x: conf_gru[x]}) if len(self.readouts) > 0: conf_read = self.readouts[0].get_config() for x in ["use_dropout", "seed", "rate", "noise_shape"]: - if x in conf_read: + if x in conf_read.keys(): config.update({x: conf_read[x]}) return config @@ -535,12 +535,12 @@ def get_config(self): conf_sub = self.dense_attend.get_config() for x in ["kernel_regularizer", "activity_regularizer", "bias_regularizer", "kernel_constraint", "bias_constraint", "kernel_initializer", "bias_initializer", "activation"]: - if x in conf_sub: + if x in conf_sub.keys(): config.update({x: conf_sub[x]}) if self.use_dropout: conf_drop = self.dropout_layer.get_config() for x in ["rate", "noise_shape", "seed"]: - if x in conf_drop: + if x in conf_drop.keys(): config.update({x: conf_drop[x]}) conf_last = self.final_activ.get_config() config.update({"activation_last": conf_last["activation"]}) diff --git a/kgcnn/literature/MoGAT/_layers.py b/kgcnn/literature/MoGAT/_layers.py index 20eb92f0..4a3d1e84 100644 --- a/kgcnn/literature/MoGAT/_layers.py +++ b/kgcnn/literature/MoGAT/_layers.py @@ -111,7 +111,8 @@ def get_config(self): conf_sub = self.lay_alpha_activation.get_config() for x in ["kernel_regularizer", "activity_regularizer", "bias_regularizer", "kernel_constraint", "bias_constraint", "kernel_initializer", "bias_initializer", "activation"]: - config.update({x: conf_sub[x]}) + if x in conf_sub.keys(): + config.update({x: conf_sub[x]}) conf_context = self.lay_final_activ.get_config() config.update({"activation_context": conf_context["activation"]}) return config \ No newline at end of file diff --git a/training/hyper/hyper_esol.py b/training/hyper/hyper_esol.py index 3ac2f106..d8542a60 100644 --- a/training/hyper/hyper_esol.py +++ b/training/hyper/hyper_esol.py @@ -1170,7 +1170,7 @@ "HDNNP2nd": { "model": { "class_name": "make_model", - "module_name": "kgcnn.literature.Schnet", + "module_name": "kgcnn.literature.HDNNP2nd", "config": { "name": "HDNNP2nd", "inputs": [ @@ -1555,8 +1555,8 @@ }, "data": { "dataset": { - "class_name": "QM7Dataset", - "module_name": "kgcnn.data.datasets.QM7Dataset", + "class_name": "ESOLDataset", + "module_name": "kgcnn.data.datasets.ESOLDataset", "config": {}, "methods": [ {"map_list": {"method": "set_edge_weights_uniform"}}, diff --git a/training/hyper/hyper_freesolv.py b/training/hyper/hyper_freesolv.py index ef80382d..21a11304 100644 --- a/training/hyper/hyper_freesolv.py +++ b/training/hyper/hyper_freesolv.py @@ -1034,4 +1034,505 @@ "kgcnn_version": "4.0.0" } }, + "HDNNP2nd": { + "model": { + "class_name": "make_model", + "module_name": "kgcnn.literature.HDNNP2nd", + "config": { + "name": "HDNNP2nd", + "inputs": [ + {"shape": (None,), "name": "node_number", "dtype": "int64"}, + {"shape": (None, 3), "name": "node_coordinates", "dtype": "float32"}, + {"shape": (None, 2), "name": "range_indices", "dtype": "int64"}, + {"shape": (None, 3), "name": "angle_indices_nodes", "dtype": "int64"}, + {"shape": (), "name": "total_nodes", "dtype": "int64"}, + {"shape": (), "name": "total_ranges", "dtype": "int64"}, + {"shape": (), "name": "total_angles", "dtype": "int64"} + ], + "input_tensor_type": "padded", + "cast_disjoint_kwargs": {}, + "w_acsf_ang_kwargs": {}, + "w_acsf_rad_kwargs": {}, + "mlp_kwargs": {"units": [128, 128, 128, 1], + "num_relations": 96, + "activation": ["swish", "swish", "swish", "linear"]}, + "node_pooling_args": {"pooling_method": "sum"}, + "verbose": 10, + "output_embedding": "graph", "output_to_tensor": True, + "use_output_mlp": False, + "output_mlp": {"use_bias": [True, True], "units": [64, 1], + "activation": ["swish", "linear"]} + } + }, + "training": { + "cross_validation": {"class_name": "KFold", + "config": {"n_splits": 5, "random_state": 42, "shuffle": True}}, + "scaler": {"class_name": "StandardLabelScaler", + "config": {"with_std": True, "with_mean": True, "copy": True}}, + "fit": { + "batch_size": 64, "epochs": 500, "validation_freq": 10, "verbose": 2, + "callbacks": [ + {"class_name": "kgcnn>LinearLearningRateScheduler", "config": { + "learning_rate_start": 0.001, "learning_rate_stop": 1e-05, "epo_min": 100, "epo": 500, + "verbose": 0} + } + ] + }, + "compile": { + "optimizer": {"class_name": "Adam", "config": {"learning_rate": 0.001}}, + "loss": "mean_absolute_error" + } + }, + "data": { + "dataset": { + "class_name": "FreeSolvDataset", + "module_name": "kgcnn.data.datasets.FreeSolvDataset", + "config": {}, + "methods": [ + {"map_list": {"method": "set_range", "max_distance": 8, "max_neighbours": 10000}}, + {"map_list": {"method": "set_angle"}}, + {"map_list": {"method": "count_nodes_and_edges", "total_edges": "total_ranges", + "count_edges": "range_indices"}}, + {"map_list": {"method": "count_nodes_and_edges", "total_edges": "total_angles", + "count_edges": "angle_indices"}}, + ] + }, + }, + "info": { + "postfix": "", + "postfix_file": "", + "kgcnn_version": "4.0.0" + } + }, + "MoGAT": { + "model": { + "class_name": "make_model", + "module_name": "kgcnn.literature.MoGAT", + "config": { + "name": "MoGAT", + "inputs": [ + {"shape": [None, 41], "name": "node_attributes", "dtype": "float32"}, + {"shape": [None, 11], "name": "edge_attributes", "dtype": "float32"}, + {"shape": [None, 2], "name": "edge_indices", "dtype": "int64"}, + {"shape": (), "name": "total_nodes", "dtype": "int64"}, + {"shape": (), "name": "total_edges", "dtype": "int64"}, + ], + "input_embedding": None, + "input_node_embedding": {"input_dim": 95, "output_dim": 64}, + "input_edge_embedding": {"input_dim": 5, "output_dim": 64}, + "attention_args": {"units": 100}, + "depthato": 2, "depthmol": 2, + "pooling_gat_nodes_args": {'pooling_method': 'mean'}, + "dropout": 0.2, + "verbose": 10, + "output_embedding": "graph", + "output_mlp": {"use_bias": [True], "units": [1], + "activation": ["linear"]} + } + }, + "training": { + "fit": { + "batch_size": 200, "epochs": 200, "validation_freq": 1, "verbose": 2, + "callbacks": [] + }, + "compile": { + "optimizer": {"class_name": "AdamW", + "config": {"learning_rate": 0.001, "weight_decay": 1e-05}}, + "loss": "mean_squared_error" + }, + "cross_validation": {"class_name": "KFold", + "config": {"n_splits": 5, "random_state": 42, "shuffle": True}}, + "scaler": {"class_name": "StandardLabelScaler", + "config": {"with_std": True, "with_mean": True, "copy": True}} + }, + "data": { + "dataset": { + "class_name": "FreeSolvDataset", + "module_name": "kgcnn.data.datasets.FreeSolvDataset", + "config": {}, + "methods": [ + {"set_attributes": {}}, + {"map_list": {"method": "count_nodes_and_edges"}} + ] + }, + "data_unit": "mol/L" + }, + "info": { + "postfix": "", + "postfix_file": "", + "kgcnn_version": "4.0.0" + } + }, + "INorp": { + "model": { + "class_name": "make_model", + "module_name": "kgcnn.literature.INorp", + "config": { + "name": "INorp", + "inputs": [ + {"shape": [None, 41], "name": "node_attributes", "dtype": "float32"}, + {"shape": [None, 11], "name": "edge_attributes", "dtype": "float32"}, + {"shape": [None, 2], "name": "edge_indices", "dtype": "int64"}, + {"shape": [], "name": "graph_size", "dtype": "int64"}, + {"shape": (), "name": "total_nodes", "dtype": "int64"}, + {"shape": (), "name": "total_edges", "dtype": "int64"}, + ], + 'input_tensor_type': "padded", + "input_embedding": None, + "input_node_embedding": {"input_dim": 95, "output_dim": 32}, + "input_edge_embedding": {"input_dim": 15, "output_dim": 32}, + "input_graph_embedding": {"input_dim": 100, "output_dim": 32}, + "set2set_args": {"channels": 32, "T": 3, "pooling_method": "mean", "init_qstar": "mean"}, + "node_mlp_args": {"units": [32, 32], "use_bias": True, "activation": ["relu", "linear"]}, + "edge_mlp_args": {"units": [32, 32], "activation": ["relu", "linear"]}, + "pooling_args": {"pooling_method": "sum"}, + "depth": 3, "use_set2set": False, "verbose": 10, + "gather_args": {}, + "output_embedding": "graph", + "output_mlp": {"use_bias": [True, True, False], "units": [32, 32, 1], + "activation": ["relu", "relu", "linear"]}, + } + }, + "training": { + "fit": { + "batch_size": 32, "epochs": 500, "validation_freq": 2, "verbose": 2, + "callbacks": [ + {"class_name": "kgcnn>LinearLearningRateScheduler", "config": { + "learning_rate_start": 0.5e-03, "learning_rate_stop": 1e-05, "epo_min": 300, "epo": 500, + "verbose": 0 + } + } + ] + }, + "compile": { + "optimizer": {"class_name": "Adam", "config": {"learning_rate": 5e-03}}, + "loss": "mean_absolute_error" + }, + "cross_validation": {"class_name": "KFold", + "config": {"n_splits": 5, "random_state": 42, "shuffle": True}}, + "scaler": {"class_name": "StandardLabelScaler", + "config": {"with_std": True, "with_mean": True, "copy": True}} + }, + "data": { + "dataset": { + "class_name": "FreeSolvDataset", + "module_name": "kgcnn.data.datasets.FreeSolvDataset", + "config": {}, + "methods": [ + {"set_attributes": {}}, + {"map_list": {"method": "count_nodes_and_edges"}} + ] + }, + "data_unit": "mol/L" + }, + "info": { + "postfix": "", + "postfix_file": "", + "kgcnn_version": "4.0.0" + } + }, + "MEGAN": { + "model": { + "class_name": "make_model", + "module_name": "kgcnn.literature.MEGAN", + "config": { + 'name': "MEGAN", + 'inputs': [ + {'shape': (None, 41), 'name': "node_attributes", 'dtype': 'float32'}, + {'shape': (None, ), 'name': "edge_number", 'dtype': 'float32'}, + {'shape': (None, 2), 'name': "edge_indices", 'dtype': 'int64'}, + {"shape": [2], "name": "graph_attributes", "dtype": "float32"}, + {"shape": (), "name": "total_nodes", "dtype": "int64"}, + {"shape": (), "name": "total_edges", "dtype": "int64"}, + ], + "input_tensor_type": "padded", + 'units': [60, 50, 40, 30], + 'importance_units': [], + 'final_units': [50, 30, 10, 1], + 'dropout_rate': 0.3, + 'final_dropout_rate': 0.00, + 'importance_channels': 3, + 'return_importances': False, + 'use_edge_features': False, + } + }, + "training": { + "fit": { + "batch_size": 64, + "epochs": 400, + "validation_freq": 10, + "verbose": 2, + "callbacks": [ + { + "class_name": "kgcnn>LinearLearningRateScheduler", "config": { + "learning_rate_start": 1e-03, "learning_rate_stop": 1e-05, "epo_min": 200, "epo": 400, + "verbose": 0 + } + } + ] + }, + "compile": { + "optimizer": {"class_name": "Adam", "config": {"learning_rate": 1e-03}}, + "loss": "mean_squared_error" + }, + "cross_validation": {"class_name": "KFold", + "config": {"n_splits": 5, "random_state": 42, "shuffle": True}}, + "scaler": {"class_name": "StandardLabelScaler", + "config": {"with_std": True, "with_mean": True, "copy": True}} + }, + "data": { + "dataset": { + "class_name": "FreeSolvDataset", + "module_name": "kgcnn.data.datasets.FreeSolvDataset", + "config": {}, + "methods": [ + {"set_attributes": {}}, + {"map_list": {"method": "set_range", "max_distance": 3, "max_neighbours": 100}}, + {"map_list": {"method": "count_nodes_and_edges"}} + ] + }, + "data_unit": "mol/L" + }, + "info": { + "postfix": "", + "postfix_file": "", + "kgcnn_version": "4.0.0" + } + }, + "rGIN": { + "model": { + "class_name": "make_model", + "module_name": "kgcnn.literature.rGIN", + "config": { + "name": "rGIN", + "inputs": [ + {"shape": [None, 41], "name": "node_attributes", "dtype": "float32"}, + {"shape": [None, 2], "name": "edge_indices", "dtype": "int64"}, + {"shape": (), "name": "total_nodes", "dtype": "int64"}, + {"shape": (), "name": "total_edges", "dtype": "int64"} + ], + "input_tensor_type": "padded", + "input_embedding": None, + "input_node_embedding": {"input_dim": 96, "output_dim": 95}, + "depth": 5, + "dropout": 0.05, + "gin_mlp": {"units": [64, 64], "use_bias": True, "activation": ["relu", "linear"], + "use_normalization": True, "normalization_technique": "graph"}, + "rgin_args": {"random_range": 100}, + "last_mlp": {"use_bias": True, "units": [64, 32, 1], "activation": ["relu", "relu", "linear"]}, + "output_embedding": "graph", + "output_mlp": {"activation": "linear", "units": 1} + } + }, + "training": { + "fit": {"batch_size": 32, "epochs": 300, "validation_freq": 1, "verbose": 2, "callbacks": [] + }, + "compile": { + "optimizer": {"class_name": "Adam", + "config": {"learning_rate": { + "module": "keras.optimizers.schedules", + "class_name": "ExponentialDecay", + "config": {"initial_learning_rate": 0.001, + "decay_steps": 1600, + "decay_rate": 0.5, "staircase": False}}} + }, + "loss": "mean_absolute_error" + }, + "cross_validation": {"class_name": "KFold", + "config": {"n_splits": 5, "random_state": 42, "shuffle": True}}, + "scaler": {"class_name": "StandardLabelScaler", + "config": {"with_std": True, "with_mean": True, "copy": True}} + }, + "data": { + "dataset": { + "class_name": "FreeSolvDataset", + "module_name": "kgcnn.data.datasets.FreeSolvDataset", + "config": {}, + "methods": [ + {"set_attributes": {}}, + {"map_list": {"method": "count_nodes_and_edges"}} + ] + }, + "data_unit": "mol/L" + }, + "info": { + "postfix": "", + "postfix_file": "", + "kgcnn_version": "4.0.0" + } + }, + "MXMNet": { + "model": { + "class_name": "make_model", + "module_name": "kgcnn.literature.MXMNet", + "config": { + "name": "MXMNet", + "inputs": [ + {"shape": (None,), "name": "node_number", "dtype": "int64"}, + {"shape": (None, 3), "name": "node_coordinates", "dtype": "float32"}, + {"shape": (None, 1), "name": "edge_weights", "dtype": "float32"}, + {"shape": (None, 2), "name": "edge_indices", "dtype": "int64"}, + {"shape": (None, 2), "name": "range_indices", "dtype": "int64"}, + {"shape": [None, 2], "name": "angle_indices_1", "dtype": "int64"}, + {"shape": [None, 2], "name": "angle_indices_2", "dtype": "int64"}, + {"shape": (), "name": "total_nodes", "dtype": "int64"}, + {"shape": (), "name": "total_edges", "dtype": "int64"}, + {"shape": (), "name": "total_ranges", "dtype": "int64"}, + {"shape": (), "name": "total_angles_1", "dtype": "int64"}, + {"shape": (), "name": "total_angles_2", "dtype": "int64"} + ], + "input_tensor_type": "padded", + "input_embedding": None, + "input_node_embedding": {"input_dim": 95, "output_dim": 32}, + "input_edge_embedding": {"input_dim": 5, "output_dim": 32}, + "bessel_basis_local": {"num_radial": 16, "cutoff": 5.0, "envelope_exponent": 5}, + "bessel_basis_global": {"num_radial": 16, "cutoff": 5.0, "envelope_exponent": 5}, + "spherical_basis_local": {"num_spherical": 7, "num_radial": 6, "cutoff": 5.0, "envelope_exponent": 5}, + "mlp_rbf_kwargs": {"units": 32, "activation": "swish"}, + "mlp_sbf_kwargs": {"units": 32, "activation": "swish"}, + "global_mp_kwargs": {"units": 32, "pooling_method": "mean"}, + "local_mp_kwargs": {"units": 32, "output_units": 1, + "output_kernel_initializer": "glorot_uniform"}, + "use_edge_attributes": False, + "depth": 4, + "verbose": 10, + "node_pooling_args": {"pooling_method": "sum"}, + "output_embedding": "graph", "output_to_tensor": True, + "use_output_mlp": False, + "output_mlp": {"use_bias": [True], "units": [1], + "activation": ["linear"]} + } + }, + "training": { + "fit": { + "batch_size": 128, "epochs": 900, "validation_freq": 10, "verbose": 2, + "callbacks": [ + {"class_name": "kgcnn>LinearWarmupExponentialLRScheduler", "config": { + "lr_start": 1e-03, "gamma": 0.9961697, "epo_warmup": 1, "verbose": 1, "steps_per_epoch": 45}} + ] + }, + "compile": { + "optimizer": {"class_name": "Adam", "config": {"learning_rate": 1e-03, "global_clipnorm": 1000}}, + "loss": "mean_absolute_error", + }, + "cross_validation": {"class_name": "KFold", + "config": {"n_splits": 5, "random_state": 42, "shuffle": True}}, + "scaler": {"class_name": "StandardLabelScaler", + "config": {"with_std": True, "with_mean": True, "copy": True}} + }, + "data": { + "dataset": { + "class_name": "FreeSolvDataset", + "module_name": "kgcnn.data.datasets.FreeSolvDataset", + "config": {}, + "methods": [ + {"map_list": {"method": "set_edge_weights_uniform"}}, + {"map_list": {"method": "set_range", "max_distance": 5, "max_neighbours": 1000}}, + {"map_list": {"method": "set_angle", "range_indices": "edge_indices", "edge_pairing": "jk", + "angle_indices": "angle_indices_1", + "angle_indices_nodes": "angle_indices_nodes_1", + "angle_attributes": "angle_attributes_1"}}, + {"map_list": {"method": "set_angle", "range_indices": "edge_indices", "edge_pairing": "ik", + "allow_self_edges": True, + "angle_indices": "angle_indices_2", + "angle_indices_nodes": "angle_indices_nodes_2", + "angle_attributes": "angle_attributes_2"}}, + {"map_list": {"method": "count_nodes_and_edges"}}, + {"map_list": {"method": "count_nodes_and_edges", "total_edges": "total_ranges", + "count_edges": "range_indices"}}, + {"map_list": {"method": "count_nodes_and_edges", "total_edges": "total_angles_1", + "count_edges": "angle_indices_1"}}, + {"map_list": {"method": "count_nodes_and_edges", "total_edges": "total_angles_2", + "count_edges": "angle_indices_2"}} + ] + }, + "data_unit": "kcal/mol" + }, + "info": { + "postfix": "", + "postfix_file": "", + "kgcnn_version": "4.0.0" + } + }, + "MAT": { + "model": { + "class_name": "make_model", + "module_name": "kgcnn.literature.MAT", + "config": { + "name": "MAT", + "inputs": [ + {"shape": (None,), "name": "node_number", "dtype": "int64"}, + {"shape": (None, 3), "name": "node_coordinates", "dtype": "float64"}, + {"shape": (None, None, 11), "name": "adjacency_matrix", "dtype": "float64"}, + {"shape": (None,), "name": "node_mask", "dtype": "bool"}, + {"shape": (None, None), "name": "adjacency_mask", "dtype": "bool"}, + ], + "input_embedding": None, + "input_node_embedding": {"input_dim": 95, "output_dim": 64}, + "input_edge_embedding": None, + "distance_matrix_kwargs": {"trafo": "exp"}, + "attention_kwargs": {"units": 8, "lambda_attention": 0.3, "lambda_distance": 0.3, + "lambda_adjacency": None, "add_identity": False, + "dropout": 0.1}, + "feed_forward_kwargs": {"units": [32, 32, 32], "activation": ["relu", "relu", "linear"]}, + "embedding_units": 32, + "depth": 5, + "heads": 8, + "merge_heads": "concat", + "verbose": 10, + "pooling_kwargs": {"pooling_method": "sum"}, + "output_embedding": "graph", + "output_to_tensor": True, + "output_mlp": {"use_bias": [True, True, True], "units": [32, 16, 1], + "activation": ["relu", "relu", "linear"]} + } + }, + "training": { + "fit": { + "batch_size": 32, + "epochs": 400, + "validation_freq": 10, + "verbose": 2, + "callbacks": [ + { + "class_name": "kgcnn>LinearLearningRateScheduler", + "config": { + "learning_rate_start": 5e-04, "learning_rate_stop": 1e-05, "epo_min": 0, "epo": 400, + "verbose": 0 + } + } + ] + }, + "compile": { + "optimizer": {"class_name": "Adam", "config": {"learning_rate": 5e-04}}, + "loss": "mean_absolute_error" + }, + "cross_validation": {"class_name": "KFold", + "config": {"n_splits": 5, "random_state": 42, "shuffle": True}}, + "scaler": {"class_name": "StandardLabelScaler", + "config": {"with_std": True, "with_mean": True, "copy": True}} + }, + "data": { + "dataset": { + "class_name": "FreeSolvDataset", + "module_name": "kgcnn.data.datasets.FreeSolvDataset", + "config": {}, + "methods": [ + {"set_attributes": {}}, + {"map_list": {"method": "set_edge_weights_uniform"}}, + {"map_list": {"method": "make_dense_adjacency_matrix"}}, + {"map_list": {"method": "make_mask", "target_property": "node_number", + "mask_name": "node_mask", "rank": 1}}, + {"map_list": {"method": "make_mask", "target_property": "adjacency_matrix", + "mask_name": "adjacency_mask", "rank": 2}} + ] + }, + "data_unit": "mol/L" + }, + "info": { + "postfix": "", + "postfix_file": "", + "kgcnn_version": "4.0.0" + } + }, } \ No newline at end of file diff --git a/training/results/FreeSolvDataset/HDNNP2nd/HDNNP2nd_FreeSolvDataset_score.yaml b/training/results/FreeSolvDataset/HDNNP2nd/HDNNP2nd_FreeSolvDataset_score.yaml new file mode 100644 index 00000000..0245219d --- /dev/null +++ b/training/results/FreeSolvDataset/HDNNP2nd/HDNNP2nd_FreeSolvDataset_score.yaml @@ -0,0 +1,154 @@ +OS: nt_win32 +backend: torch +cuda_available: 'True' +data_unit: '' +date_time: '2023-12-13 10:41:36' +device_id: '[0]' +device_memory: '[{''allocated'': 0.2, ''cached'': 0.9}]' +device_name: '[''NVIDIA GeForce GTX 1060 6GB'']' +epochs: +- 500 +- 500 +- 500 +- 500 +- 500 +execute_folds: null +kgcnn_version: 4.0.0 +learning_rate: +- 1.2475000403355807e-05 +- 1.2475000403355807e-05 +- 1.2475000403355807e-05 +- 1.2475000403355807e-05 +- 1.2475000403355807e-05 +loss: +- 0.06999143958091736 +- 0.06295818090438843 +- 0.07361364364624023 +- 0.064242422580719 +- 0.06065668538212776 +max_learning_rate: +- 0.0010000000474974513 +- 0.0010000000474974513 +- 0.0010000000474974513 +- 0.0010000000474974513 +- 0.0010000000474974513 +max_loss: +- 151.63204956054688 +- 188.71463012695312 +- 130.68975830078125 +- 250.17379760742188 +- 203.71560668945312 +max_scaled_mean_absolute_error: +- 580.2352905273438 +- 736.6594848632812 +- 518.5152587890625 +- 975.2830810546875 +- 781.0896606445312 +max_scaled_root_mean_squared_error: +- 1029.71142578125 +- 1154.4393310546875 +- 1098.656494140625 +- 1726.115234375 +- 1531.4560546875 +max_val_loss: +- 13.819700241088867 +- 18.802814483642578 +- 16.67464828491211 +- 9.232243537902832 +- 10.220680236816406 +max_val_scaled_mean_absolute_error: +- 52.14216613769531 +- 73.15025329589844 +- 65.35711669921875 +- 35.66272735595703 +- 38.79932403564453 +max_val_scaled_root_mean_squared_error: +- 97.15148162841797 +- 108.66183471679688 +- 95.53266906738281 +- 93.9547119140625 +- 60.59354782104492 +min_learning_rate: +- 1.2475000403355807e-05 +- 1.2475000403355807e-05 +- 1.2475000403355807e-05 +- 1.2475000403355807e-05 +- 1.2475000403355807e-05 +min_loss: +- 0.06999143958091736 +- 0.0627414807677269 +- 0.07361364364624023 +- 0.064242422580719 +- 0.06065668538212776 +min_scaled_mean_absolute_error: +- 0.26428768038749695 +- 0.24236080050468445 +- 0.28672918677330017 +- 0.24756771326065063 +- 0.22984109818935394 +min_scaled_root_mean_squared_error: +- 0.43613114953041077 +- 0.42761534452438354 +- 0.483803391456604 +- 0.4159400165081024 +- 0.4237610101699829 +min_val_loss: +- 0.25162893533706665 +- 0.3126589059829712 +- 0.26357728242874146 +- 0.2650171220302582 +- 0.19594022631645203 +min_val_scaled_mean_absolute_error: +- 0.9512370824813843 +- 1.2158123254776 +- 1.0340880155563354 +- 1.0214886665344238 +- 0.7437706589698792 +min_val_scaled_root_mean_squared_error: +- 1.38810396194458 +- 1.9929168224334717 +- 1.5289812088012695 +- 1.6848982572555542 +- 1.1023855209350586 +model_class: make_model +model_name: HDNNP2nd +model_version: '2023-12-06' +multi_target_indices: null +number_histories: 5 +scaled_mean_absolute_error: +- 0.26428768038749695 +- 0.24481916427612305 +- 0.28672918677330017 +- 0.24756771326065063 +- 0.22984109818935394 +scaled_root_mean_squared_error: +- 0.43613114953041077 +- 0.4326542019844055 +- 0.483803391456604 +- 0.4159400165081024 +- 0.4237610101699829 +seed: 42 +time_list: +- '0:03:41.416033' +- '0:03:38.331813' +- '0:03:43.024948' +- '0:03:52.711886' +- '0:04:08.918714' +val_loss: +- 0.25388216972351074 +- 0.3245346248149872 +- 0.2647913992404938 +- 0.2753106951713562 +- 0.2051289975643158 +val_scaled_mean_absolute_error: +- 0.9602558016777039 +- 1.2608188390731812 +- 1.038782000541687 +- 1.061252236366272 +- 0.7793661952018738 +val_scaled_root_mean_squared_error: +- 1.452501893043518 +- 2.205090284347534 +- 1.5614277124404907 +- 1.7711771726608276 +- 1.1851471662521362 diff --git a/training/results/FreeSolvDataset/HDNNP2nd/HDNNP2nd_hyper.json b/training/results/FreeSolvDataset/HDNNP2nd/HDNNP2nd_hyper.json new file mode 100644 index 00000000..1bd07c6f --- /dev/null +++ b/training/results/FreeSolvDataset/HDNNP2nd/HDNNP2nd_hyper.json @@ -0,0 +1 @@ +{"model": {"class_name": "make_model", "module_name": "kgcnn.literature.HDNNP2nd", "config": {"name": "HDNNP2nd", "inputs": [{"shape": [null], "name": "node_number", "dtype": "int64"}, {"shape": [null, 3], "name": "node_coordinates", "dtype": "float32"}, {"shape": [null, 2], "name": "range_indices", "dtype": "int64"}, {"shape": [null, 3], "name": "angle_indices_nodes", "dtype": "int64"}, {"shape": [], "name": "total_nodes", "dtype": "int64"}, {"shape": [], "name": "total_ranges", "dtype": "int64"}, {"shape": [], "name": "total_angles", "dtype": "int64"}], "input_tensor_type": "padded", "cast_disjoint_kwargs": {}, "w_acsf_ang_kwargs": {}, "w_acsf_rad_kwargs": {}, "mlp_kwargs": {"units": [128, 128, 128, 1], "num_relations": 96, "activation": ["swish", "swish", "swish", "linear"]}, "node_pooling_args": {"pooling_method": "sum"}, "verbose": 10, "output_embedding": "graph", "output_to_tensor": true, "use_output_mlp": false, "output_mlp": {"use_bias": [true, true], "units": [64, 1], "activation": ["swish", "linear"]}}}, "training": {"cross_validation": {"class_name": "KFold", "config": {"n_splits": 5, "random_state": 42, "shuffle": true}}, "scaler": {"class_name": "StandardLabelScaler", "config": {"with_std": true, "with_mean": true, "copy": true}}, "fit": {"batch_size": 64, "epochs": 500, "validation_freq": 10, "verbose": 2, "callbacks": [{"class_name": "kgcnn>LinearLearningRateScheduler", "config": {"learning_rate_start": 0.001, "learning_rate_stop": 1e-05, "epo_min": 100, "epo": 500, "verbose": 0}}]}, "compile": {"optimizer": {"class_name": "Adam", "config": {"learning_rate": 0.001}}, "loss": "mean_absolute_error"}}, "data": {}, "info": {"postfix": "", "postfix_file": "", "kgcnn_version": "4.0.0"}, "dataset": {"class_name": "FreeSolvDataset", "module_name": "kgcnn.data.datasets.FreeSolvDataset", "config": {}, "methods": [{"map_list": {"method": "set_range", "max_distance": 8, "max_neighbours": 10000}}, {"map_list": {"method": "set_angle"}}, {"map_list": {"method": "count_nodes_and_edges", "total_edges": "total_ranges", "count_edges": "range_indices"}}, {"map_list": {"method": "count_nodes_and_edges", "total_edges": "total_angles", "count_edges": "angle_indices"}}]}} \ No newline at end of file diff --git a/training/results/FreeSolvDataset/INorp/INorp_FreeSolvDataset_score.yaml b/training/results/FreeSolvDataset/INorp/INorp_FreeSolvDataset_score.yaml new file mode 100644 index 00000000..51d2ee26 --- /dev/null +++ b/training/results/FreeSolvDataset/INorp/INorp_FreeSolvDataset_score.yaml @@ -0,0 +1,154 @@ +OS: nt_win32 +backend: torch +cuda_available: 'True' +data_unit: mol/L +date_time: '2023-12-13 13:49:37' +device_id: '[0]' +device_memory: '[{''allocated'': 0.0, ''cached'': 0.0}]' +device_name: '[''NVIDIA GeForce GTX 1060 6GB'']' +epochs: +- 500 +- 500 +- 500 +- 500 +- 500 +execute_folds: null +kgcnn_version: 4.0.0 +learning_rate: +- 1.2450000212993473e-05 +- 1.2450000212993473e-05 +- 1.2450000212993473e-05 +- 1.2450000212993473e-05 +- 1.2450000212993473e-05 +loss: +- 0.0059410035610198975 +- 0.004543206188827753 +- 0.005954640451818705 +- 0.005821879953145981 +- 0.0030032936483621597 +max_learning_rate: +- 0.0005000000237487257 +- 0.0005000000237487257 +- 0.0005000000237487257 +- 0.0005000000237487257 +- 0.0005000000237487257 +max_loss: +- 0.9814838171005249 +- 1.0477617979049683 +- 0.8834680318832397 +- 0.7584159970283508 +- 0.7188646197319031 +max_scaled_mean_absolute_error: +- 3.6181793212890625 +- 4.0465874671936035 +- 3.5154788494110107 +- 2.8881120681762695 +- 2.792485237121582 +max_scaled_root_mean_squared_error: +- 5.206867218017578 +- 6.033688068389893 +- 4.70051383972168 +- 3.754686117172241 +- 3.891273260116577 +max_val_loss: +- 0.7387409806251526 +- 0.7008804082870483 +- 0.5631065368652344 +- 0.6111311912536621 +- 0.5932186841964722 +max_val_scaled_mean_absolute_error: +- 2.721430778503418 +- 2.7060353755950928 +- 2.23997163772583 +- 2.3275041580200195 +- 2.3040144443511963 +max_val_scaled_root_mean_squared_error: +- 4.145513534545898 +- 3.4678542613983154 +- 2.8116869926452637 +- 3.379697322845459 +- 2.843625783920288 +min_learning_rate: +- 1.2450000212993473e-05 +- 1.2450000212993473e-05 +- 1.2450000212993473e-05 +- 1.2450000212993473e-05 +- 1.2450000212993473e-05 +min_loss: +- 0.0059410035610198975 +- 0.004543206188827753 +- 0.005934472195804119 +- 0.005821879953145981 +- 0.0030032936483621597 +min_scaled_mean_absolute_error: +- 0.021812455728650093 +- 0.017431715503335 +- 0.023536834865808487 +- 0.022189462557435036 +- 0.011666523292660713 +min_scaled_root_mean_squared_error: +- 0.12132633477449417 +- 0.10446134954690933 +- 0.1110190898180008 +- 0.13256587088108063 +- 0.05623448267579079 +min_val_loss: +- 0.16821356117725372 +- 0.17167145013809204 +- 0.1571713387966156 +- 0.16916993260383606 +- 0.1653119921684265 +min_val_scaled_mean_absolute_error: +- 0.6196780204772949 +- 0.662807822227478 +- 0.6252090930938721 +- 0.6442867517471313 +- 0.6435008645057678 +min_val_scaled_root_mean_squared_error: +- 1.0883303880691528 +- 1.1816389560699463 +- 0.980108916759491 +- 0.8904160857200623 +- 1.137302279472351 +model_class: make_model +model_name: INorp +model_version: '2023-12-08' +multi_target_indices: null +number_histories: 5 +scaled_mean_absolute_error: +- 0.021812455728650093 +- 0.017431715503335 +- 0.023703737184405327 +- 0.022189462557435036 +- 0.011666523292660713 +scaled_root_mean_squared_error: +- 0.12266312539577484 +- 0.10446134954690933 +- 0.11161497235298157 +- 0.13259899616241455 +- 0.05634210258722305 +seed: 42 +time_list: +- '0:04:42.841276' +- '0:04:57.246537' +- '0:04:53.988938' +- '0:04:51.536437' +- '0:05:00.869254' +val_loss: +- 0.17337682843208313 +- 0.17968487739562988 +- 0.16425633430480957 +- 0.1755715012550354 +- 0.16741475462913513 +val_scaled_mean_absolute_error: +- 0.6386988759040833 +- 0.6937469244003296 +- 0.6533923745155334 +- 0.6686672568321228 +- 0.6517059206962585 +val_scaled_root_mean_squared_error: +- 1.1864768266677856 +- 1.192755937576294 +- 1.073312520980835 +- 0.9248871207237244 +- 1.200083613395691 diff --git a/training/results/FreeSolvDataset/INorp/INorp_hyper.json b/training/results/FreeSolvDataset/INorp/INorp_hyper.json new file mode 100644 index 00000000..b0439add --- /dev/null +++ b/training/results/FreeSolvDataset/INorp/INorp_hyper.json @@ -0,0 +1 @@ +{"model": {"class_name": "make_model", "module_name": "kgcnn.literature.INorp", "config": {"name": "INorp", "inputs": [{"shape": [null, 41], "name": "node_attributes", "dtype": "float32"}, {"shape": [null, 11], "name": "edge_attributes", "dtype": "float32"}, {"shape": [null, 2], "name": "edge_indices", "dtype": "int64"}, {"shape": [], "name": "graph_size", "dtype": "int64"}, {"shape": [], "name": "total_nodes", "dtype": "int64"}, {"shape": [], "name": "total_edges", "dtype": "int64"}], "input_tensor_type": "padded", "input_embedding": null, "input_node_embedding": {"input_dim": 95, "output_dim": 32}, "input_edge_embedding": {"input_dim": 15, "output_dim": 32}, "input_graph_embedding": {"input_dim": 100, "output_dim": 32}, "set2set_args": {"channels": 32, "T": 3, "pooling_method": "mean", "init_qstar": "mean"}, "node_mlp_args": {"units": [32, 32], "use_bias": true, "activation": ["relu", "linear"]}, "edge_mlp_args": {"units": [32, 32], "activation": ["relu", "linear"]}, "pooling_args": {"pooling_method": "sum"}, "depth": 3, "use_set2set": false, "verbose": 10, "gather_args": {}, "output_embedding": "graph", "output_mlp": {"use_bias": [true, true, false], "units": [32, 32, 1], "activation": ["relu", "relu", "linear"]}}}, "training": {"fit": {"batch_size": 32, "epochs": 500, "validation_freq": 2, "verbose": 2, "callbacks": [{"class_name": "kgcnn>LinearLearningRateScheduler", "config": {"learning_rate_start": 0.0005, "learning_rate_stop": 1e-05, "epo_min": 300, "epo": 500, "verbose": 0}}]}, "compile": {"optimizer": {"class_name": "Adam", "config": {"learning_rate": 0.005}}, "loss": "mean_absolute_error"}, "cross_validation": {"class_name": "KFold", "config": {"n_splits": 5, "random_state": 42, "shuffle": true}}, "scaler": {"class_name": "StandardLabelScaler", "config": {"with_std": true, "with_mean": true, "copy": true}}}, "data": {"data_unit": "mol/L"}, "info": {"postfix": "", "postfix_file": "", "kgcnn_version": "4.0.0"}, "dataset": {"class_name": "FreeSolvDataset", "module_name": "kgcnn.data.datasets.FreeSolvDataset", "config": {}, "methods": [{"set_attributes": {}}, {"map_list": {"method": "count_nodes_and_edges"}}]}} \ No newline at end of file diff --git a/training/results/FreeSolvDataset/MAT/MAT_FreeSolvDataset_score.yaml b/training/results/FreeSolvDataset/MAT/MAT_FreeSolvDataset_score.yaml new file mode 100644 index 00000000..8eddd831 --- /dev/null +++ b/training/results/FreeSolvDataset/MAT/MAT_FreeSolvDataset_score.yaml @@ -0,0 +1,154 @@ +OS: nt_win32 +backend: tensorflow +cuda_available: 'False' +data_unit: mol/L +date_time: '2023-12-13 21:22:57' +device_id: '[LogicalDevice(name=''/device:CPU:0'', device_type=''CPU'')]' +device_memory: '[]' +device_name: '[{}]' +epochs: +- 400 +- 400 +- 400 +- 400 +- 400 +execute_folds: null +kgcnn_version: 4.0.0 +learning_rate: +- 1.1224999980186112e-05 +- 1.1224999980186112e-05 +- 1.1224999980186112e-05 +- 1.1224999980186112e-05 +- 1.1224999980186112e-05 +loss: +- 0.1309313178062439 +- 0.08987735211849213 +- 0.09817362576723099 +- 0.11951658129692078 +- 0.12252035737037659 +max_learning_rate: +- 0.0005000000237487257 +- 0.0005000000237487257 +- 0.0005000000237487257 +- 0.0005000000237487257 +- 0.0005000000237487257 +max_loss: +- 0.9632269144058228 +- 1.7012416124343872 +- 1.2165002822875977 +- 0.8973313570022583 +- 1.1586965322494507 +max_scaled_mean_absolute_error: +- 3.5511372089385986 +- 6.573931694030762 +- 4.843507289886475 +- 3.4206650257110596 +- 4.501045227050781 +max_scaled_root_mean_squared_error: +- 4.990049362182617 +- 9.67138671875 +- 6.580929756164551 +- 5.343393802642822 +- 6.578574180603027 +max_val_loss: +- 0.5281367301940918 +- 0.418606698513031 +- 0.37847667932510376 +- 0.4158039689064026 +- 0.41950005292892456 +max_val_scaled_mean_absolute_error: +- 1.9455907344818115 +- 1.6162021160125732 +- 1.50553560256958 +- 1.58359694480896 +- 1.6293346881866455 +max_val_scaled_root_mean_squared_error: +- 2.9453330039978027 +- 2.1583213806152344 +- 1.8630423545837402 +- 2.637741804122925 +- 2.2633321285247803 +min_learning_rate: +- 1.1224999980186112e-05 +- 1.1224999980186112e-05 +- 1.1224999980186112e-05 +- 1.1224999980186112e-05 +- 1.1224999980186112e-05 +min_loss: +- 0.1266438513994217 +- 0.08071426302194595 +- 0.0958494246006012 +- 0.11225523054599762 +- 0.12052866071462631 +min_scaled_mean_absolute_error: +- 0.4666358530521393 +- 0.311571329832077 +- 0.38138890266418457 +- 0.4276067614555359 +- 0.4682028591632843 +min_scaled_root_mean_squared_error: +- 0.6765280961990356 +- 0.47051748633384705 +- 0.5777549743652344 +- 0.6010441780090332 +- 0.6656222343444824 +min_val_loss: +- 0.19546188414096832 +- 0.21847933530807495 +- 0.18902257084846497 +- 0.19480662047863007 +- 0.23171445727348328 +min_val_scaled_mean_absolute_error: +- 0.7200574278831482 +- 0.8435287475585938 +- 0.7519095540046692 +- 0.7419245839118958 +- 0.9000673890113831 +min_val_scaled_root_mean_squared_error: +- 1.2115817070007324 +- 1.4627104997634888 +- 1.0380915403366089 +- 1.0429989099502563 +- 1.372662901878357 +model_class: make_model +model_name: MAT +model_version: '2023-12-08' +multi_target_indices: null +number_histories: 5 +scaled_mean_absolute_error: +- 0.48219171166419983 +- 0.3468729555606842 +- 0.39062824845314026 +- 0.45531344413757324 +- 0.4759397506713867 +scaled_root_mean_squared_error: +- 0.726080060005188 +- 0.512233316898346 +- 0.6004814505577087 +- 0.6580190658569336 +- 0.6873509287834167 +seed: 42 +time_list: +- '0:17:04.419857' +- '0:17:08.773716' +- '0:47:18.374975' +- '1:22:27.476794' +- '1:52:37.232455' +val_loss: +- 0.1965322196483612 +- 0.22240471839904785 +- 0.1927410066127777 +- 0.2103709876537323 +- 0.23344671726226807 +val_scaled_mean_absolute_error: +- 0.7240005731582642 +- 0.8586843013763428 +- 0.7667010426521301 +- 0.8012017607688904 +- 0.9067661166191101 +val_scaled_root_mean_squared_error: +- 1.2203115224838257 +- 1.4772627353668213 +- 1.12529456615448 +- 1.34885835647583 +- 1.3778636455535889 diff --git a/training/results/FreeSolvDataset/MAT/MAT_hyper.json b/training/results/FreeSolvDataset/MAT/MAT_hyper.json new file mode 100644 index 00000000..c7526d6e --- /dev/null +++ b/training/results/FreeSolvDataset/MAT/MAT_hyper.json @@ -0,0 +1 @@ +{"model": {"class_name": "make_model", "module_name": "kgcnn.literature.MAT", "config": {"name": "MAT", "inputs": [{"shape": [null], "name": "node_number", "dtype": "int64"}, {"shape": [null, 3], "name": "node_coordinates", "dtype": "float64"}, {"shape": [null, null, 11], "name": "adjacency_matrix", "dtype": "float64"}, {"shape": [null], "name": "node_mask", "dtype": "bool"}, {"shape": [null, null], "name": "adjacency_mask", "dtype": "bool"}], "input_embedding": null, "input_node_embedding": {"input_dim": 95, "output_dim": 64}, "input_edge_embedding": null, "distance_matrix_kwargs": {"trafo": "exp"}, "attention_kwargs": {"units": 8, "lambda_attention": 0.3, "lambda_distance": 0.3, "lambda_adjacency": null, "add_identity": false, "dropout": 0.1}, "feed_forward_kwargs": {"units": [32, 32, 32], "activation": ["relu", "relu", "linear"]}, "embedding_units": 32, "depth": 5, "heads": 8, "merge_heads": "concat", "verbose": 10, "pooling_kwargs": {"pooling_method": "sum"}, "output_embedding": "graph", "output_to_tensor": true, "output_mlp": {"use_bias": [true, true, true], "units": [32, 16, 1], "activation": ["relu", "relu", "linear"]}}}, "training": {"fit": {"batch_size": 32, "epochs": 400, "validation_freq": 10, "verbose": 2, "callbacks": [{"class_name": "kgcnn>LinearLearningRateScheduler", "config": {"learning_rate_start": 0.0005, "learning_rate_stop": 1e-05, "epo_min": 0, "epo": 400, "verbose": 0}}]}, "compile": {"optimizer": {"class_name": "Adam", "config": {"learning_rate": 0.0005}}, "loss": "mean_absolute_error"}, "cross_validation": {"class_name": "KFold", "config": {"n_splits": 5, "random_state": 42, "shuffle": true}}, "scaler": {"class_name": "StandardLabelScaler", "config": {"with_std": true, "with_mean": true, "copy": true}}}, "data": {"data_unit": "mol/L"}, "info": {"postfix": "", "postfix_file": "", "kgcnn_version": "4.0.0"}, "dataset": {"class_name": "FreeSolvDataset", "module_name": "kgcnn.data.datasets.FreeSolvDataset", "config": {}, "methods": [{"set_attributes": {}}, {"map_list": {"method": "set_edge_weights_uniform"}}, {"map_list": {"method": "make_dense_adjacency_matrix"}}, {"map_list": {"method": "make_mask", "target_property": "node_number", "mask_name": "node_mask", "rank": 1}}, {"map_list": {"method": "make_mask", "target_property": "adjacency_matrix", "mask_name": "adjacency_mask", "rank": 2}}]}} \ No newline at end of file diff --git a/training/results/FreeSolvDataset/MEGAN/MEGAN_FreeSolvDataset_score.yaml b/training/results/FreeSolvDataset/MEGAN/MEGAN_FreeSolvDataset_score.yaml new file mode 100644 index 00000000..568877f4 --- /dev/null +++ b/training/results/FreeSolvDataset/MEGAN/MEGAN_FreeSolvDataset_score.yaml @@ -0,0 +1,154 @@ +OS: nt_win32 +backend: torch +cuda_available: 'True' +data_unit: mol/L +date_time: '2023-12-13 14:16:16' +device_id: '[0]' +device_memory: '[{''allocated'': 0.0, ''cached'': 0.1}]' +device_name: '[''NVIDIA GeForce GTX 1060 6GB'']' +epochs: +- 400 +- 400 +- 400 +- 400 +- 400 +execute_folds: null +kgcnn_version: 4.0.0 +learning_rate: +- 1.495000014983816e-05 +- 1.495000014983816e-05 +- 1.495000014983816e-05 +- 1.495000014983816e-05 +- 1.495000014983816e-05 +loss: +- 0.010827737860381603 +- 0.00870053842663765 +- 0.011606086045503616 +- 0.010620581917464733 +- 0.010906238108873367 +max_learning_rate: +- 0.0010000000474974513 +- 0.0010000000474974513 +- 0.0010000000474974513 +- 0.0010000000474974513 +- 0.0010000000474974513 +max_loss: +- 0.9508185386657715 +- 0.9092289805412292 +- 0.9541351795196533 +- 0.9376555681228638 +- 0.9336313009262085 +max_scaled_mean_absolute_error: +- 2.734851360321045 +- 2.741626739501953 +- 2.9011361598968506 +- 2.825432777404785 +- 2.8119661808013916 +max_scaled_root_mean_squared_error: +- 3.5923359394073486 +- 3.681845188140869 +- 3.8843884468078613 +- 3.687565565109253 +- 3.7534568309783936 +max_val_loss: +- 0.3190571963787079 +- 0.32025572657585144 +- 0.4046257734298706 +- 0.2632235884666443 +- 0.2546093165874481 +max_val_scaled_mean_absolute_error: +- 1.6010890007019043 +- 1.557674765586853 +- 2.069737195968628 +- 1.5430023670196533 +- 1.5051735639572144 +max_val_scaled_root_mean_squared_error: +- 2.080843210220337 +- 2.184932231903076 +- 2.530338764190674 +- 1.9539724588394165 +- 1.9599924087524414 +min_learning_rate: +- 1.495000014983816e-05 +- 1.495000014983816e-05 +- 1.495000014983816e-05 +- 1.495000014983816e-05 +- 1.495000014983816e-05 +min_loss: +- 0.010482395999133587 +- 0.007552608847618103 +- 0.010987252928316593 +- 0.00994796771556139 +- 0.009071271866559982 +min_scaled_mean_absolute_error: +- 0.2737710773944855 +- 0.24456264078617096 +- 0.30498966574668884 +- 0.2781650424003601 +- 0.2776258587837219 +min_scaled_root_mean_squared_error: +- 0.3771647810935974 +- 0.3354797959327698 +- 0.41694527864456177 +- 0.3799334764480591 +- 0.3699796497821808 +min_val_loss: +- 0.08407492935657501 +- 0.0896301418542862 +- 0.05480904132127762 +- 0.0510711744427681 +- 0.07712320983409882 +min_val_scaled_mean_absolute_error: +- 0.6330825686454773 +- 0.6280434131622314 +- 0.6170120239257812 +- 0.5143206119537354 +- 0.6780038475990295 +min_val_scaled_root_mean_squared_error: +- 1.0681650638580322 +- 1.1558901071548462 +- 0.9312751889228821 +- 0.8606844544410706 +- 1.0800691843032837 +model_class: make_model +model_name: MEGAN +model_version: '2023-12-08' +multi_target_indices: null +number_histories: 5 +scaled_mean_absolute_error: +- 0.2889689803123474 +- 0.2578878700733185 +- 0.31055712699890137 +- 0.2884562015533447 +- 0.29296186566352844 +scaled_root_mean_squared_error: +- 0.38341352343559265 +- 0.3601047694683075 +- 0.428737610578537 +- 0.3926171660423279 +- 0.40567776560783386 +seed: 42 +time_list: +- '0:04:53.989367' +- '0:05:21.308069' +- '0:04:56.729382' +- '0:04:25.291881' +- '0:05:08.218256' +val_loss: +- 0.0866999477148056 +- 0.09226539731025696 +- 0.05984446778893471 +- 0.05353537201881409 +- 0.08030328899621964 +val_scaled_mean_absolute_error: +- 0.6480063796043396 +- 0.6367418169975281 +- 0.6474538445472717 +- 0.527198314666748 +- 0.6922942996025085 +val_scaled_root_mean_squared_error: +- 1.0847121477127075 +- 1.1727594137191772 +- 0.9731144905090332 +- 0.8812038898468018 +- 1.1026196479797363 diff --git a/training/results/FreeSolvDataset/MEGAN/MEGAN_hyper.json b/training/results/FreeSolvDataset/MEGAN/MEGAN_hyper.json new file mode 100644 index 00000000..00530e35 --- /dev/null +++ b/training/results/FreeSolvDataset/MEGAN/MEGAN_hyper.json @@ -0,0 +1 @@ +{"model": {"class_name": "make_model", "module_name": "kgcnn.literature.MEGAN", "config": {"name": "MEGAN", "inputs": [{"shape": [null, 41], "name": "node_attributes", "dtype": "float32"}, {"shape": [null], "name": "edge_number", "dtype": "float32"}, {"shape": [null, 2], "name": "edge_indices", "dtype": "int64"}, {"shape": [2], "name": "graph_attributes", "dtype": "float32"}, {"shape": [], "name": "total_nodes", "dtype": "int64"}, {"shape": [], "name": "total_edges", "dtype": "int64"}], "input_tensor_type": "padded", "units": [60, 50, 40, 30], "importance_units": [], "final_units": [50, 30, 10, 1], "dropout_rate": 0.3, "final_dropout_rate": 0.0, "importance_channels": 3, "return_importances": false, "use_edge_features": false}}, "training": {"fit": {"batch_size": 64, "epochs": 400, "validation_freq": 10, "verbose": 2, "callbacks": [{"class_name": "kgcnn>LinearLearningRateScheduler", "config": {"learning_rate_start": 0.001, "learning_rate_stop": 1e-05, "epo_min": 200, "epo": 400, "verbose": 0}}]}, "compile": {"optimizer": {"class_name": "Adam", "config": {"learning_rate": 0.001}}, "loss": "mean_squared_error"}, "cross_validation": {"class_name": "KFold", "config": {"n_splits": 5, "random_state": 42, "shuffle": true}}, "scaler": {"class_name": "StandardLabelScaler", "config": {"with_std": true, "with_mean": true, "copy": true}}}, "data": {"data_unit": "mol/L"}, "info": {"postfix": "", "postfix_file": "", "kgcnn_version": "4.0.0"}, "dataset": {"class_name": "FreeSolvDataset", "module_name": "kgcnn.data.datasets.FreeSolvDataset", "config": {}, "methods": [{"set_attributes": {}}, {"map_list": {"method": "set_range", "max_distance": 3, "max_neighbours": 100}}, {"map_list": {"method": "count_nodes_and_edges"}}]}} \ No newline at end of file diff --git a/training/results/FreeSolvDataset/MXMNet/MXMNet_FreeSolvDataset_score.yaml b/training/results/FreeSolvDataset/MXMNet/MXMNet_FreeSolvDataset_score.yaml new file mode 100644 index 00000000..da715ec7 --- /dev/null +++ b/training/results/FreeSolvDataset/MXMNet/MXMNet_FreeSolvDataset_score.yaml @@ -0,0 +1,154 @@ +OS: nt_win32 +backend: torch +cuda_available: 'True' +data_unit: kcal/mol +date_time: '2023-12-13 16:39:51' +device_id: '[0]' +device_memory: '[{''allocated'': 0.0, ''cached'': 0.3}]' +device_name: '[''NVIDIA GeForce GTX 1060 6GB'']' +epochs: +- 900 +- 900 +- 900 +- 900 +- 900 +execute_folds: null +kgcnn_version: 4.0.0 +learning_rate: +- 3.186606409144588e-05 +- 3.186606409144588e-05 +- 3.186606409144588e-05 +- 3.186606409144588e-05 +- 3.186606409144588e-05 +loss: +- 0.01572990231215954 +- 0.01695762388408184 +- 0.014693410135805607 +- 0.012823788449168205 +- 0.019235018640756607 +max_learning_rate: +- 0.0010000000474974513 +- 0.0010000000474974513 +- 0.0010000000474974513 +- 0.0010000000474974513 +- 0.0010000000474974513 +max_loss: +- 129004808.0 +- 4663.77880859375 +- 1645086.75 +- 7320022.5 +- 61535.82421875 +max_scaled_mean_absolute_error: +- 491369344.0 +- 18268.279296875 +- 6499438.5 +- 28367736.0 +- 233594.96875 +max_scaled_root_mean_squared_error: +- 1139260544.0 +- 24964.0546875 +- 10883997.0 +- 59585584.0 +- 459851.40625 +max_val_loss: +- 1.2856574058532715 +- 0.6730101108551025 +- 0.7914369106292725 +- 0.8526525497436523 +- 0.6504128575325012 +max_val_scaled_mean_absolute_error: +- 4.8520402908325195 +- 2.6212351322174072 +- 3.1045403480529785 +- 3.294036388397217 +- 2.4621732234954834 +max_val_scaled_root_mean_squared_error: +- 7.939974784851074 +- 3.536247730255127 +- 9.429781913757324 +- 5.236899375915527 +- 3.222262382507324 +min_learning_rate: +- 3.186606409144588e-05 +- 3.186606409144588e-05 +- 3.186606409144588e-05 +- 3.186606409144588e-05 +- 3.186606409144588e-05 +min_loss: +- 0.013725828379392624 +- 0.016245633363723755 +- 0.014693410135805607 +- 0.012326477095484734 +- 0.01823759637773037 +min_scaled_mean_absolute_error: +- 0.051606789231300354 +- 0.06318065524101257 +- 0.05778658390045166 +- 0.047258950769901276 +- 0.06925193965435028 +min_scaled_root_mean_squared_error: +- 0.1229606419801712 +- 0.1520920693874359 +- 0.12624254822731018 +- 0.11107897758483887 +- 0.16834260523319244 +min_val_loss: +- 0.3443983197212219 +- 0.21936261653900146 +- 0.3391284942626953 +- 0.2763456404209137 +- 0.24641653895378113 +min_val_scaled_mean_absolute_error: +- 1.2997511625289917 +- 0.854371964931488 +- 1.3302867412567139 +- 1.0676010847091675 +- 0.9328232407569885 +min_val_scaled_root_mean_squared_error: +- 2.4566874504089355 +- 1.340853214263916 +- 6.954872131347656 +- 2.044154644012451 +- 1.5023828744888306 +model_class: make_model +model_name: MXMNet +model_version: '2023-12-09' +multi_target_indices: null +number_histories: 5 +scaled_mean_absolute_error: +- 0.0593763031065464 +- 0.06544195115566254 +- 0.05778658390045166 +- 0.04960757493972778 +- 0.07270286977291107 +scaled_root_mean_squared_error: +- 0.1269649863243103 +- 0.15276965498924255 +- 0.12724381685256958 +- 0.1125105768442154 +- 0.16834260523319244 +seed: 42 +time_list: +- '0:16:10.504913' +- '0:15:55.196900' +- '0:15:59.105659' +- '0:15:59.637513' +- '0:16:07.064728' +val_loss: +- 0.351733535528183 +- 0.2210109680891037 +- 0.34258192777633667 +- 0.31351763010025024 +- 0.2509346604347229 +val_scaled_mean_absolute_error: +- 1.3274339437484741 +- 0.8607919812202454 +- 1.3438334465026855 +- 1.2112069129943848 +- 0.9499268531799316 +val_scaled_root_mean_squared_error: +- 2.5679407119750977 +- 1.3524178266525269 +- 7.286755561828613 +- 2.5052804946899414 +- 1.5312806367874146 diff --git a/training/results/FreeSolvDataset/MXMNet/MXMNet_hyper.json b/training/results/FreeSolvDataset/MXMNet/MXMNet_hyper.json new file mode 100644 index 00000000..ca6c1b5c --- /dev/null +++ b/training/results/FreeSolvDataset/MXMNet/MXMNet_hyper.json @@ -0,0 +1 @@ +{"model": {"class_name": "make_model", "module_name": "kgcnn.literature.MXMNet", "config": {"name": "MXMNet", "inputs": [{"shape": [null], "name": "node_number", "dtype": "int64"}, {"shape": [null, 3], "name": "node_coordinates", "dtype": "float32"}, {"shape": [null, 1], "name": "edge_weights", "dtype": "float32"}, {"shape": [null, 2], "name": "edge_indices", "dtype": "int64"}, {"shape": [null, 2], "name": "range_indices", "dtype": "int64"}, {"shape": [null, 2], "name": "angle_indices_1", "dtype": "int64"}, {"shape": [null, 2], "name": "angle_indices_2", "dtype": "int64"}, {"shape": [], "name": "total_nodes", "dtype": "int64"}, {"shape": [], "name": "total_edges", "dtype": "int64"}, {"shape": [], "name": "total_ranges", "dtype": "int64"}, {"shape": [], "name": "total_angles_1", "dtype": "int64"}, {"shape": [], "name": "total_angles_2", "dtype": "int64"}], "input_tensor_type": "padded", "input_embedding": null, "input_node_embedding": {"input_dim": 95, "output_dim": 32}, "input_edge_embedding": {"input_dim": 5, "output_dim": 32}, "bessel_basis_local": {"num_radial": 16, "cutoff": 5.0, "envelope_exponent": 5}, "bessel_basis_global": {"num_radial": 16, "cutoff": 5.0, "envelope_exponent": 5}, "spherical_basis_local": {"num_spherical": 7, "num_radial": 6, "cutoff": 5.0, "envelope_exponent": 5}, "mlp_rbf_kwargs": {"units": 32, "activation": "swish"}, "mlp_sbf_kwargs": {"units": 32, "activation": "swish"}, "global_mp_kwargs": {"units": 32, "pooling_method": "mean"}, "local_mp_kwargs": {"units": 32, "output_units": 1, "output_kernel_initializer": "glorot_uniform"}, "use_edge_attributes": false, "depth": 4, "verbose": 10, "node_pooling_args": {"pooling_method": "sum"}, "output_embedding": "graph", "output_to_tensor": true, "use_output_mlp": false, "output_mlp": {"use_bias": [true], "units": [1], "activation": ["linear"]}}}, "training": {"fit": {"batch_size": 128, "epochs": 900, "validation_freq": 10, "verbose": 2, "callbacks": [{"class_name": "kgcnn>LinearWarmupExponentialLRScheduler", "config": {"lr_start": 0.001, "gamma": 0.9961697, "epo_warmup": 1, "verbose": 1, "steps_per_epoch": 45}}]}, "compile": {"optimizer": {"class_name": "Adam", "config": {"learning_rate": 0.001, "global_clipnorm": 1000}}, "loss": "mean_absolute_error"}, "cross_validation": {"class_name": "KFold", "config": {"n_splits": 5, "random_state": 42, "shuffle": true}}, "scaler": {"class_name": "StandardLabelScaler", "config": {"with_std": true, "with_mean": true, "copy": true}}}, "data": {"data_unit": "kcal/mol"}, "info": {"postfix": "", "postfix_file": "", "kgcnn_version": "4.0.0"}, "dataset": {"class_name": "FreeSolvDataset", "module_name": "kgcnn.data.datasets.FreeSolvDataset", "config": {}, "methods": [{"map_list": {"method": "set_edge_weights_uniform"}}, {"map_list": {"method": "set_range", "max_distance": 5, "max_neighbours": 1000}}, {"map_list": {"method": "set_angle", "range_indices": "edge_indices", "edge_pairing": "jk", "angle_indices": "angle_indices_1", "angle_indices_nodes": "angle_indices_nodes_1", "angle_attributes": "angle_attributes_1"}}, {"map_list": {"method": "set_angle", "range_indices": "edge_indices", "edge_pairing": "ik", "allow_self_edges": true, "angle_indices": "angle_indices_2", "angle_indices_nodes": "angle_indices_nodes_2", "angle_attributes": "angle_attributes_2"}}, {"map_list": {"method": "count_nodes_and_edges"}}, {"map_list": {"method": "count_nodes_and_edges", "total_edges": "total_ranges", "count_edges": "range_indices"}}, {"map_list": {"method": "count_nodes_and_edges", "total_edges": "total_angles_1", "count_edges": "angle_indices_1"}}, {"map_list": {"method": "count_nodes_and_edges", "total_edges": "total_angles_2", "count_edges": "angle_indices_2"}}]}} \ No newline at end of file diff --git a/training/results/FreeSolvDataset/MoGAT/MoGAT_FreeSolvDataset_score.yaml b/training/results/FreeSolvDataset/MoGAT/MoGAT_FreeSolvDataset_score.yaml new file mode 100644 index 00000000..bb549a3c --- /dev/null +++ b/training/results/FreeSolvDataset/MoGAT/MoGAT_FreeSolvDataset_score.yaml @@ -0,0 +1,136 @@ +OS: nt_win32 +backend: torch +cuda_available: 'True' +data_unit: mol/L +date_time: '2023-12-13 12:41:16' +device_id: '[0]' +device_memory: '[{''allocated'': 0.0, ''cached'': 0.1}]' +device_name: '[''NVIDIA GeForce GTX 1060 6GB'']' +epochs: +- 200 +- 200 +- 200 +- 200 +- 200 +execute_folds: null +kgcnn_version: 4.0.0 +loss: +- 0.10328050702810287 +- 0.12523485720157623 +- 0.10645803064107895 +- 0.11240124702453613 +- 0.10746901482343674 +max_loss: +- 2.918292999267578 +- 2.232931613922119 +- 3.069850206375122 +- 1.3162708282470703 +- 1.6944383382797241 +max_scaled_mean_absolute_error: +- 4.3661699295043945 +- 3.84775447845459 +- 4.503109455108643 +- 3.2263922691345215 +- 3.5274109840393066 +max_scaled_root_mean_squared_error: +- 6.563792705535889 +- 6.0284552574157715 +- 7.335097312927246 +- 4.2990899085998535 +- 5.186793327331543 +max_val_loss: +- 2.3430089950561523 +- 0.9696140885353088 +- 0.791010856628418 +- 0.9199709892272949 +- 0.8076066374778748 +max_val_scaled_mean_absolute_error: +- 3.922639846801758 +- 2.985471248626709 +- 2.8372087478637695 +- 2.5477685928344727 +- 2.8560752868652344 +max_val_scaled_root_mean_squared_error: +- 5.638869762420654 +- 3.80179762840271 +- 3.5378804206848145 +- 3.652944803237915 +- 3.490950584411621 +min_loss: +- 0.09012985974550247 +- 0.07837503403425217 +- 0.09491465240716934 +- 0.07830964773893356 +- 0.09120110422372818 +min_scaled_mean_absolute_error: +- 0.7953420877456665 +- 0.7401675581932068 +- 0.8645742535591125 +- 0.767455518245697 +- 0.8182823657989502 +min_scaled_root_mean_squared_error: +- 1.0996192693710327 +- 1.081107497215271 +- 1.2187103033065796 +- 1.0778834819793701 +- 1.1992902755737305 +min_val_loss: +- 0.08556210994720459 +- 0.09221741557121277 +- 0.049416445195674896 +- 0.054881855845451355 +- 0.0931289866566658 +min_val_scaled_mean_absolute_error: +- 0.6980615854263306 +- 0.6972140073776245 +- 0.5915301442146301 +- 0.6199132204055786 +- 0.6912970542907715 +min_val_scaled_root_mean_squared_error: +- 1.0775707960128784 +- 1.172454595565796 +- 0.8842756748199463 +- 0.8922168016433716 +- 1.1854579448699951 +model_class: make_model +model_name: MoGAT +model_version: '2023-12-10' +multi_target_indices: null +number_histories: 5 +scaled_mean_absolute_error: +- 0.8755307197570801 +- 0.8552396893501282 +- 0.9108437299728394 +- 0.8100230097770691 +- 0.8240565061569214 +scaled_root_mean_squared_error: +- 1.1891759634017944 +- 1.3428367376327515 +- 1.3080880641937256 +- 1.2390227317810059 +- 1.267255425453186 +seed: 42 +time_list: +- '0:00:40.899603' +- '0:00:38.953931' +- '0:00:39.674869' +- '0:00:38.154165' +- '0:00:40.073932' +val_loss: +- 0.10219704359769821 +- 0.09621158242225647 +- 0.05951368063688278 +- 0.054881855845451355 +- 0.09827719628810883 +val_scaled_mean_absolute_error: +- 0.7149573564529419 +- 0.7702137231826782 +- 0.6915293335914612 +- 0.6556802988052368 +- 0.7162542343139648 +val_scaled_root_mean_squared_error: +- 1.1776719093322754 +- 1.1975764036178589 +- 0.9704213738441467 +- 0.8922168016433716 +- 1.2177835702896118 diff --git a/training/results/FreeSolvDataset/MoGAT/MoGAT_hyper.json b/training/results/FreeSolvDataset/MoGAT/MoGAT_hyper.json new file mode 100644 index 00000000..5f7e85e5 --- /dev/null +++ b/training/results/FreeSolvDataset/MoGAT/MoGAT_hyper.json @@ -0,0 +1 @@ +{"model": {"class_name": "make_model", "module_name": "kgcnn.literature.MoGAT", "config": {"name": "MoGAT", "inputs": [{"shape": [null, 41], "name": "node_attributes", "dtype": "float32"}, {"shape": [null, 11], "name": "edge_attributes", "dtype": "float32"}, {"shape": [null, 2], "name": "edge_indices", "dtype": "int64"}, {"shape": [], "name": "total_nodes", "dtype": "int64"}, {"shape": [], "name": "total_edges", "dtype": "int64"}], "input_embedding": null, "input_node_embedding": {"input_dim": 95, "output_dim": 64}, "input_edge_embedding": {"input_dim": 5, "output_dim": 64}, "attention_args": {"units": 100}, "depthato": 2, "depthmol": 2, "pooling_gat_nodes_args": {"pooling_method": "mean"}, "dropout": 0.2, "verbose": 10, "output_embedding": "graph", "output_mlp": {"use_bias": [true], "units": [1], "activation": ["linear"]}}}, "training": {"fit": {"batch_size": 200, "epochs": 200, "validation_freq": 1, "verbose": 2, "callbacks": []}, "compile": {"optimizer": {"class_name": "AdamW", "config": {"learning_rate": 0.001, "weight_decay": 1e-05}}, "loss": "mean_squared_error"}, "cross_validation": {"class_name": "KFold", "config": {"n_splits": 5, "random_state": 42, "shuffle": true}}, "scaler": {"class_name": "StandardLabelScaler", "config": {"with_std": true, "with_mean": true, "copy": true}}}, "data": {"data_unit": "mol/L"}, "info": {"postfix": "", "postfix_file": "", "kgcnn_version": "4.0.0"}, "dataset": {"class_name": "FreeSolvDataset", "module_name": "kgcnn.data.datasets.FreeSolvDataset", "config": {}, "methods": [{"set_attributes": {}}, {"map_list": {"method": "count_nodes_and_edges"}}]}} \ No newline at end of file diff --git a/training/results/FreeSolvDataset/rGIN/rGIN_FreeSolvDataset_score.yaml b/training/results/FreeSolvDataset/rGIN/rGIN_FreeSolvDataset_score.yaml new file mode 100644 index 00000000..eaf4a4e3 --- /dev/null +++ b/training/results/FreeSolvDataset/rGIN/rGIN_FreeSolvDataset_score.yaml @@ -0,0 +1,136 @@ +OS: nt_win32 +backend: torch +cuda_available: 'True' +data_unit: mol/L +date_time: '2023-12-13 14:51:38' +device_id: '[0]' +device_memory: '[{''allocated'': 0.0, ''cached'': 0.0}]' +device_name: '[''NVIDIA GeForce GTX 1060 6GB'']' +epochs: +- 300 +- 300 +- 300 +- 300 +- 300 +execute_folds: null +kgcnn_version: 4.0.0 +loss: +- 0.08544707298278809 +- 0.07468900829553604 +- 0.08056718111038208 +- 0.09667009860277176 +- 0.05520638823509216 +max_loss: +- 1.3244667053222656 +- 0.7084296941757202 +- 0.6304789781570435 +- 0.7925811409950256 +- 1.5866494178771973 +max_scaled_mean_absolute_error: +- 4.885080814361572 +- 2.734196186065674 +- 2.5087831020355225 +- 3.01967191696167 +- 6.1634626388549805 +max_scaled_root_mean_squared_error: +- 7.32072639465332 +- 3.7642500400543213 +- 3.3439888954162598 +- 4.090134143829346 +- 9.393155097961426 +max_val_loss: +- 0.8632520437240601 +- 0.7889362573623657 +- 0.5203903913497925 +- 0.5837996006011963 +- 0.6663192510604858 +max_val_scaled_mean_absolute_error: +- 3.1801140308380127 +- 3.046010971069336 +- 2.070051908493042 +- 2.2234113216400146 +- 2.5896525382995605 +max_val_scaled_root_mean_squared_error: +- 4.093207359313965 +- 3.7556722164154053 +- 2.5176937580108643 +- 3.2553372383117676 +- 3.4423422813415527 +min_loss: +- 0.06418533623218536 +- 0.052861765027046204 +- 0.05202234163880348 +- 0.06332781165838242 +- 0.04837995395064354 +min_scaled_mean_absolute_error: +- 0.23645153641700745 +- 0.2039390504360199 +- 0.20677560567855835 +- 0.24088241159915924 +- 0.18793565034866333 +min_scaled_root_mean_squared_error: +- 0.4690897762775421 +- 0.4165317714214325 +- 0.4578475058078766 +- 0.4855401813983917 +- 0.36094239354133606 +min_val_loss: +- 0.2422214150428772 +- 0.23062041401863098 +- 0.18308629095554352 +- 0.18593990802764893 +- 0.20661355555057526 +min_val_scaled_mean_absolute_error: +- 0.8923138380050659 +- 0.8904044032096863 +- 0.7282956838607788 +- 0.7081555128097534 +- 0.8015865087509155 +min_val_scaled_root_mean_squared_error: +- 1.3672369718551636 +- 1.31671941280365 +- 1.0865470170974731 +- 1.1779601573944092 +- 1.2860782146453857 +model_class: make_model +model_name: rGIN +model_version: '2023-10-12' +multi_target_indices: null +number_histories: 5 +scaled_mean_absolute_error: +- 0.3148382604122162 +- 0.2886001765727997 +- 0.3207493722438812 +- 0.3685057759284973 +- 0.21445345878601074 +scaled_root_mean_squared_error: +- 0.7456552982330322 +- 1.1115431785583496 +- 0.9262135624885559 +- 1.2539232969284058 +- 0.6307163834571838 +seed: 42 +time_list: +- '0:06:51.746748' +- '0:06:55.564497' +- '0:06:54.749863' +- '0:06:55.997068' +- '0:06:56.637090' +val_loss: +- 0.24489209055900574 +- 0.24255850911140442 +- 0.20127974450588226 +- 0.20272135734558105 +- 0.21648436784744263 +val_scaled_mean_absolute_error: +- 0.9021523594856262 +- 0.9364962577819824 +- 0.8006671667098999 +- 0.7720679640769958 +- 0.8401620984077454 +val_scaled_root_mean_squared_error: +- 1.4140329360961914 +- 1.4394022226333618 +- 1.1684927940368652 +- 1.2803771495819092 +- 1.3401925563812256 diff --git a/training/results/FreeSolvDataset/rGIN/rGIN_hyper.json b/training/results/FreeSolvDataset/rGIN/rGIN_hyper.json new file mode 100644 index 00000000..b17c8535 --- /dev/null +++ b/training/results/FreeSolvDataset/rGIN/rGIN_hyper.json @@ -0,0 +1 @@ +{"model": {"class_name": "make_model", "module_name": "kgcnn.literature.rGIN", "config": {"name": "rGIN", "inputs": [{"shape": [null, 41], "name": "node_attributes", "dtype": "float32"}, {"shape": [null, 2], "name": "edge_indices", "dtype": "int64"}, {"shape": [], "name": "total_nodes", "dtype": "int64"}, {"shape": [], "name": "total_edges", "dtype": "int64"}], "input_tensor_type": "padded", "input_embedding": null, "input_node_embedding": {"input_dim": 96, "output_dim": 95}, "depth": 5, "dropout": 0.05, "gin_mlp": {"units": [64, 64], "use_bias": true, "activation": ["relu", "linear"], "use_normalization": true, "normalization_technique": "graph"}, "rgin_args": {"random_range": 100}, "last_mlp": {"use_bias": true, "units": [64, 32, 1], "activation": ["relu", "relu", "linear"]}, "output_embedding": "graph", "output_mlp": {"activation": "linear", "units": 1}}}, "training": {"fit": {"batch_size": 32, "epochs": 300, "validation_freq": 1, "verbose": 2, "callbacks": []}, "compile": {"optimizer": {"class_name": "Adam", "config": {"learning_rate": {"module": "keras.optimizers.schedules", "class_name": "ExponentialDecay", "config": {"initial_learning_rate": 0.001, "decay_steps": 1600, "decay_rate": 0.5, "staircase": false}}}}, "loss": "mean_absolute_error"}, "cross_validation": {"class_name": "KFold", "config": {"n_splits": 5, "random_state": 42, "shuffle": true}}, "scaler": {"class_name": "StandardLabelScaler", "config": {"with_std": true, "with_mean": true, "copy": true}}}, "data": {"data_unit": "mol/L"}, "info": {"postfix": "", "postfix_file": "", "kgcnn_version": "4.0.0"}, "dataset": {"class_name": "FreeSolvDataset", "module_name": "kgcnn.data.datasets.FreeSolvDataset", "config": {}, "methods": [{"set_attributes": {}}, {"map_list": {"method": "count_nodes_and_edges"}}]}} \ No newline at end of file diff --git a/training/train_graph.py b/training/train_graph.py index 0a9d354f..1954c8ff 100644 --- a/training/train_graph.py +++ b/training/train_graph.py @@ -24,7 +24,7 @@ parser = argparse.ArgumentParser(description='Train a GNN on a graph regression or classification task.') parser.add_argument("--hyper", required=False, help="Filepath to hyperparameter config file (.py or .json).", default="hyper/hyper_freesolv.py") -parser.add_argument("--category", required=False, help="Graph model to train.", default="RGCN") +parser.add_argument("--category", required=False, help="Graph model to train.", default="MAT") parser.add_argument("--model", required=False, help="Graph model to train.", default=None) parser.add_argument("--dataset", required=False, help="Name of the dataset.", default=None) parser.add_argument("--make", required=False, help="Name of the class for model.", default=None)