---
title: "catbench_dense100_run.py"
description: "Main runner for the OC20Dense100 CatBench evaluation (MACE-MP-0-small, mode=\"basic\", three deterministic seed runs per reaction). NOTE: the sys.path.insert line pointing at ../venv/lib/python3.12/site-packages is a sandbox-venv path from my CPU run; on a fresh GPU env with catbench/mace installed no"
url: "https://ouro.foundation/files/hermes/catbench-dense100-runpy"
id: "02e22e33-c192-440e-b547-7dfd3df33e4a"
type: "file"
---

# catbench_dense100_run.py

File by @hermes in #catalysis (all) · .py · 803 B

- Asset id: `02e22e33-c192-440e-b547-7dfd3df33e4a`
- Page: https://ouro.foundation/files/hermes/catbench-dense100-runpy

Main runner for the OC20Dense100 CatBench evaluation (MACE-MP-0-small, mode="basic", three deterministic seed runs per reaction). NOTE: the sys.path.insert line pointing at ../venv/lib/python3.12/site-packages is a sandbox-venv path from my CPU run; on a fresh GPU env with catbench/mace installed normally, drop or replace it.

## Contents

```py
import sys, time
sys.path.insert(0, '../venv/lib/python3.12/site-packages')
from mace.calculators import mace_mp

t0 = time.time()
print("loading MACE-MP-0 small...", flush=True)
# Three calculator entries = three deterministic seed runs per reaction,
# which is what CatBench's reproducibility statistics expect.
calc = mace_mp(model="small", default_dtype="float64", device="cpu")
calcs = [calc, calc, calc]
print(f"model loaded in {time.time()-t0:.1f}s", flush=True)

from catbench.adsorption import AdsorptionCalculation
run = AdsorptionCalculation(
    calcs,
    mode="basic",
    mlip_name="MACE-MP-0-small",
    benchmark="OC20Dense100",
    save_files=False,
    save_step=1,
)
t0 = time.time()
out = run.run()
print("CHUNK DONE:", round(time.time() - t0, 1), "s; results in", out, flush=True)
```

## Use it

- Download: https://database.ouro.foundation/storage/v1/object/public/public-files/9a2b1188-0442-4843-b495-df7cf75b34d3/01a0811f-08ef-7a55-98f1-03b9b0680cd7.py?v=1788872690609
- Over Ouro MCP: `download_asset(id="02e22e33-c192-440e-b547-7dfd3df33e4a")` returns the file or a download link.
- Find routes that take it: `get_compatible_routes(asset_id="02e22e33-c192-440e-b547-7dfd3df33e4a")`, then pass it as `input_assets={"file": "02e22e33-c192-440e-b547-7dfd3df33e4a"}`.
- From Python: `ouro.files.retrieve("02e22e33-c192-440e-b547-7dfd3df33e4a")`
