Spaces:
Running
Running
update readme
Browse files- .github/README.md +6 -4
- mlip_arena/models/externals/orb.py +4 -1
.github/README.md
CHANGED
@@ -2,13 +2,15 @@
|
|
2 |
<h1>MLIP Arena</h1>
|
3 |
<a href="https://zenodo.org/doi/10.5281/zenodo.13704399"><img src="https://zenodo.org/badge/776930320.svg" alt="DOI"></a>
|
4 |
<a href="https://huggingface.co/spaces/atomind/mlip-arena"><img src="https://huggingface.co/datasets/huggingface/brand-assets/resolve/main/hf-logo-with-title.svg" style="height: 20px; background-color: white;" alt="Hugging Face"></a>
|
|
|
|
|
5 |
</div>
|
6 |
|
7 |
> [!CAUTION]
|
8 |
> MLIP Arena is currently in pre-alpha. The results are not stable. Please intepret them with care.
|
9 |
|
10 |
> [!NOTE]
|
11 |
-
> If you're interested in joining the effort, please reach out to Yuan at [cyrusyc@berkeley.edu](mailto:cyrusyc@berkeley.edu).
|
12 |
|
13 |
MLIP Arena is a platform for evaluating foundation machine learning interatomic potentials (MLIPs) beyond conventional energy and force error metrics. It focuses on revealing the underlying physics and chemistry learned by these models and assessing their performance in molecular dynamics (MD) simulations. The platform's benchmarks are specifically designed to evaluate the readiness and reliability of open-source, open-weight models in accurately reproducing both qualitative and quantitative behaviors of atomic systems.
|
14 |
|
@@ -33,7 +35,7 @@ pip install .[mace]
|
|
33 |
|
34 |
## Contribute
|
35 |
|
36 |
-
MLIP Arena is now in pre-alpha. If you're interested in joining the effort, please reach out to Yuan at [cyrusyc@berkeley.edu](mailto:cyrusyc@berkeley.edu).
|
37 |
|
38 |
### Development
|
39 |
|
@@ -44,7 +46,7 @@ streamlit run serve/app.py
|
|
44 |
### Add new benchmark tasks (WIP)
|
45 |
|
46 |
> [!NOTE]
|
47 |
-
> Please reuse or extend the general tasks defined as Prefect / Atomate2 workflow.
|
48 |
> The following are some tasks implemented:
|
49 |
> - [Prefect structure optimization (OPT)](../mlip_arena/tasks/optimize.py)
|
50 |
> - [Prefect molecular dynamics (MD)](../mlip_arena/tasks/md.py)
|
@@ -79,7 +81,7 @@ If you have pretrained MLIP models that you would like to contribute to the MLIP
|
|
79 |
|
80 |
### Add new datasets
|
81 |
|
82 |
-
The goal is to compile
|
83 |
|
84 |
1. Create a new [Hugging Face Dataset](https://huggingface.co/new-dataset) repository and upload the reference data (e.g. DFT, AIMD, experimental measurements such as RDF).
|
85 |
|
|
|
2 |
<h1>MLIP Arena</h1>
|
3 |
<a href="https://zenodo.org/doi/10.5281/zenodo.13704399"><img src="https://zenodo.org/badge/776930320.svg" alt="DOI"></a>
|
4 |
<a href="https://huggingface.co/spaces/atomind/mlip-arena"><img src="https://huggingface.co/datasets/huggingface/brand-assets/resolve/main/hf-logo-with-title.svg" style="height: 20px; background-color: white;" alt="Hugging Face"></a>
|
5 |
+
<!-- <a href="https://discord.gg/W8WvdQtT8T"><img alt="Discord" src="https://img.shields.io/discord/1299613474820984832?logo=discord"> -->
|
6 |
+
</a>
|
7 |
</div>
|
8 |
|
9 |
> [!CAUTION]
|
10 |
> MLIP Arena is currently in pre-alpha. The results are not stable. Please intepret them with care.
|
11 |
|
12 |
> [!NOTE]
|
13 |
+
> Contributions of new tasks are very welcome! If you're interested in joining the effort, please reach out to Yuan at [cyrusyc@berkeley.edu](mailto:cyrusyc@berkeley.edu). See [project page](https://github.com/orgs/atomind-ai/projects/1) for some outstanding tasks, or propose new one in [Discussion](https://github.com/atomind-ai/mlip-arena/discussions/new?category=ideas).
|
14 |
|
15 |
MLIP Arena is a platform for evaluating foundation machine learning interatomic potentials (MLIPs) beyond conventional energy and force error metrics. It focuses on revealing the underlying physics and chemistry learned by these models and assessing their performance in molecular dynamics (MD) simulations. The platform's benchmarks are specifically designed to evaluate the readiness and reliability of open-source, open-weight models in accurately reproducing both qualitative and quantitative behaviors of atomic systems.
|
16 |
|
|
|
35 |
|
36 |
## Contribute
|
37 |
|
38 |
+
MLIP Arena is now in pre-alpha. If you're interested in joining the effort, please reach out to Yuan at [cyrusyc@berkeley.edu](mailto:cyrusyc@berkeley.edu).
|
39 |
|
40 |
### Development
|
41 |
|
|
|
46 |
### Add new benchmark tasks (WIP)
|
47 |
|
48 |
> [!NOTE]
|
49 |
+
> Please reuse or extend the general tasks defined as Prefect / [Atomate2](https://github.com/materialsproject/atomate2) / [Quacc](https://github.com/Quantum-Accelerators/quacc) workflow.
|
50 |
> The following are some tasks implemented:
|
51 |
> - [Prefect structure optimization (OPT)](../mlip_arena/tasks/optimize.py)
|
52 |
> - [Prefect molecular dynamics (MD)](../mlip_arena/tasks/md.py)
|
|
|
81 |
|
82 |
### Add new datasets
|
83 |
|
84 |
+
The "ultimate" goal is to compile the copies of all the open data in a unified format for lifelong learning with [Hugging Face Auto-Train](https://huggingface.co/docs/hub/webhooks-guide-auto-retrain).
|
85 |
|
86 |
1. Create a new [Hugging Face Dataset](https://huggingface.co/new-dataset) repository and upload the reference data (e.g. DFT, AIMD, experimental measurements such as RDF).
|
87 |
|
mlip_arena/models/externals/orb.py
CHANGED
@@ -2,17 +2,20 @@ from __future__ import annotations
|
|
2 |
|
3 |
from pathlib import Path
|
4 |
|
|
|
5 |
import requests
|
6 |
from orb_models.forcefield import pretrained
|
7 |
from orb_models.forcefield.calculator import ORBCalculator
|
8 |
|
9 |
from mlip_arena.models.utils import get_freer_device
|
10 |
|
|
|
|
|
11 |
|
12 |
class ORB(ORBCalculator):
|
13 |
def __init__(
|
14 |
self,
|
15 |
-
checkpoint="
|
16 |
device=None,
|
17 |
**kwargs,
|
18 |
):
|
|
|
2 |
|
3 |
from pathlib import Path
|
4 |
|
5 |
+
import yaml
|
6 |
import requests
|
7 |
from orb_models.forcefield import pretrained
|
8 |
from orb_models.forcefield.calculator import ORBCalculator
|
9 |
|
10 |
from mlip_arena.models.utils import get_freer_device
|
11 |
|
12 |
+
with open(Path(__file__).parents[1] / "registry.yaml", encoding="utf-8") as f:
|
13 |
+
REGISTRY = yaml.safe_load(f)
|
14 |
|
15 |
class ORB(ORBCalculator):
|
16 |
def __init__(
|
17 |
self,
|
18 |
+
checkpoint=REGISTRY["ORB"]["checkpoint"],
|
19 |
device=None,
|
20 |
**kwargs,
|
21 |
):
|