Spaces:
Running
Running
File size: 1,802 Bytes
056d8d3 d390139 b3722a8 d390139 b3722a8 3b3aaa9 056d8d3 b3722a8 49d0cfc b3722a8 49d0cfc 056d8d3 b3722a8 49d0cfc 056d8d3 49d0cfc b3722a8 49d0cfc b3722a8 49d0cfc b3722a8 49d0cfc 056d8d3 49d0cfc b3722a8 056d8d3 b3722a8 49d0cfc b3722a8 49d0cfc |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
from pathlib import Path
import yaml
from huggingface_hub import HfApi, HfFileSystem, hf_hub_download
from mlip_arena.models import MLIP
from mlip_arena.models import REGISTRY as MODEL_REGISTRY
from .run import md as MD
__all__ = ["MD"]
with open(Path(__file__).parent / "registry.yaml") as f:
REGISTRY = yaml.safe_load(f)
class Task:
def __init__(self):
self.name: str = self.__class__.__name__ # display name on the leaderboard
def run_local(self, model: MLIP):
"""Run the task using the given model and return the results."""
raise NotImplementedError
def run_hf(self, model: MLIP):
"""Run the task using the given model and return the results."""
raise NotImplementedError
# Calcualte evaluation metrics and postprocessed data
api = HfApi()
api.upload_file(
path_or_fileobj="results.json",
path_in_repo=f"{self.__class__.__name__}/{model.__class__.__name__}/results.json", # Upload to a specific folder
repo_id="atomind/mlip-arena",
repo_type="dataset",
)
def run_nersc(self, model: MLIP):
"""Run the task using the given model and return the results."""
raise NotImplementedError
def get_results(self):
"""Get the results from the task."""
# fs = HfFileSystem()
# files = fs.glob(f"datasets/atomind/mlip-arena/{self.__class__.__name__}/*/*.json")
for model, metadata in MODEL_REGISTRY.items():
results = hf_hub_download(
repo_id="atomind/mlip-arena",
filename="results.json",
subfolder=f"{self.__class__.__name__}/{model}",
repo_type="dataset",
revision=None,
)
return results
|