cyrusyc commited on
Commit
e473a42
1 Parent(s): f040ab7

add streamlit metadata

Browse files
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
- from ase import Atoms
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 ase import Atoms
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="atomind_mlip"
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 = []