oc20
收藏资源简介:
<p align="center"> <strong> <span style="font-size: 30px;">OC20</span> </strong> </p> ## 数据集介绍 OC20 是面向 `OneScience/UMA` 微调的 Open Catalyst 2020 (OC20) S2EF(Structure to Energy and Forces)extxyz 子集。字段与 UMA OC20 配置中的能量、受力字段一致,可用于催化材料表面吸附构型的机器学习原子间势微调、验证和测试。 本仓库当前包含两个 split: - `s2ef_200k_uncompressed`:训练子集,2 个分片,共 10000 帧,每帧 8–221 个原子。 - `s2ef_val_id_uncompressed`:验证子集(in-distribution),4 个分片,共 20000 帧,每帧 8–223 个原子。 原始数据来自 [Open Catalyst Project / fair-chem OC20](https://fair-chem.github.io/oc20/),本仓库是其面向 OneScience UMA 微调示例的配套数据包。 ## 仓库说明 本数据集适配 `OneScience/UMA`,用于催化任务(如 `matchem/uma/oc20`)的微调示例路径。供模型使用时,推荐放到模型包根目录下的 `data/oc20/`。 ## 文件说明 ### 数据下载 ```bash modelscope download --dataset OneScience/oc20 --local_dir session_workdir ``` ### 数据文件 数据文件位于 `data/oc20/` 目录下: | 数据 | 格式 | 说明 | |---|---|---| | 训练集 | extxyz | `s2ef_200k_uncompressed/`,2 个分片(`0.extxyz`、`1.extxyz`),共 10000 帧 | | 验证集 | extxyz | `s2ef_val_id_uncompressed/`,4 个分片(`0.extxyz`–`3.extxyz`),共 20000 帧 | | 数据结构说明 | YAML | `metadata/schema.yaml` | | 校验清单 | SHA256 | `metadata/sha256_manifest.txt` | ### 数据格式 数据格式为 extxyz。每个构型由原子数行、comment 行和原子行组成。comment 行包含 `Lattice`、`Properties`、`energy`、`free_energy` 和 `pbc`。原子行包含元素、坐标、`move_mask`、`tags` 和 `forces`。 | 字段 | 说明 | |---|---| | `species` | 元素符号,覆盖多种金属、非金属元素 | | `pos` | 原子坐标,shape `[num_atoms, 3]`,单位 Å | | `move_mask` | 原子是否可移动,`T` 或 `F` | | `tags` | 原子标签,用于区分吸附质、表面、次表面等 | | `forces` | 原子受力,shape `[num_atoms, 3]`,单位 eV/Å | | `energy` | 构型总能量,单位 eV | | `free_energy` | 构型自由能,单位 eV | | `pbc` | 周期边界条件 | | `Lattice` | 周期盒矩阵 | ## 数据放置与验证 模型默认数据路径: ```text <MODEL_REPO_ROOT>/data/oc20/ ``` 核心目录包括: ```text data/oc20/s2ef_200k_uncompressed/ data/oc20/s2ef_val_id_uncompressed/ ``` 验证命令: ```bash python scripts/validate_oc20.py --dataset-root data/oc20 --checksum-manifest metadata/sha256_manifest.txt ``` ## 使用说明(支持的OneScience模型) 本数据集适配 `OneScience/UMA` 微调。 UMA 微调前需要将 `.extxyz` 转换为 ASE-lmdb 格式。在 UMA 模型包中执行: ```bash python scripts/create_uma_finetune_dataset.py \ --train-dir data/oc20/s2ef_200k_uncompressed \ --val-dir data/oc20/s2ef_val_id_uncompressed \ --uma-task oc20 \ --regression-tasks ef \ --output-dir data/oc20_finetune \ --num-workers 8 ``` 转换后生成: ```text data/oc20_finetune/ ├── train/ # ASE-lmdb 训练数据 ├── val/ # ASE-lmdb 验证数据 └── data/ └── uma_conserving_data_task_energy_force.yaml ``` 然后用 `scripts/update_demo_config.py` 把生成的 `elem_refs`、`normalizer_rmsd` 和数据路径更新到 demo 配置文件: ```bash python scripts/update_demo_config.py --demo-config demo/configs/oc20_ef_4dcu.yaml ``` ## OneScience 官方信息 | 平台 | OneScience 主仓库 | Skills 仓库 | |---|---|---| | Gitee | https://gitee.com/onescience-ai/onescience | https://gitee.com/onescience-ai/oneskills | | GitHub | https://github.com/onescience-ai/OneScience | https://github.com/onescience-ai/oneskills | ## 引用与许可证 本数据集是 `OneScience/UMA` 微调示例的配套数据,没有生成新样本或改变原始数据内容。原始数据许可证遵循 Open Catalyst / OC20 的 [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0)。使用限制和许可证以原始 OC20 数据来源、OneScience 仓库和 ModelScope 页面说明为准。 原始 OC20 数据及引用信息请参考 [fair-chem.github.io/oc20](https://fair-chem.github.io/oc20/)。使用 OC20 数据集时请引用原始 Open Catalyst 论文: - Chanussot, L.; Das, A.; Goyal, S.; Lavril, T.; Shuaibi, M.; Riviere, M.; Tran, K.; Heras-Domingo, J.; Ho, C.; Hu, W.; Palizhati, A.; Sriram, A.; Wood, B.; Yoon, J.; Parikh, D.; Zitnick, C. L.; Ulissi, Z. Open Catalyst 2020 (OC20) Dataset and Community Challenges. *ACS Catal.* **2021**, *11* (10), 6059–6072. https://doi.org/10.1021/acscatal.0c04525



