Skip to content

Commit 96118be

Browse files
authored
Add trained models
1 parent cc18564 commit 96118be

File tree

1 file changed

+23
-20
lines changed

1 file changed

+23
-20
lines changed

OpenDFT/QHBench/QH9/README.md

+23-20
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,29 @@
11
# QH9: A Quantum Hamiltonian Prediction Benchmark
22

3-
[[Paper]](https://arxiv.org/abs/2306.09549)
3+
[[Paper]](https://arxiv.org/abs/2306.09549)(**NeurIPS**, Track on Datasets and Benchmarks, 2023)
44

55
## Introduction
66

77
QH9 provides precise DFT-calculated Hamiltonian matrices for **2,399 molecular dynamics trajectories** and **130,831 stable molecular geometries**, based on the [QM9](http://quantum-machine.org/datasets/) dataset.
88

9-
In this repo, we provide both the QH9 dataset and the baseline models, which can be highly valuable for developing machine learning methods and accelerating molecular and materials design for scientific and technological applications.
9+
In this repo, we provide both the QH9 dataset and the benchmark code, which can be highly valuable for developing machine learning methods and accelerating molecular and materials design for scientific and technological applications.
1010

1111

1212
## Tasks
1313

1414
To comprehensively evaluate the quantum Hamiltonian prediction performance, we define the following tasks based on the obtained stable and dynamic geometries in the QH9 dataset. Please refer to our paper for details of these task setups.
1515

16-
* **QH-stable-iid**
17-
* **QH-stable-ood**
18-
* **QH-dynamic-geo**
19-
* **QH-dynamic-mol**
16+
* **QH9-stable-id**
17+
* **QH9-stable-ood**
18+
* **QH9-dynamic-geo**
19+
* **QH9-dynamic-mol**
2020

2121
| Task | # Total geometries | # Total molecules | # Training/validation/testing geometries|
2222
| -------- | -------- | -------- | -------- |
23-
|**QH-stable-iid** | 130, 831 | 130, 831 | 104, 664/13, 083/13, 084|
24-
|**QH-stable-ood** | 130, 831 | 130, 831 | 104, 001/17, 495/9, 335|
25-
|**QH-dynamic-geo** | 143, 940 | 2, 399 | 119, 950/11, 995/11, 995|
26-
|**QH-dynamic-mol** | 143, 940 | 2, 399 | 115, 140/14, 340/14, 460|
23+
|**QH9-stable-id** | 130, 831 | 130, 831 | 104, 664/13, 083/13, 084|
24+
|**QH9-stable-ood** | 130, 831 | 130, 831 | 104, 001/17, 495/9, 335|
25+
|**QH9-dynamic-geo** | 143, 940 | 2, 399 | 119, 950/11, 995/11, 995|
26+
|**QH9-dynamic-mol** | 143, 940 | 2, 399 | 115, 140/14, 340/14, 460|
2727

2828
## Requirement
2929

@@ -38,17 +38,17 @@ Meanwhile, we provide the installation file, and you can build the environment b
3838

3939

4040
## Dataset Usage
41-
We provide the datasets as commonly used PyG datasets. Here are simple examples to load our datasets with a few lines of code. Prior to that, you can download the `datasets` folder, which includes the raw data files `QH9Stable.db` and `QH9Dynamic.db`, via [this Google Drive link](https://drive.google.com/drive/folders/13pPgBh3XvN2FCpowfnA8TT4VJ0OTceNM?usp=sharing) and [OneDrive Link](https://tamucs-my.sharepoint.com/:f:/g/personal/haiyang_tamu_edu/Ev4XIVcumhVFtaI8lUkIHXABHkKnKgWSJ5LYZOo67UKO0g?e=tsXkT1). Meanwhile, we provide the zip files of the datasets in this [google drive link](https://drive.google.com/drive/u/0/folders/1LXTC8uaOQzmb76FsuGfwSocAbK5Hshfj).
41+
We provide the datasets as commonly used PyG datasets. Here are simple examples to load our datasets with a few lines of code. Prior to that, you can download the `datasets` folder, which includes the raw data files `QH9Stable.db` and `QH9Dynamic.db`, via [this Google Drive link](https://drive.google.com/drive/folders/13pPgBh3XvN2FCpowfnA8TT4VJ0OTceNM?usp=sharing) or [OneDrive Link](https://tamucs-my.sharepoint.com/:f:/g/personal/haiyang_tamu_edu/Ev4XIVcumhVFtaI8lUkIHXABHkKnKgWSJ5LYZOo67UKO0g?e=tsXkT1). Meanwhile, we provide the zip files of the datasets in this [google drive link](https://drive.google.com/drive/u/0/folders/1LXTC8uaOQzmb76FsuGfwSocAbK5Hshfj).
4242

4343
```python
4444
from torch_geometric.loader import DataLoader
4545
from datasets import QH9Stable, QH9Dynamic
4646

4747
### Use one of the following lines to Load the specific dataset
48-
dataset = QH9Stable(split='random') # QH-stable-iid
49-
dataset = QH9Stable(split='size_ood') # QH-stable-ood
50-
dataset = QH9Dynamic(split='geometry') # QH-dynamic-geo
51-
dataset = QH9Dynamic(split='mol') # QH-dynamic-mol
48+
dataset = QH9Stable(split='random') # QH9-stable-id
49+
dataset = QH9Stable(split='size_ood') # QH9-stable-ood
50+
dataset = QH9Dynamic(split='geometry') # QH9-dynamic-geo
51+
dataset = QH9Dynamic(split='mol') # QH9-dynamic-mol
5252

5353
### Get the training/validation/testing subsets
5454
train_dataset = dataset[dataset.train_mask]
@@ -62,17 +62,20 @@ test_data_loader = DataLoader(test_dataset, batch_size=32, shuffle=False)
6262
```
6363

6464
## Baselines
65-
Equivariant quantum tensor network QHNet is selected as the main baseline method in the QH9 benchmark currently. QHNet has an extendable expansion module that is built upon intermediate full orbital matrices, enabling its capability to effectively handle different molecules. This flexibility allows QHNet to accommodate various molecules in the QH9 benchmark.
65+
Equivariant quantum tensor network [QHNet](https://arxiv.org/abs/2306.04922) is selected as the main baseline method in the QH9 benchmark currently. QHNet has an extendable expansion module that is built upon intermediate full orbital matrices, enabling its capability to effectively handle different molecules. This flexibility allows QHNet to accommodate various molecules in the QH9 benchmark.
6666

6767
* Train the QHNet model
68+
6869
```shell script
6970
### Modify the configurations in config/config.yaml (or pass the configurations as args) as needed, and then run
70-
python main.py datasets=QH9-stable datasets.split=random # QH-stable-iid
71-
python main.py datasets=QH9-stable datasets.split=size_ood # QH-stable-ood
72-
python main.py datasets=QH9-dynamic datasets.split=geometry # QH-stable-iid
73-
python main.py datasets=QH9-dynamic datasets.split=mol # QH-stable-iid
71+
python main.py datasets=QH9-stable datasets.split=random # QH9-stable-id
72+
python main.py datasets=QH9-stable datasets.split=size_ood # QH9-stable-ood
73+
python main.py datasets=QH9-dynamic datasets.split=geometry # QH9-stable-iid
74+
python main.py datasets=QH9-dynamic datasets.split=mol # QH9-stable-iid
7475
```
7576

77+
**Trained models**: our trained QHNet models on the defined tasks are available via [this Google Drive link](https://drive.google.com/drive/folders/10ebqIWLrZ672A9bFg9wLe48F-nsz7za3?usp=share_link).
78+
7679
* Evaluate the trained model (in terms of MAE on Hamiltonian matrix, MAE on occupied orbital energies, and cosine similarity of orbital coefficients)
7780
```shell script
7881
### Modify the configurations in config/config.yaml (or pass the configurations as args) as needed (including the trained_model arg), and then run

0 commit comments

Comments
 (0)