Spaces:
Running
Running
add streamlit metadata
Browse files- README.md +11 -0
- atomind_mlip/models/README.md +0 -6
- atomind_mlip/models/registry.yaml +0 -7
- atomind_mlip/tasks/registry.yaml +0 -2
- {atomind_mlip → mlip_arena}/__init__.py +0 -0
- mlip_arena/models/README.md +9 -0
- {atomind_mlip → mlip_arena}/models/__init__.py +3 -2
- {atomind_mlip → mlip_arena}/models/mace-mp.py +3 -3
- mlip_arena/models/registry.yaml +9 -0
- {atomind_mlip → mlip_arena}/serve/README.md +0 -0
- atomind_mlip/tasks/README.md → mlip_arena/serve/app.py +0 -0
- atomind_mlip/tasks/qmof.py → mlip_arena/tasks/README.md +0 -0
- {atomind_mlip → mlip_arena}/tasks/__init__.py +0 -0
- {atomind_mlip → mlip_arena}/tasks/alexandria.py +0 -0
- mlip_arena/tasks/nacl.py +5 -0
- mlip_arena/tasks/qmof.py +0 -0
- mlip_arena/tasks/registry.yaml +9 -0
- pyproject.toml +21 -2
README.md
CHANGED
@@ -1,3 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
# mlip-arena
|
2 |
|
3 |
MLIP Arena is an open-source platform for benchmarking machine learning interatomic potentials (MLIPs). The platform provides a unified interface for users to evaluate the performance of their models on a variety of tasks, including single-point density functional theory calculations and molecular dynamics simulations. The platform is designed to be extensible, allowing users to contribute new models, benchmarks, and training data to the platform.
|
|
|
1 |
+
---
|
2 |
+
title: MLIP Arena
|
3 |
+
emoji: 🤗
|
4 |
+
colorFrom: yellow
|
5 |
+
colorTo: indigo
|
6 |
+
sdk: streamlit
|
7 |
+
sdk_version: 1.25.0
|
8 |
+
app_file: serve/app.py
|
9 |
+
pinned: true
|
10 |
+
---
|
11 |
+
|
12 |
# mlip-arena
|
13 |
|
14 |
MLIP Arena is an open-source platform for benchmarking machine learning interatomic potentials (MLIPs). The platform provides a unified interface for users to evaluate the performance of their models on a variety of tasks, including single-point density functional theory calculations and molecular dynamics simulations. The platform is designed to be extensible, allowing users to contribute new models, benchmarks, and training data to the platform.
|
atomind_mlip/models/README.md
DELETED
@@ -1,6 +0,0 @@
|
|
1 |
-
|
2 |
-
|
3 |
-
## Note on model registration
|
4 |
-
|
5 |
-
1. Use `ast` to parse model classes from the uploaded script.
|
6 |
-
2. Add the classes and their supported tasks to the model registry file `registry.yaml`.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
atomind_mlip/models/registry.yaml
DELETED
@@ -1,7 +0,0 @@
|
|
1 |
-
|
2 |
-
MACE_MP_Medium:
|
3 |
-
username: cyrusyc
|
4 |
-
datetime: 2022-03-28T14:30:00 # TODO: Fake datetime
|
5 |
-
tasks:
|
6 |
-
- alexandria
|
7 |
-
- qmof
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
atomind_mlip/tasks/registry.yaml
DELETED
@@ -1,2 +0,0 @@
|
|
1 |
-
- alexandria
|
2 |
-
- qmof
|
|
|
|
|
|
{atomind_mlip → mlip_arena}/__init__.py
RENAMED
File without changes
|
mlip_arena/models/README.md
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
|
3 |
+
## Note on model registration
|
4 |
+
|
5 |
+
1. Use `ast` to parse model classes from the uploaded script.
|
6 |
+
2. Add the classes and their supported tasks to the model registry file `registry.yaml`.
|
7 |
+
3. Run tests on HF Space to ensure the model is working as expected.
|
8 |
+
4. [Push files to the Hub](https://huggingface.co/docs/huggingface_hub/guides/upload) and sync with github repository.
|
9 |
+
5. Use [HF webhook](https://huggingface.co/docs/hub/en/webhooks) to run tasks and visualize the results on leaderboard. [[guide]](https://huggingface.co/docs/hub/en/webhooks-guide-metadata-review)
|
{atomind_mlip → mlip_arena}/models/__init__.py
RENAMED
@@ -1,9 +1,10 @@
|
|
1 |
import torch
|
|
|
|
|
2 |
from torch import nn
|
3 |
from torch_geometric.data import Data
|
4 |
|
5 |
-
|
6 |
-
from ase.calculators.calculator import Calculator, all_changes
|
7 |
|
8 |
|
9 |
class MLIP(Calculator):
|
|
|
1 |
import torch
|
2 |
+
from ase import Atoms
|
3 |
+
from ase.calculators.calculator import Calculator, all_changes
|
4 |
from torch import nn
|
5 |
from torch_geometric.data import Data
|
6 |
|
7 |
+
REGISTRY_FILE = 'registry.yaml'
|
|
|
8 |
|
9 |
|
10 |
class MLIP(Calculator):
|
{atomind_mlip → mlip_arena}/models/mace-mp.py
RENAMED
@@ -1,10 +1,10 @@
|
|
1 |
import torch
|
|
|
|
|
2 |
from huggingface_hub import hf_hub_download
|
3 |
from torch_geometric.data import Data
|
4 |
|
5 |
-
from
|
6 |
-
from ase.calculators.calculator import all_changes
|
7 |
-
from atomind_mlip.models import MLIP
|
8 |
|
9 |
|
10 |
class MACE_MP_Medium(MLIP):
|
|
|
1 |
import torch
|
2 |
+
from ase import Atoms
|
3 |
+
from ase.calculators.calculator import all_changes
|
4 |
from huggingface_hub import hf_hub_download
|
5 |
from torch_geometric.data import Data
|
6 |
|
7 |
+
from mlip_arena.models import MLIP
|
|
|
|
|
8 |
|
9 |
|
10 |
class MACE_MP_Medium(MLIP):
|
mlip_arena/models/registry.yaml
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
MACE_MP_Medium:
|
3 |
+
username: cyrusyc # HF username
|
4 |
+
datetime: 2024-03-25T14:30:00 # TODO: Fake datetime
|
5 |
+
datasets: # list of training datasets
|
6 |
+
- atomind/mptrj # TODO: fake HF dataset repo
|
7 |
+
tasks:
|
8 |
+
- alexandria
|
9 |
+
- qmof
|
{atomind_mlip → mlip_arena}/serve/README.md
RENAMED
File without changes
|
atomind_mlip/tasks/README.md → mlip_arena/serve/app.py
RENAMED
File without changes
|
atomind_mlip/tasks/qmof.py → mlip_arena/tasks/README.md
RENAMED
File without changes
|
{atomind_mlip → mlip_arena}/tasks/__init__.py
RENAMED
File without changes
|
{atomind_mlip → mlip_arena}/tasks/alexandria.py
RENAMED
File without changes
|
mlip_arena/tasks/nacl.py
ADDED
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
from torch_dftd.torch_dftd3_calculator import TorchDFTD3Calculator
|
3 |
+
|
4 |
+
from mlip_arena.models import REGISTRY_FILE
|
5 |
+
|
mlip_arena/tasks/qmof.py
ADDED
File without changes
|
mlip_arena/tasks/registry.yaml
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
nacl:
|
2 |
+
username: cyrusyc
|
3 |
+
datetime: 2024-03-25T14:30:00 # TODO: Fake datetime
|
4 |
+
alexandria:
|
5 |
+
username: cyrusyc
|
6 |
+
datetime: 2024-03-25T14:30:00 # TODO: Fake datetime
|
7 |
+
qmof:
|
8 |
+
username: cyrusyc
|
9 |
+
datetime: 2024-03-25T14:30:00 # TODO: Fake datetime
|
pyproject.toml
CHANGED
@@ -3,7 +3,7 @@ requires=["flit_core >=3.2,<4"]
|
|
3 |
build-backend="flit_core.buildapi"
|
4 |
|
5 |
[project]
|
6 |
-
name="
|
7 |
version="0.0.1"
|
8 |
authors=[
|
9 |
{name="Yuan Chiang", email="cyrusyc@lbl.gov"},
|
@@ -27,8 +27,27 @@ classifiers=[
|
|
27 |
]
|
28 |
dependencies=[
|
29 |
"torch",
|
|
|
|
|
30 |
]
|
31 |
|
32 |
[project.urls]
|
33 |
Homepage = "https://github.com/atomind-ai/mlip-arena"
|
34 |
-
Issues = "https://github.com/atomind-ai/mlip-arena/issues"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
build-backend="flit_core.buildapi"
|
4 |
|
5 |
[project]
|
6 |
+
name="mlip_arena"
|
7 |
version="0.0.1"
|
8 |
authors=[
|
9 |
{name="Yuan Chiang", email="cyrusyc@lbl.gov"},
|
|
|
27 |
]
|
28 |
dependencies=[
|
29 |
"torch",
|
30 |
+
"ase",
|
31 |
+
"torch_dftd",
|
32 |
]
|
33 |
|
34 |
[project.urls]
|
35 |
Homepage = "https://github.com/atomind-ai/mlip-arena"
|
36 |
+
Issues = "https://github.com/atomind-ai/mlip-arena/issues"
|
37 |
+
|
38 |
+
[tool.ruff]
|
39 |
+
# Enable the pycodestyle (`E`) and Pyflakes (`F`) rules by default.
|
40 |
+
# Unlike Flake8, Ruff doesn't enable pycodestyle warnings (`W`) or
|
41 |
+
# McCabe complexity (`C901`) by default.
|
42 |
+
select = [
|
43 |
+
"I", # isort
|
44 |
+
"ICN", # flake8-import-conventions
|
45 |
+
"ISC", # flake8-implicit-str-concat
|
46 |
+
"PD", # pandas-vet
|
47 |
+
"SIM", # flake8-simplify
|
48 |
+
"SLOT", # flake8-slots
|
49 |
+
"TCH", # flake8-type-checking
|
50 |
+
"TID", # flake8-tidy-imports
|
51 |
+
"UP", # pyupgrade
|
52 |
+
]
|
53 |
+
ignore = []
|