diff --git a/training/hyper/hyper_mp_perovskites.py b/training/hyper/hyper_mp_perovskites.py index a295cd90..9c49036c 100644 --- a/training/hyper/hyper_mp_perovskites.py +++ b/training/hyper/hyper_mp_perovskites.py @@ -299,8 +299,8 @@ {'shape': (None,), 'name': 'node_number', 'dtype': 'int64', 'ragged': True}, {'shape': (None, 3), 'name': 'node_frac_coordinates', 'dtype': 'float64', 'ragged': True}, {'shape': (None, 2), 'name': 'range_indices', 'dtype': 'int64', 'ragged': True}, - {'shape': (3, 3), 'name': 'graph_lattice', 'dtype': 'float64', 'ragged': False}, {'shape': (None, 3), 'name': 'range_image', 'dtype': 'float32', 'ragged': True}, + {'shape': (3, 3), 'name': 'graph_lattice', 'dtype': 'float64', 'ragged': False}, # For `representation="asu"`: # {'shape': (None, 1), 'name': 'multiplicities', 'dtype': 'float32', 'ragged': True}, # {'shape': (None, 4, 4), 'name': 'symmops', 'dtype': 'float64', 'ragged': True}, diff --git a/training/hyper/hyper_qm9_energies.py b/training/hyper/hyper_qm9_energies.py index 4482a837..7da81c66 100644 --- a/training/hyper/hyper_qm9_energies.py +++ b/training/hyper/hyper_qm9_energies.py @@ -419,7 +419,8 @@ ] }, # "multi_target_indices": [11] # 10, 11, 12, 13 = 'U0', 'U', 'H', 'G' or combination - "multi_target_indices": target_index + # "multi_target_indices": [18] # 15, 16, 17, 18 = 'U0_atom', 'U_atom', 'H_atom', 'G_atom' or combination + "multi_target_indices": [i+5 for i in target_index] }, "data": { "dataset": { diff --git a/training/results/MatProjectPerovskitesDataset/Megnet_make_crystal_model/Megnet_MatProjectPerovskitesDataset_score.yaml b/training/results/MatProjectPerovskitesDataset/Megnet_make_crystal_model/Megnet_MatProjectPerovskitesDataset_score.yaml new file mode 100644 index 00000000..d05e21b7 --- /dev/null +++ b/training/results/MatProjectPerovskitesDataset/Megnet_make_crystal_model/Megnet_MatProjectPerovskitesDataset_score.yaml @@ -0,0 +1,156 @@ +OS: posix_linux +backend: tensorflow +cuda_available: 'True' +data_unit: eV/unit_cell +date_time: '2023-12-29 08:11:00' +device_id: '[LogicalDevice(name=''/device:CPU:0'', device_type=''CPU''), LogicalDevice(name=''/device:GPU:0'', + device_type=''GPU'')]' +device_memory: '[]' +device_name: '[{}, {''compute_capability'': (8, 0), ''device_name'': ''NVIDIA A100 + 80GB PCIe''}]' +epochs: +- 1000 +- 1000 +- 1000 +- 1000 +- 1000 +execute_folds: null +kgcnn_version: 4.0.0 +learning_rate: +- 5.549999968934571e-06 +- 5.549999968934571e-06 +- 5.549999968934571e-06 +- 5.549999968934571e-06 +- 5.549999968934571e-06 +loss: +- 0.004397830925881863 +- 0.005278823431581259 +- 0.004376160446554422 +- 0.004232063423842192 +- 0.004540016874670982 +max_learning_rate: +- 0.0005000000237487257 +- 0.0005000000237487257 +- 0.0005000000237487257 +- 0.0005000000237487257 +- 0.0005000000237487257 +max_loss: +- 0.5813741683959961 +- 0.58009934425354 +- 0.5822065472602844 +- 0.5880441665649414 +- 0.5886858105659485 +max_scaled_mean_absolute_error: +- 0.4308184087276459 +- 0.4286150634288788 +- 0.43322789669036865 +- 0.43700793385505676 +- 0.4390462338924408 +max_scaled_root_mean_squared_error: +- 0.5738153457641602 +- 0.5650684833526611 +- 0.5685641765594482 +- 0.5760461688041687 +- 0.5783081650733948 +max_val_loss: +- 0.19459137320518494 +- 0.19005027413368225 +- 0.18510140478610992 +- 0.1782563030719757 +- 0.1876201629638672 +max_val_scaled_mean_absolute_error: +- 0.14388683438301086 +- 0.14014573395252228 +- 0.13756336271762848 +- 0.1328963190317154 +- 0.14029498398303986 +max_val_scaled_root_mean_squared_error: +- 0.1895633488893509 +- 0.1875140517950058 +- 0.18289659917354584 +- 0.1750008761882782 +- 0.18676140904426575 +min_learning_rate: +- 5.549999968934571e-06 +- 5.549999968934571e-06 +- 5.549999968934571e-06 +- 5.549999968934571e-06 +- 5.549999968934571e-06 +min_loss: +- 0.003926873207092285 +- 0.005278823431581259 +- 0.004338774364441633 +- 0.004204403143376112 +- 0.0040434664115309715 +min_scaled_mean_absolute_error: +- 0.0029129795730113983 +- 0.0039055212400853634 +- 0.0032300197053700686 +- 0.0031279728282243013 +- 0.0030192884150892496 +min_scaled_root_mean_squared_error: +- 0.004599509760737419 +- 0.006465458776801825 +- 0.005390344187617302 +- 0.004726039711385965 +- 0.00514197675511241 +min_val_loss: +- 0.052529748529195786 +- 0.052865125238895416 +- 0.05213373154401779 +- 0.04843062162399292 +- 0.055133167654275894 +min_val_scaled_mean_absolute_error: +- 0.0389869250357151 +- 0.039114244282245636 +- 0.03883713483810425 +- 0.03578684851527214 +- 0.041139476001262665 +min_val_scaled_root_mean_squared_error: +- 0.06799951940774918 +- 0.06926962733268738 +- 0.06995909661054611 +- 0.05940646305680275 +- 0.07061677426099777 +model_class: make_crystal_model +model_name: Megnet +model_version: '2023-12-05' +multi_target_indices: null +number_histories: 5 +scaled_mean_absolute_error: +- 0.0032622646540403366 +- 0.0039055212400853634 +- 0.0032568767201155424 +- 0.003150396980345249 +- 0.0033899417612701654 +scaled_root_mean_squared_error: +- 0.005011662840843201 +- 0.006465458776801825 +- 0.005390344187617302 +- 0.004726039711385965 +- 0.005509058944880962 +seed: 42 +time_list: +- '4:43:57.583793' +- '4:44:30.393619' +- '4:50:27.145769' +- '4:52:04.434260' +- '4:49:23.093080' +val_loss: +- 0.052533868700265884 +- 0.052865125238895416 +- 0.05213373154401779 +- 0.04843062162399292 +- 0.055133167654275894 +val_scaled_mean_absolute_error: +- 0.0389869250357151 +- 0.039114244282245636 +- 0.03883713483810425 +- 0.03578684851527214 +- 0.041139476001262665 +val_scaled_root_mean_squared_error: +- 0.06799951940774918 +- 0.06926962733268738 +- 0.06995909661054611 +- 0.05940646305680275 +- 0.07066994905471802 diff --git a/training/results/MatProjectPerovskitesDataset/Megnet_make_crystal_model/Megnet_hyper.json b/training/results/MatProjectPerovskitesDataset/Megnet_make_crystal_model/Megnet_hyper.json new file mode 100644 index 00000000..bb863b2a --- /dev/null +++ b/training/results/MatProjectPerovskitesDataset/Megnet_make_crystal_model/Megnet_hyper.json @@ -0,0 +1 @@ +{"model": {"module_name": "kgcnn.literature.Megnet", "class_name": "make_crystal_model", "config": {"name": "Megnet", "inputs": [{"shape": [null], "name": "node_number", "dtype": "int64", "ragged": true}, {"shape": [null, 3], "name": "node_coordinates", "dtype": "float32", "ragged": true}, {"shape": [null, 2], "name": "range_indices", "dtype": "int64", "ragged": true}, {"shape": [1], "name": "charge", "dtype": "float32", "ragged": false}, {"shape": [null, 3], "name": "range_image", "dtype": "int64", "ragged": true}, {"shape": [3, 3], "name": "graph_lattice", "dtype": "float32", "ragged": false}], "input_tensor_type": "ragged", "input_embedding": null, "input_node_embedding": {"input_dim": 95, "output_dim": 64}, "make_distance": true, "expand_distance": true, "gauss_args": {"bins": 25, "distance": 5, "offset": 0.0, "sigma": 0.4}, "meg_block_args": {"node_embed": [64, 32, 32], "edge_embed": [64, 32, 32], "env_embed": [64, 32, 32], "activation": "kgcnn>softplus2"}, "set2set_args": {"channels": 16, "T": 3, "pooling_method": "sum", "init_qstar": "0"}, "node_ff_args": {"units": [64, 32], "activation": "kgcnn>softplus2"}, "edge_ff_args": {"units": [64, 32], "activation": "kgcnn>softplus2"}, "state_ff_args": {"units": [64, 32], "activation": "kgcnn>softplus2"}, "nblocks": 3, "has_ff": true, "dropout": null, "use_set2set": true, "verbose": 10, "output_embedding": "graph", "output_mlp": {"use_bias": [true, true, true], "units": [32, 16, 1], "activation": ["kgcnn>softplus2", "kgcnn>softplus2", "linear"]}}}, "training": {"cross_validation": {"class_name": "KFold", "config": {"n_splits": 5, "random_state": 42, "shuffle": true}}, "fit": {"batch_size": 32, "epochs": 1000, "validation_freq": 10, "verbose": 2, "callbacks": [{"class_name": "kgcnn>LinearLearningRateScheduler", "config": {"learning_rate_start": 0.0005, "learning_rate_stop": 5e-06, "epo_min": 100, "epo": 1000, "verbose": 0}}]}, "compile": {"optimizer": {"class_name": "Adam", "config": {"learning_rate": 0.0005}}, "loss": "mean_absolute_error"}, "scaler": {"class_name": "StandardLabelScaler", "module_name": "kgcnn.data.transform.scaler.standard", "config": {"with_std": true, "with_mean": true, "copy": true}}, "multi_target_indices": null}, "data": {"data_unit": "eV/unit_cell"}, "info": {"postfix": "", "postfix_file": "", "kgcnn_version": "4.0.0"}, "dataset": {"class_name": "MatProjectPerovskitesDataset", "module_name": "kgcnn.data.datasets.MatProjectPerovskitesDataset", "config": {}, "methods": [{"map_list": {"method": "set_range_periodic", "max_distance": 5.0}}]}} \ No newline at end of file diff --git a/training/results/QM9Dataset/PAiNN/PAiNN_QM9Dataset_score_HOMO.yaml b/training/results/QM9Dataset/PAiNN/PAiNN_QM9Dataset_score_HOMO.yaml new file mode 100644 index 00000000..2575fedc --- /dev/null +++ b/training/results/QM9Dataset/PAiNN/PAiNN_QM9Dataset_score_HOMO.yaml @@ -0,0 +1,139 @@ +OS: posix_linux +backend: tensorflow +cuda_available: 'True' +data_unit: '[''eV'']' +date_time: '2023-12-29 08:35:00' +device_id: '[LogicalDevice(name=''/device:CPU:0'', device_type=''CPU''), LogicalDevice(name=''/device:GPU:0'', + device_type=''GPU'')]' +device_memory: '[]' +device_name: '[{}, {''compute_capability'': (7, 0), ''device_name'': ''Tesla V100-SXM2-32GB''}]' +epochs: +- 872 +- 872 +- 872 +- 872 +- 872 +execute_folds: +- 4 +kgcnn_version: 4.0.0 +loss: +- 0.003294642549008131 +- 0.0029402414802461863 +- 0.003289161715656519 +- 0.12238723784685135 +- 0.015073779039084911 +max_loss: +- 0.32262271642684937 +- 0.3293594419956207 +- 0.3262612521648407 +- 50.7930908203125 +- 1.280696988105774 +max_scaled_mean_absolute_error: +- 0.19472411274909973 +- 0.19837705790996552 +- 0.19602012634277344 +- 30.607391357421875 +- 0.7709271311759949 +max_scaled_root_mean_squared_error: +- 0.28028348088264465 +- 0.7278462052345276 +- 0.2805926203727722 +- 2517.04052734375 +- 176.50790405273438 +max_val_loss: +- 0.11736048012971878 +- 0.09089796245098114 +- 0.10240307450294495 +- 0.7400363087654114 +- 0.18249693512916565 +max_val_scaled_mean_absolute_error: +- 0.07069920748472214 +- 0.054672058671712875 +- 0.061389487236738205 +- 0.44578346610069275 +- 0.10976182669401169 +max_val_scaled_root_mean_squared_error: +- 0.1011790931224823 +- 0.08075223118066788 +- 0.11302179843187332 +- 0.7455280423164368 +- 0.15606093406677246 +min_loss: +- 0.0032844471279531717 +- 0.0029378768522292376 +- 0.0032739758025854826 +- 0.10466354340314865 +- 0.015073779039084911 +min_scaled_mean_absolute_error: +- 0.0019823696929961443 +- 0.001769466558471322 +- 0.0019669937901198864 +- 0.06306608766317368 +- 0.009073719382286072 +min_scaled_root_mean_squared_error: +- 0.0027461934369057417 +- 0.002509073819965124 +- 0.0026796318124979734 +- 0.09012750536203384 +- 0.022356567904353142 +min_val_loss: +- 0.048008427023887634 +- 0.05104929953813553 +- 0.049259137362241745 +- 0.16724078357219696 +- 0.0853082463145256 +min_val_scaled_mean_absolute_error: +- 0.02887205220758915 +- 0.030691467225551605 +- 0.02949574589729309 +- 0.10066147893667221 +- 0.05130166932940483 +min_val_scaled_root_mean_squared_error: +- 0.054600466042757034 +- 0.05213473364710808 +- 0.05488944053649902 +- 0.19786351919174194 +- 0.083727166056633 +model_class: make_model +model_name: PAiNN +model_version: '2023-10-04' +multi_target_indices: +- 5 +number_histories: 5 +scaled_mean_absolute_error: +- 0.0019884807989001274 +- 0.0017709225649014115 +- 0.0019761030562222004 +- 0.07374542206525803 +- 0.009073719382286072 +scaled_root_mean_squared_error: +- 0.0027565183117985725 +- 0.002510419115424156 +- 0.00269254669547081 +- 0.11067453771829605 +- 0.022356567904353142 +seed: 42 +time_list: +- '15:01:50.663829' +- '14:46:45.465706' +- '15:13:09.007504' +- '14:47:55.737834' +- '14:50:00.202334' +val_loss: +- 0.048047974705696106 +- 0.051146626472473145 +- 0.049259137362241745 +- 0.16724078357219696 +- 0.08569817245006561 +val_scaled_mean_absolute_error: +- 0.028896499425172806 +- 0.030748846009373665 +- 0.02949574589729309 +- 0.10066147893667221 +- 0.05154484882950783 +val_scaled_root_mean_squared_error: +- 0.054600466042757034 +- 0.05233440175652504 +- 0.05574607104063034 +- 0.3130711317062378 +- 0.08536478877067566 diff --git a/training/results/QM9Dataset/PAiNN/PAiNN_QM9Dataset_score_U0.yaml b/training/results/QM9Dataset/PAiNN/PAiNN_QM9Dataset_score_U0.yaml new file mode 100644 index 00000000..962d1c60 --- /dev/null +++ b/training/results/QM9Dataset/PAiNN/PAiNN_QM9Dataset_score_U0.yaml @@ -0,0 +1,139 @@ +OS: posix_linux +backend: tensorflow +cuda_available: 'True' +data_unit: '[''eV'']' +date_time: '2023-12-29 04:39:15' +device_id: '[LogicalDevice(name=''/device:CPU:0'', device_type=''CPU''), LogicalDevice(name=''/device:GPU:0'', + device_type=''GPU'')]' +device_memory: '[]' +device_name: '[{}, {''compute_capability'': (7, 0), ''device_name'': ''Tesla V100-SXM2-32GB''}]' +epochs: +- 872 +- 872 +- 872 +- 872 +- 872 +execute_folds: +- 4 +kgcnn_version: 4.0.0 +loss: +- 0.001889216830022633 +- 0.001936722663231194 +- 0.00204702140763402 +- 0.001972296740859747 +- 0.0019329258939251304 +max_loss: +- 0.18528831005096436 +- 0.1867746114730835 +- 0.18680961430072784 +- 0.18821166455745697 +- 0.18691110610961914 +max_scaled_mean_absolute_error: +- 0.20238927006721497 +- 0.20434986054897308 +- 0.20432136952877045 +- 0.20593547821044922 +- 0.204655259847641 +max_scaled_root_mean_squared_error: +- 0.3400605320930481 +- 0.3426783084869385 +- 0.34412264823913574 +- 0.34688177704811096 +- 0.34275123476982117 +max_val_loss: +- 0.04832068085670471 +- 0.036502204835414886 +- 0.033137112855911255 +- 0.03735646605491638 +- 0.03216058015823364 +max_val_scaled_mean_absolute_error: +- 0.052680108696222305 +- 0.03983084857463837 +- 0.036129143089056015 +- 0.04081173986196518 +- 0.0351250134408474 +max_val_scaled_root_mean_squared_error: +- 0.07192036509513855 +- 0.06574716418981552 +- 0.06072147190570831 +- 0.06479763984680176 +- 0.05939338356256485 +min_loss: +- 0.0018570024985820055 +- 0.0018988094525411725 +- 0.0019467069068923593 +- 0.0019367891363799572 +- 0.001817166805267334 +min_scaled_mean_absolute_error: +- 0.0020282738842070103 +- 0.002077417680993676 +- 0.002129155211150646 +- 0.002119214041158557 +- 0.001989582786336541 +min_scaled_root_mean_squared_error: +- 0.0027472430374473333 +- 0.002777799963951111 +- 0.0028769865166395903 +- 0.0028655489441007376 +- 0.0026730732060968876 +min_val_loss: +- 0.009085992351174355 +- 0.008631103672087193 +- 0.009052971377968788 +- 0.00872995425015688 +- 0.009173920378088951 +min_val_scaled_mean_absolute_error: +- 0.009831518866121769 +- 0.009369906038045883 +- 0.009807894006371498 +- 0.009493691846728325 +- 0.009994268417358398 +min_val_scaled_root_mean_squared_error: +- 0.02982049621641636 +- 0.028052804991602898 +- 0.029426032677292824 +- 0.026732442900538445 +- 0.029416363686323166 +model_class: make_model +model_name: PAiNN +model_version: '2023-10-04' +multi_target_indices: +- 10 +number_histories: 5 +scaled_mean_absolute_error: +- 0.0020634657703340054 +- 0.0021189237013459206 +- 0.002238895045593381 +- 0.002158088143914938 +- 0.0021163562778383493 +scaled_root_mean_squared_error: +- 0.0027903555892407894 +- 0.0028270587790757418 +- 0.002992196474224329 +- 0.0028958546463400126 +- 0.0028216217178851366 +seed: 42 +time_list: +- '15:03:23.453256' +- '15:09:40.013839' +- '15:08:55.028162' +- '14:17:46.305607' +- '14:24:40.098061' +val_loss: +- 0.009177390486001968 +- 0.008796613663434982 +- 0.009366737678647041 +- 0.008876070380210876 +- 0.009378412738442421 +val_scaled_mean_absolute_error: +- 0.009931384585797787 +- 0.009549600072205067 +- 0.010151699185371399 +- 0.00965241901576519 +- 0.010218968614935875 +val_scaled_root_mean_squared_error: +- 0.030169691890478134 +- 0.028351349756121635 +- 0.02980305440723896 +- 0.02714860625565052 +- 0.0298085268586874 diff --git a/training/results/QM9Dataset/PAiNN/PAiNN_hyper_HOMO.json b/training/results/QM9Dataset/PAiNN/PAiNN_hyper_HOMO.json new file mode 100644 index 00000000..ace4b63f --- /dev/null +++ b/training/results/QM9Dataset/PAiNN/PAiNN_hyper_HOMO.json @@ -0,0 +1 @@ +{"model": {"class_name": "make_model", "module_name": "kgcnn.literature.PAiNN", "config": {"name": "PAiNN", "inputs": [{"shape": [null], "name": "node_number", "dtype": "int64", "ragged": true}, {"shape": [null, 3], "name": "node_coordinates", "dtype": "float32", "ragged": true}, {"shape": [null, 2], "name": "range_indices", "dtype": "int64", "ragged": true}], "input_tensor_type": "ragged", "input_embedding": null, "input_node_embedding": {"input_dim": 95, "output_dim": 128}, "bessel_basis": {"num_radial": 20, "cutoff": 5.0, "envelope_exponent": 5}, "pooling_args": {"pooling_method": "sum"}, "conv_args": {"units": 128, "cutoff": null}, "update_args": {"units": 128}, "depth": 3, "verbose": 10, "output_embedding": "graph", "output_mlp": {"use_bias": [true, true], "units": [128, 1], "activation": ["swish", "linear"]}}}, "training": {"cross_validation": {"class_name": "KFold", "config": {"n_splits": 5, "random_state": 42, "shuffle": true}}, "fit": {"batch_size": 32, "epochs": 872, "validation_freq": 10, "verbose": 2, "callbacks": []}, "compile": {"optimizer": {"class_name": "Adam", "config": {"learning_rate": {"class_name": "kgcnn>LinearWarmupExponentialDecay", "config": {"learning_rate": 0.001, "warmup_steps": 3000.0, "decay_steps": 4000000.0, "decay_rate": 0.01}}, "amsgrad": true, "use_ema": true}}, "loss": "mean_absolute_error"}, "scaler": {"class_name": "QMGraphLabelScaler", "config": {"atomic_number": "node_number", "scaler": [{"class_name": "StandardLabelScaler", "config": {"with_std": true, "with_mean": true, "copy": true}}]}}, "multi_target_indices": [5]}, "data": {}, "info": {"postfix": "", "postfix_file": "_HOMO", "kgcnn_version": "4.0.0"}, "dataset": {"class_name": "QM9Dataset", "module_name": "kgcnn.data.datasets.QM9Dataset", "config": {}, "methods": [{"map_list": {"method": "set_range", "max_distance": 5, "max_neighbours": 10000}}]}} \ No newline at end of file diff --git a/training/results/QM9Dataset/PAiNN/PAiNN_hyper_U0.json b/training/results/QM9Dataset/PAiNN/PAiNN_hyper_U0.json new file mode 100644 index 00000000..70971da3 --- /dev/null +++ b/training/results/QM9Dataset/PAiNN/PAiNN_hyper_U0.json @@ -0,0 +1 @@ +{"model": {"class_name": "make_model", "module_name": "kgcnn.literature.PAiNN", "config": {"name": "PAiNN", "inputs": [{"shape": [null], "name": "node_number", "dtype": "int64", "ragged": true}, {"shape": [null, 3], "name": "node_coordinates", "dtype": "float32", "ragged": true}, {"shape": [null, 2], "name": "range_indices", "dtype": "int64", "ragged": true}], "input_tensor_type": "ragged", "input_embedding": null, "equiv_initialize_kwargs": {"dim": 3, "method": "eps", "units": 128}, "input_node_embedding": {"input_dim": 95, "output_dim": 128}, "bessel_basis": {"num_radial": 20, "cutoff": 5.0, "envelope_exponent": 5}, "pooling_args": {"pooling_method": "sum"}, "conv_args": {"units": 128, "cutoff": null}, "update_args": {"units": 128, "add_eps": true}, "depth": 3, "verbose": 10, "output_embedding": "graph", "output_mlp": {"use_bias": [true, true], "units": [128, 1], "activation": ["swish", "linear"]}}}, "training": {"cross_validation": {"class_name": "KFold", "config": {"n_splits": 5, "random_state": 42, "shuffle": true}}, "fit": {"batch_size": 32, "epochs": 872, "validation_freq": 10, "verbose": 2, "callbacks": []}, "compile": {"optimizer": {"class_name": "Adam", "config": {"learning_rate": {"class_name": "kgcnn>LinearWarmupExponentialDecay", "config": {"learning_rate": 0.001, "warmup_steps": 3000.0, "decay_steps": 4000000.0, "decay_rate": 0.01}}, "amsgrad": true, "use_ema": true}}, "loss": "mean_absolute_error"}, "scaler": {"class_name": "QMGraphLabelScaler", "config": {"atomic_number": "node_number", "scaler": [{"class_name": "ExtensiveMolecularScaler", "config": {}}]}}, "multi_target_indices": [10]}, "dataset": {"class_name": "QM9Dataset", "module_name": "kgcnn.data.datasets.QM9Dataset", "config": {}, "methods": [{"map_list": {"method": "set_range", "max_distance": 5, "max_neighbours": 10000}}]}, "data": {}, "info": {"postfix": "", "postfix_file": "_U0", "kgcnn_version": "4.0.0"}} \ No newline at end of file