[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-ACEsuit--mace":3,"tool-ACEsuit--mace":65},[4,23,32,40,49,57],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":22},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,2,"2026-04-05T10:45:23",[13,14,15,16,17,18,19,20,21],"图像","数据工具","视频","插件","Agent","其他","语言模型","开发框架","音频","ready",{"id":24,"name":25,"github_repo":26,"description_zh":27,"stars":28,"difficulty_score":29,"last_commit_at":30,"category_tags":31,"status":22},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,3,"2026-04-04T04:44:48",[17,13,20,19,18],{"id":33,"name":34,"github_repo":35,"description_zh":36,"stars":37,"difficulty_score":29,"last_commit_at":38,"category_tags":39,"status":22},519,"PaddleOCR","PaddlePaddle\u002FPaddleOCR","PaddleOCR 是一款基于百度飞桨框架开发的高性能开源光学字符识别工具包。它的核心能力是将图片、PDF 等文档中的文字提取出来，转换成计算机可读取的结构化数据，让机器真正“看懂”图文内容。\n\n面对海量纸质或电子文档，PaddleOCR 解决了人工录入效率低、数字化成本高的问题。尤其在人工智能领域，它扮演着连接图像与大型语言模型（LLM）的桥梁角色，能将视觉信息直接转化为文本输入，助力智能问答、文档分析等应用场景落地。\n\nPaddleOCR 适合开发者、算法研究人员以及有文档自动化需求的普通用户。其技术优势十分明显：不仅支持全球 100 多种语言的识别，还能在 Windows、Linux、macOS 等多个系统上运行，并灵活适配 CPU、GPU、NPU 等各类硬件。作为一个轻量级且社区活跃的开源项目，PaddleOCR 既能满足快速集成的需求，也能支撑前沿的视觉语言研究，是处理文字识别任务的理想选择。",74939,"2026-04-05T23:16:38",[19,13,20,18],{"id":41,"name":42,"github_repo":43,"description_zh":44,"stars":45,"difficulty_score":46,"last_commit_at":47,"category_tags":48,"status":22},3215,"awesome-machine-learning","josephmisiti\u002Fawesome-machine-learning","awesome-machine-learning 是一份精心整理的机器学习资源清单，汇集了全球优秀的机器学习框架、库和软件工具。面对机器学习领域技术迭代快、资源分散且难以甄选的痛点，这份清单按编程语言（如 Python、C++、Go 等）和应用场景（如计算机视觉、自然语言处理、深度学习等）进行了系统化分类，帮助使用者快速定位高质量项目。\n\n它特别适合开发者、数据科学家及研究人员使用。无论是初学者寻找入门库，还是资深工程师对比不同语言的技术选型，都能从中获得极具价值的参考。此外，清单还延伸提供了免费书籍、在线课程、行业会议、技术博客及线下聚会等丰富资源，构建了从学习到实践的全链路支持体系。\n\n其独特亮点在于严格的维护标准：明确标记已停止维护或长期未更新的项目，确保推荐内容的时效性与可靠性。作为机器学习领域的“导航图”，awesome-machine-learning 以开源协作的方式持续更新，旨在降低技术探索门槛，让每一位从业者都能高效地站在巨人的肩膀上创新。",72149,1,"2026-04-03T21:50:24",[20,18],{"id":50,"name":51,"github_repo":52,"description_zh":53,"stars":54,"difficulty_score":46,"last_commit_at":55,"category_tags":56,"status":22},2234,"scikit-learn","scikit-learn\u002Fscikit-learn","scikit-learn 是一个基于 Python 构建的开源机器学习库，依托于 SciPy、NumPy 等科学计算生态，旨在让机器学习变得简单高效。它提供了一套统一且简洁的接口，涵盖了从数据预处理、特征工程到模型训练、评估及选择的全流程工具，内置了包括线性回归、支持向量机、随机森林、聚类等在内的丰富经典算法。\n\n对于希望快速验证想法或构建原型的数据科学家、研究人员以及 Python 开发者而言，scikit-learn 是不可或缺的基础设施。它有效解决了机器学习入门门槛高、算法实现复杂以及不同模型间调用方式不统一的痛点，让用户无需重复造轮子，只需几行代码即可调用成熟的算法解决分类、回归、聚类等实际问题。\n\n其核心技术亮点在于高度一致的 API 设计风格，所有估算器（Estimator）均遵循相同的调用逻辑，极大地降低了学习成本并提升了代码的可读性与可维护性。此外，它还提供了强大的模型选择与评估工具，如交叉验证和网格搜索，帮助用户系统地优化模型性能。作为一个由全球志愿者共同维护的成熟项目，scikit-learn 以其稳定性、详尽的文档和活跃的社区支持，成为连接理论学习与工业级应用的最",65628,"2026-04-05T10:10:46",[20,18,14],{"id":58,"name":59,"github_repo":60,"description_zh":61,"stars":62,"difficulty_score":10,"last_commit_at":63,"category_tags":64,"status":22},3364,"keras","keras-team\u002Fkeras","Keras 是一个专为人类设计的深度学习框架，旨在让构建和训练神经网络变得简单直观。它解决了开发者在不同深度学习后端之间切换困难、模型开发效率低以及难以兼顾调试便捷性与运行性能的痛点。\n\n无论是刚入门的学生、专注算法的研究人员，还是需要快速落地产品的工程师，都能通过 Keras 轻松上手。它支持计算机视觉、自然语言处理、音频分析及时间序列预测等多种任务。\n\nKeras 3 的核心亮点在于其独特的“多后端”架构。用户只需编写一套代码，即可灵活选择 TensorFlow、JAX、PyTorch 或 OpenVINO 作为底层运行引擎。这一特性不仅保留了 Keras 一贯的高层易用性，还允许开发者根据需求自由选择：利用 JAX 或 PyTorch 的即时执行模式进行高效调试，或切换至速度最快的后端以获得最高 350% 的性能提升。此外，Keras 具备强大的扩展能力，能无缝从本地笔记本电脑扩展至大规模 GPU 或 TPU 集群，是连接原型开发与生产部署的理想桥梁。",63927,"2026-04-04T15:24:37",[20,14,18],{"id":66,"github_repo":67,"name":68,"description_en":69,"description_zh":70,"ai_summary_zh":70,"readme_en":71,"readme_zh":72,"quickstart_zh":73,"use_case_zh":74,"hero_image_url":75,"owner_login":76,"owner_name":76,"owner_avatar_url":77,"owner_bio":78,"owner_company":78,"owner_location":78,"owner_email":78,"owner_twitter":78,"owner_website":78,"owner_url":79,"languages":80,"stars":89,"forks":90,"last_commit_at":91,"license":92,"difficulty_score":10,"env_os":93,"env_gpu":94,"env_ram":95,"env_deps":96,"category_tags":106,"github_topics":78,"view_count":10,"oss_zip_url":78,"oss_zip_packed_at":78,"status":22,"created_at":107,"updated_at":108,"faqs":109,"releases":110},3735,"ACEsuit\u002Fmace","mace","MACE - Fast and accurate machine learning interatomic potentials with higher order equivariant message passing.","MACE 是一款专为材料科学与化学领域设计的高效机器学习工具，旨在构建快速且高精度的原子间势函数。它主要解决了传统量子力学计算（如密度泛函理论）在模拟大规模原子系统时计算成本过高、速度过慢的难题，同时克服了早期机器学习模型在复杂几何结构下精度不足的局限。\n\n通过引入“高阶等变消息传递”这一核心技术，MACE 能够更敏锐地捕捉原子间的三维空间相互作用，确保模型在旋转和平移变换下保持物理一致性，从而在分子动力学模拟中实现接近量子力学的精度与极快的推理速度。该工具特别适合计算化学家、材料科学研究人员以及相关领域的开发者使用，帮助他们高效探索新材料特性或模拟复杂的化学反应过程。\n\n除了支持从零训练，MACE 还提供了基于 Materials Project 等大数据集预训练的通用基础模型，用户可直接调用或进行微调，大幅降低了高质量势函数的使用门槛。无论是需要高精度科研模拟的研究者，还是希望加速材料发现流程的工程团队，MACE 都是一个强大且易用的开源选择。","# \u003Cspan style=\"font-size:larger;\">MACE\u003C\u002Fspan>\n\n[![GitHub release](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Frelease\u002FACEsuit\u002Fmace.svg)](https:\u002F\u002FGitHub.com\u002FACEsuit\u002Fmace\u002Freleases\u002F)\n[![Paper](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPaper-NeurIPs2022-blue)](https:\u002F\u002Fopenreview.net\u002Fforum?id=YPpSngE-ZU)\n[![License](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT%202.0-blue.svg)](https:\u002F\u002Fopensource.org\u002Flicenses\u002Fmit)\n[![GitHub issues](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fissues\u002FACEsuit\u002Fmace.svg)](https:\u002F\u002FGitHub.com\u002FACEsuit\u002Fmace\u002Fissues\u002F)\n[![Documentation Status](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FACEsuit_mace_readme_13d664e1afd7.png)](https:\u002F\u002Fmace-docs.readthedocs.io\u002Fen\u002Flatest\u002F)\n[![DOI](https:\u002F\u002Fzenodo.org\u002Fbadge\u002F505964914.svg)](https:\u002F\u002Fdoi.org\u002F10.5281\u002Fzenodo.14103332)\n\n## Table of contents\n\n- [MACE](#mace)\n  - [Table of contents](#table-of-contents)\n  - [About MACE](#about-mace)\n  - [Documentation](#documentation)\n  - [Installation](#installation)\n    - [pip installation](#installation-from-pypi)\n    - [pip installation from source](#installation-from-source)\n  - [Usage](#usage)\n    - [Training](#training)\n    - [Evaluation](#evaluation)\n  - [Tutorials](#tutorials)\n  - [CUDA acceleration with cuEquivariance](#cuda-acceleration-with-cuequivariance)\n  - [Weights and Biases for experiment tracking](#weights-and-biases-for-experiment-tracking)\n  - [Pretrained Foundation Models](#pretrained-foundation-models)\n    - [MACE-MP: Materials Project Force Fields](#mace-mp-materials-project-force-fields)\n      - [Example usage in ASE](#example-usage-in-ase)\n    - [MACE-OFF: Transferable Organic Force Fields](#mace-off-transferable-organic-force-fields)\n      - [Example usage in ASE](#example-usage-in-ase-1)\n    - [MACE-Polar: Electrostatics foundation models](#mace-polar-electrostatics-foundation-models)\n    - [Finetuning foundation models](#finetuning-foundation-models)\n    - [Latest recommended foundation models](#latest-recommended-foundation-models)\n  - [Caching](#caching)\n  - [Development](#development)\n  - [References](#references)\n  - [Contact](#contact)\n  - [License](#license)\n\n## About MACE\n\nMACE provides fast and accurate machine learning interatomic potentials with higher order equivariant message passing.\n\nThis repository contains the MACE reference implementation developed by\nIlyes Batatia, Gregor Simm, David Kovacs, and the group of Gabor Csanyi, and friends (see Contributors).\n\nAlso available:\n\n- [MACE in JAX](https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace-jax), currently about 2x times faster at evaluation, but training is recommended in Pytorch for optimal performances.\n- [MACE layers](https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace-layer) for constructing higher order equivariant graph neural networks for arbitrary 3D point clouds.\n\n## Documentation\n\nA partial documentation is available at: https:\u002F\u002Fmace-docs.readthedocs.io\n\n## Installation\n\n### 1. Requirements\n\n- Python >= 3.8  (for openMM, use Python = 3.9)\n- [PyTorch](https:\u002F\u002Fpytorch.org\u002F) >= 1.12 **(training with float64 is not supported with PyTorch 2.1 but is supported with 2.2 and later, Pytorch 2.4.1 is not supported)**\n\n**Make sure to install PyTorch.** Please refer to the [official PyTorch installation](https:\u002F\u002Fpytorch.org\u002Fget-started\u002Flocally\u002F) for the installation instructions. Select the appropriate options for your system.\n\n### Installation from PyPI\n\nThis is the recommended way to install MACE.\n\n```sh\npip install --upgrade pip\npip install mace-torch\n```\n\n**Note:** The homonymous package on [PyPI](https:\u002F\u002Fpypi.org\u002Fproject\u002FMACE\u002F) has nothing to do with this one.\n\n### Installation from source\n\n```sh\ngit clone https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace.git\npip install .\u002Fmace\n```\n\n## Usage\n\n### Training\n\nTo train a MACE model, you can use the `mace_run_train` script, which should be in the usual place that pip places binaries (or you can explicitly run `python3 \u003Cpath_to_cloned_dir>\u002Fmace\u002Fcli\u002Frun_train.py`)\n\n```sh\nmace_run_train \\\n    --name=\"MACE_model\" \\\n    --train_file=\"train.xyz\" \\\n    --valid_fraction=0.05 \\\n    --test_file=\"test.xyz\" \\\n    --config_type_weights='{\"Default\":1.0}' \\\n    --E0s='{1:-13.663181292231226, 6:-1029.2809654211628, 7:-1484.1187695035828, 8:-2042.0330099956639}' \\\n    --model=\"MACE\" \\\n    --hidden_irreps='128x0e + 128x1o' \\\n    --r_max=5.0 \\\n    --batch_size=10 \\\n    --max_num_epochs=1500 \\\n    --stage_two \\\n    --start_stage_two=1200 \\\n    --ema \\\n    --ema_decay=0.99 \\\n    --amsgrad \\\n    --restart_latest \\\n    --device=cuda \\\n```\n\nTo give a specific validation set, use the argument `--valid_file`. To set a larger batch size for evaluating the validation set, specify `--valid_batch_size`.\n\nTo control the model's size, you need to change `--hidden_irreps`. For most applications, the recommended default model size is `--hidden_irreps='256x0e'` (meaning 256 invariant messages) or `--hidden_irreps='128x0e + 128x1o'`. If the model is not accurate enough, you can include higher order features, e.g., `128x0e + 128x1o + 128x2e`, or increase the number of channels to `256`. It is also possible to specify the model using the     `--num_channels=128` and `--max_L=1`keys.\n\nIt is usually preferred to add the isolated atoms to the training set, rather than reading in their energies through the command line like in the example above. To label them in the training set, set `config_type=IsolatedAtom` in their info fields. \n\nWhen training a model from scratch, if you prefer not to use or do not know the energies of the isolated atoms, you can use the option `--E0s=\"average\"` which estimates the atomic energies using least squares regression. Note that using fitted E0s corresponds to fitting the deviations of the atomic energies from the average, rather than fitting the atomization energy (which is the case when using isolated-atom E0s), and this will most likely result in less stable potentials for molecular dynamics applications.\n\nWhen finetuning foundation models, you can use `--E0s=\"estimated\"`, which estimates the atomic reference energies by solving a linear system that optimally corrects the foundation model's predictions on the training data. This approach computes E0 corrections by first running the foundation model on all training configurations, computing the prediction errors (reference energies minus predicted energies), and then solving a least-squares system to find optimal E0 corrections for each element. This is preferable in general over the 'average' option. \n\nIf the keyword `--stage_two` (previously called swa) is enabled, the energy weight of the loss is increased for the last ~20% of the training epochs (from `--start_stage_two` epochs). This setting usually helps lower the energy errors.\n\nThe precision can be changed using the keyword `--default_dtype`, the default is `float64` but `float32` gives a significant speed-up (usually a factor of x2 in training).\n\nThe keywords `--batch_size` and `--max_num_epochs` should be adapted based on the size of the training set. The batch size should be increased when the number of training data increases, and the number of epochs should be decreased. An heuristic for initial settings, is to consider the number of gradient update constant to 200 000, which can be computed as $\\text{max-num-epochs}*\\frac{\\text{num-configs-training}}{\\text{batch-size}}$.\n\nThe code can handle training set with heterogeneous labels, for example containing both bulk structures with stress and isolated molecules. In this example, to make the code ignore stress on molecules, append to your molecules configuration a `config_stress_weight = 0.0`.\n\nBy default, a figure displaying the progression of loss and RMSEs during training, along with a scatter plot of the model's inferences on the train, validation, and test sets, will be generated in the results folder at the end of training. This can be disabled using `--plot False`. To track these metrics throughout training (excluding inference on the test set), you can enable periodic plotting for the train and validation sets by specifying `--plot_frequency N`, which updates the plots every Nth epoch.\n\n#### Apple Silicon GPU acceleration\n\nTo use Apple Silicon GPU acceleration make sure to install the latest PyTorch version and specify `--device=mps`.\n\n#### Multi-GPU training\n\nFor multi-GPU training, use the `--distributed` flag. This will use PyTorch's DistributedDataParallel module to train the model on multiple GPUs. Combine with on-line data loading for large datasets (see below). An example slurm script can be found in `mace\u002Fscripts\u002Fdistributed_example.sbatch`.\n\n#### YAML configuration\n\nOption to parse all or some arguments using a YAML is available. For example, to train a model using the arguments above, you can create a YAML file `your_configs.yaml` with the following content:\n\n```yaml\nname: nacl\nseed: 2024\ntrain_file: train.xyz\nstage_two: yes\nstart_stage_two: 1200\nmax_num_epochs: 1500\ndevice: cpu\ntest_file: test.xyz\nE0s:\n  41: -1029.2809654211628\n  38: -1484.1187695035828\n  8: -2042.0330099956639\nconfig_type_weights:\n  Default: 1.0\n\n```\n\nAnd append to the command line `--config=\"your_configs.yaml\"`. Any argument specified in the command line will overwrite the one in the YAML file.\n\n### Evaluation\n\nTo evaluate your MACE model on an XYZ file, run the `mace_eval_configs`:\n\n```sh\nmace_eval_configs \\\n    --configs=\"your_configs.xyz\" \\\n    --model=\"your_model.model\" \\\n    --output=\".\u002Fyour_output.xyz\"\n```\n\n## Tutorials\n\nYou can run our [Colab tutorial](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1D6EtMUjQPey_GkuxUAbPgld6_9ibIa-V?authuser=1#scrollTo=Z10787RE1N8T) to quickly get started with MACE.\n\nWe also have a more detailed Colab tutorials on:\n\n- [Introduction to MACE training and evaluation](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1ZrTuTvavXiCxTFyjBV4GqlARxgFwYAtX)\n- [Introduction to MACE active learning and fine-tuning](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1oCSVfMhWrqHTeHbKgUSQN9hTKxLzoNyb)\n- [MACE theory and code (advanced)](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1AlfjQETV_jZ0JQnV5M3FGwAM2SGCl2aU)\n\n## CUDA acceleration with cuEquivariance\n\nMACE supports CUDA acceleration with the cuEquivariance library. To install the library and use the acceleration, see our documentation at https:\u002F\u002Fmace-docs.readthedocs.io\u002Fen\u002Flatest\u002Fguide\u002Fcuda_acceleration.html.\n\n## On-line data loading for large datasets\n\nIf you have a large dataset that might not fit into the GPU memory it is recommended to preprocess the data on a CPU and use on-line dataloading for training the model. To preprocess your dataset specified as an xyz file run the `preprocess_data.py` script. An example is given here:\n\n```sh\nmkdir processed_data\npython .\u002Fmace\u002Fscripts\u002Fpreprocess_data.py \\\n    --train_file=\"\u002Fpath\u002Fto\u002Ftrain_large.xyz\" \\\n    --valid_fraction=0.05 \\\n    --test_file=\"\u002Fpath\u002Fto\u002Ftest_large.xyz\" \\\n    --atomic_numbers=\"[1, 6, 7, 8, 9, 15, 16, 17, 35, 53]\" \\\n    --r_max=4.5 \\\n    --h5_prefix=\"processed_data\u002F\" \\\n    --compute_statistics \\\n    --E0s=\"average\" \\\n    --seed=123 \\\n```\n\nTo see all options and a little description of them run `python .\u002Fmace\u002Fscripts\u002Fpreprocess_data.py --help` . The script will create a number of HDF5 files in the `processed_data` folder which can be used for training. There will be one folder for training, one for validation and a separate one for each `config_type` in the test set. To train the model use the `run_train.py` script as follows:\n\n```sh\npython .\u002Fmace\u002Fscripts\u002Frun_train.py \\\n    --name=\"MACE_on_big_data\" \\\n    --num_workers=16 \\\n    --train_file=\".\u002Fprocessed_data\u002Ftrain.h5\" \\\n    --valid_file=\".\u002Fprocessed_data\u002Fvalid.h5\" \\\n    --test_dir=\".\u002Fprocessed_data\" \\\n    --statistics_file=\".\u002Fprocessed_data\u002Fstatistics.json\" \\\n    --model=\"ScaleShiftMACE\" \\\n    --num_interactions=2 \\\n    --num_channels=128 \\\n    --max_L=1 \\\n    --correlation=3 \\\n    --batch_size=32 \\\n    --valid_batch_size=32 \\\n    --max_num_epochs=100 \\\n    --stage_two \\\n    --start_stage_two=60 \\\n    --ema \\\n    --ema_decay=0.99 \\\n    --amsgrad \\\n    --error_table='PerAtomMAE' \\\n    --device=cuda \\\n    --seed=123 \\\n```\n\n## Weights and Biases for experiment tracking\n\nIf you would like to use MACE with Weights and Biases to log your experiments simply install with\n\n```sh\npip install .\u002Fmace[wandb]\n```\n\nAnd specify the necessary keyword arguments (`--wandb`, `--wandb_project`, `--wandb_entity`, `--wandb_name`, `--wandb_log_hypers`)\n\n## Pretrained Foundation Models\n\nWe provide a series of pretrained foundation models for various applications. These models can be used directly for inference, or as a starting point for fine-tuning on a new dataset.\nFoundation models are a rapidly evolving field. Please look at the [MACE-MP GitHub repository](https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace-foundations\u002Freleases) and the [MACE-OFF23 GitHub repository](https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace-off\u002Freleases) for the latest releases.\n\n### Latest Recommended Foundation Models\n\n| Model Name           | Elements Covered | Training Dataset | Level of Theory     | Target System     | Model Size                                                                                                                                                                                                                                                                                                                                                                        | GitHub Release | Notes                                                              | License |\n| -------------------- | ---------------- | ---------------- | ------------------- | ----------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------- | ------------------------------------------------------------------ | ------- |\n| MACE-MP-0a           | 89               | MPTrj            | DFT (PBE+U)         | Materials         | [small](https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace-foundations\u002Freleases\u002Fdownload\u002Fmace_mp_0\u002F2023-12-10-mace-128-L0_energy_epoch-249.model), [medium](https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace-foundations\u002Freleases\u002Fdownload\u002Fmace_mp_0\u002F2023-12-03-mace-128-L1_epoch-199.model), [large](https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace-foundations\u002Freleases\u002Fdownload\u002Fmace_mp_0\u002F2024-01-07-mace-128-L2_epoch-199.model) | >=v0.3.6       | Initial release of foundation model.                               | MIT     |\n| MACE-MP-0b3          | 89               | MPTrj            | DFT (PBE+U)         | Materials         | [medium](https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace-foundations\u002Freleases\u002Fdownload\u002Fmace_mp_0b3\u002Fmace-mp-0b3-medium.model)                                                                                                                                                                                                                                                                      | >=v0.3.10      | Improved high pressure stability and reference energies.           | MIT     |\n| MACE-MPA-0           | 89               | MPTrj + sAlex    | DFT (PBE+U)         | Materials         | [medium-mpa-0](https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace-foundations\u002Freleases\u002Fdownload\u002Fmace_mpa_0\u002Fmace-mpa-0-medium.model)                                                                                                                                                                                                                                                                  | >=v0.3.10      | Improved accuracy for materials, improved high pressure stability. | MIT     |\n| MACE-OMAT-0          | 89               | OMAT             | DFT (PBE+U) VASP 54 | Materials         | [medium-omat-0](https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace-foundations\u002Freleases\u002Fdownload\u002Fmace_omat_0\u002Fmace-omat-0-medium.model)                                                                                                                                                                                                                                                               | >=v0.3.10      |                                                                    | ASL     |\n| MACE-OFF23           | 10               | SPICE v1         | DFT (wB97M+D3)      | Organic Chemistry | [small](https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace-off\u002Fblob\u002Fmain\u002Fmace_off23\u002FMACE-OFF23_small.model), [medium](https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace-off\u002Fblob\u002Fmain\u002Fmace_off23\u002FMACE-OFF23_medium.model), [large](https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace-off\u002Fblob\u002Fmain\u002Fmace_off23\u002FMACE-OFF23_large.model)                                                                                                    | >=v0.3.6       | Initial release covering neutral organic chemistry.                | ASL     |\n| MACE-MATPES-PBE-0    | 89               | MATPES-PBE       | DFT (PBE)           | Materials         | [medium](https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace-foundations\u002Freleases\u002Fdownload\u002Fmace_matpes_0\u002FMACE-matpes-pbe-omat-ft.model)                                                                                                                                                                                                                                                               | >=v0.3.10      | No +U correction.                                                  | ASL     |\n| MACE-MATPES-r2SCAN-0 | 89               | MATPES-r2SCAN    | DFT (r2SCAN)        | Materials         | [medium](https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace-foundations\u002Freleases\u002Fdownload\u002Fmace_matpes_0\u002FMACE-matpes-r2scan-omat-ft.model)                                                                                                                                                                                                                                                            | >=v0.3.10      | Better functional for materials.                                   | ASL     |\n| MACE-OMOL-0 | 89               | OMOL    | DFT (wB97M-VV10)        | Molecules\u002FTransition metals\u002FCations         | [large](https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace-foundations\u002Freleases\u002Fdownload\u002Fmace_omol_0\u002FMACE-omol-0-extra-large-1024.model)                                                                                                                                                                                                                                                           | >=v0.3.14      | Charge\u002FSpin embedding, very good molecular accuracy.                                   | ASL     |\n| MACE-MH-0\u002F1 | 89               | OMAT\u002FOMOL\u002FOC20\u002FMATPES    | DFT (PBE\u002FR2SCAN\u002FwB97M-VV10)        | Inorganic crystals, molecules and surfaces. [More info.](https:\u002F\u002Fhuggingface.co\u002Fmace-foundations\u002Fmace-mh-1)         | [mh-0](https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace-foundations\u002Freleases\u002Fdownload\u002Fmace_mh_1\u002Fmace-mh-0.model) [mh-1](https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace-foundations\u002Freleases\u002Fdownload\u002Fmace_mh_1\u002Fmace-mh-1.model)                                                                                                                                                                                                                                                           | >=v0.3.14      | Very good cross domain performance on surfaces\u002Fbulk\u002Fmolecules.   | ASL     |\n\n\n### MACE-MP: Materials Project Force Fields\n\nWe have collaborated with the Materials Project (MP) to train a universal MACE potential covering 89 elements on 1.6 M bulk crystals in the [MPTrj dataset](https:\u002F\u002Ffigshare.com\u002Farticles\u002Fdataset\u002F23713842) selected from MP relaxation trajectories.\nThe models are releaed on GitHub at https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace-foundations.\nIf you use them please cite [our paper](https:\u002F\u002Farxiv.org\u002Fabs\u002F2401.00096) which also contains an large range of example applications and benchmarks.\n\n> [!CAUTION]\n> The MACE-MP models are trained on MPTrj raw DFT energies from VASP outputs, and are not directly comparable to the MP's DFT energies or CHGNet's energies, which have been applied MP2020Compatibility corrections for some transition metal oxides, fluorides (GGA\u002FGGA+U mixing corrections), and 14 anions species (anion corrections). For more details, please refer to the [MP Documentation](https:\u002F\u002Fdocs.materialsproject.org\u002Fmethodology\u002Fmaterials-methodology\u002Fthermodynamic-stability\u002Fthermodynamic-stability\u002Fanion-and-gga-gga+u-mixing) and [MP2020Compatibility.yaml](https:\u002F\u002Fgithub.com\u002Fmaterialsproject\u002Fpymatgen\u002Fblob\u002Fmaster\u002Fpymatgen\u002Fentries\u002FMP2020Compatibility.yaml).\n\n#### Example usage in ASE\n\n```py\nfrom mace.calculators import mace_mp\nfrom ase import build\n\natoms = build.molecule('H2O')\ncalc = mace_mp(model=\"medium\", dispersion=False, default_dtype=\"float32\", device='cuda')\natoms.calc = calc\nprint(atoms.get_potential_energy())\n```\n\n### MACE-OFF: Transferable Organic Force Fields\n\nThere is a series (small, medium, large) transferable organic force fields. These can be used for the simulation of organic molecules, crystals and molecular liquids, or as a starting point for fine-tuning on a new dataset. The models are released under the [ASL license](https:\u002F\u002Fgithub.com\u002Fgabor1\u002FASL).\nThe models are releaed on GitHub at https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace-off.\nIf you use them please cite [our paper](https:\u002F\u002Farxiv.org\u002Fabs\u002F2312.15211) which also contains detailed benchmarks and example applications.\n\n#### Example usage in ASE\n\n```py\nfrom mace.calculators import mace_off\nfrom ase import build\n\natoms = build.molecule('H2O')\ncalc = mace_off(model=\"medium\", device='cuda')\natoms.calc = calc\nprint(atoms.get_potential_energy())\n```\n\n### MACE-Polar: Electrostatics foundation models\n\nPolarMACE checkpoints are electrostatics foundation models for molecular chemistry, trained on the OMol25 dataset.\nFor usage, outputs, and training\u002Ffinetuning details, see the PolarMACE guide:\n\n- https:\u002F\u002Fmace-docs.readthedocs.io\u002Fen\u002Flatest\u002Fguide\u002Fpolar_mace.html\n\n### Finetuning foundation models\n\nTo finetune one of the mace-mp-0 foundation model, you can use the `mace_run_train` script with the extra argument `--foundation_model=model_type`. For example to finetune the small model on a new dataset, you can use:\n\n```sh\nmace_run_train \\\n  --name=\"MACE\" \\\n  --foundation_model=\"small\" \\\n  --train_file=\"train.xyz\" \\\n  --valid_fraction=0.05 \\\n  --test_file=\"test.xyz\" \\\n  --energy_weight=1.0 \\\n  --forces_weight=1.0 \\\n  --E0s=\"average\" \\\n  --lr=0.01 \\\n  --scaling=\"rms_forces_scaling\" \\\n  --batch_size=2 \\\n  --max_num_epochs=6 \\\n  --ema \\\n  --ema_decay=0.99 \\\n  --amsgrad \\\n  --default_dtype=\"float32\" \\\n  --device=cuda \\\n  --seed=3\n```\n\nOther options are \"medium\" and \"large\", or the path to a foundation model.\nIf you want to finetune another model, the model will be loaded from the path provided `--foundation_model=$path_model`, all the hypers will be extracted automatically.\n\n## Caching\n\nBy default automatically downloaded models, like mace_mp, mace_off and data for fine tuning, end up in `~\u002F.cache\u002Fmace`. The path can be changed by using\nthe environment variable XDG_CACHE_HOME. When set, the new cache path expands to $XDG_CACHE_HOME\u002F.cache\u002Fmace\n\n## Development\n\nThis project uses [pre-commit](https:\u002F\u002Fpre-commit.com\u002F) to execute code formatting and linting on commit.\nWe also use `black`, `isort`, `pylint`, and `mypy`.\nWe recommend setting up your development environment by installing the `dev` packages\ninto your python environment:\n\n```bash\npip install -e \".[dev]\"\npre-commit install\n```\n\nThe second line will initialise `pre-commit` to automaticaly run code checks on commit.\nWe have CI set up to check this, but we _highly_ recommend that you run those commands\nbefore you commit (and push) to avoid accidentally committing bad code.\n\nWe are happy to accept pull requests under an [MIT license](https:\u002F\u002Fchoosealicense.com\u002Flicenses\u002Fmit\u002F). Please copy\u002Fpaste the license text as a comment into your pull request.\n\n## References\n\nIf you use this code, please cite our papers:\n\n```bibtex\n@inproceedings{Batatia2022mace,\n  title={{MACE}: Higher Order Equivariant Message Passing Neural Networks for Fast and Accurate Force Fields},\n  author={Ilyes Batatia and David Peter Kovacs and Gregor N. C. Simm and Christoph Ortner and Gabor Csanyi},\n  booktitle={Advances in Neural Information Processing Systems},\n  editor={Alice H. Oh and Alekh Agarwal and Danielle Belgrave and Kyunghyun Cho},\n  year={2022},\n  url={https:\u002F\u002Fopenreview.net\u002Fforum?id=YPpSngE-ZU}\n}\n\n@misc{Batatia2022Design,\n  title = {The Design Space of E(3)-Equivariant Atom-Centered Interatomic Potentials},\n  author = {Batatia, Ilyes and Batzner, Simon and Kov{\\'a}cs, D{\\'a}vid P{\\'e}ter and Musaelian, Albert and Simm, Gregor N. C. and Drautz, Ralf and Ortner, Christoph and Kozinsky, Boris and Cs{\\'a}nyi, G{\\'a}bor},\n  year = {2022},\n  number = {arXiv:2205.06643},\n  eprint = {2205.06643},\n  eprinttype = {arxiv},\n  doi = {10.48550\u002FarXiv.2205.06643},\n  archiveprefix = {arXiv}\n }\n```\n\n## Contact\n\nIf you have any questions, please contact us at ilyes.batatia@ens-paris-saclay.fr.\n\nFor bugs or feature requests, please use [GitHub Issues](https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fissues).\n\n## License\n\nThe MACE code is published and distributed under the [MIT License](MIT.md). (Note that some of the models linked above come with different licenses).\n","# \u003Cspan style=\"font-size:larger;\">MACE\u003C\u002Fspan>\n\n[![GitHub 发布](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Frelease\u002FACEsuit\u002Fmace.svg)](https:\u002F\u002FGitHub.com\u002FACEsuit\u002Fmace\u002Freleases\u002F)\n[![论文](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F论文-NeurIPS2022-blue)](https:\u002F\u002Fopenreview.net\u002Fforum?id=YPpSngE-ZU)\n[![许可证](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F许可证-MIT%202.0-blue.svg)](https:\u002F\u002Fopensource.org\u002Flicenses\u002FMIT)\n[![GitHub 问题](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fissues\u002FACEsuit\u002Fmace.svg)](https:\u002F\u002FGitHub.com\u002FACEsuit\u002Fmace\u002Fissues\u002F)\n[![文档状态](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FACEsuit_mace_readme_13d664e1afd7.png)](https:\u002F\u002Fmace-docs.readthedocs.io\u002Fen\u002Flatest\u002F)\n[![DOI](https:\u002F\u002Fzenodo.org\u002Fbadge\u002F505964914.svg)](https:\u002F\u002Fdoi.org\u002F10.5281\u002Fzenodo.14103332)\n\n## 目录\n\n- [MACE](#mace)\n  - [目录](#table-of-contents)\n  - [关于 MACE](#about-mace)\n  - [文档](#documentation)\n  - [安装](#installation)\n    - [通过 pip 安装](#installation-from-pypi)\n    - [从源码安装](#installation-from-source)\n  - [使用](#usage)\n    - [训练](#training)\n    - [评估](#evaluation)\n  - [教程](#tutorials)\n  - [使用 cuEquivariance 进行 CUDA 加速](#cuda-acceleration-with-cuequivariance)\n  - [Weights and Biases 用于实验跟踪](#weights-and-biases-for-experiment-tracking)\n  - [预训练的基础模型](#pretrained-foundation-models)\n    - [MACE-MP：材料项目力场](#mace-mp-materials-project-force-fields)\n      - [在 ASE 中的示例用法](#example-usage-in-ase)\n    - [MACE-OFF：可迁移的有机力场](#mace-off-transferable-organic-force-fields)\n      - [在 ASE 中的示例用法](#example-usage-in-ase-1)\n    - [MACE-Polar：静电基础模型](#mace-polar-electrostatics-foundation-models)\n    - [微调基础模型](#finetuning-foundation-models)\n    - [最新推荐的基础模型](#latest-recommended-foundation-models)\n  - [缓存](#caching)\n  - [开发](#development)\n  - [参考文献](#references)\n  - [联系方式](#contact)\n  - [许可证](#license)\n\n## 关于 MACE\n\nMACE 提供快速且精确的机器学习原子间势能函数，采用高阶等变消息传递机制。\n\n本仓库包含由 Ilyes Batatia、Gregor Simm、David Kovacs 以及 Gabor Csanyi 团队和朋友们（见贡献者）共同开发的 MACE 参考实现。\n\n此外还提供：\n\n- [MACE in JAX](https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace-jax)，目前在评估阶段速度大约是 PyTorch 版本的两倍，但为了获得最佳性能，建议使用 PyTorch 进行训练。\n- [MACE 层](https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace-layer)，用于构建适用于任意三维点云的高阶等变图神经网络。\n\n## 文档\n\n部分文档可在以下网址查阅：https:\u002F\u002Fmace-docs.readthedocs.io\n\n## 安装\n\n### 1. 系统要求\n\n- Python >= 3.8 （若使用 openMM，请使用 Python = 3.9）\n- [PyTorch](https:\u002F\u002Fpytorch.org\u002F) >= 1.12 **（PyTorch 2.1 不支持以 float64 进行训练，但 2.2 及更高版本支持；PyTorch 2.4.1 不受支持）**\n\n**请确保已安装 PyTorch。** 请参阅 [官方 PyTorch 安装指南](https:\u002F\u002Fpytorch.org\u002Fget-started\u002Flocally\u002F) 获取安装说明，并根据您的系统选择合适的选项。\n\n### 通过 PyPI 安装\n\n这是推荐的 MACE 安装方式。\n\n```sh\npip install --upgrade pip\npip install mace-torch\n```\n\n**注意：** [PyPI](https:\u002F\u002Fpypi.org\u002Fproject\u002FMACE\u002F) 上同名的包与此处无关。\n\n### 从源码安装\n\n```sh\ngit clone https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace.git\npip install .\u002Fmace\n```\n\n## 使用\n\n### 训练\n\n要训练一个 MACE 模型，可以使用 `mace_run_train` 脚本，该脚本通常位于 pip 安装二进制文件的默认路径下（或者你也可以直接运行 `python3 \u003C克隆目录路径>\u002Fmace\u002Fcli\u002Frun_train.py`）。\n\n```sh\nmace_run_train \\\n    --name=\"MACE_model\" \\\n    --train_file=\"train.xyz\" \\\n    --valid_fraction=0.05 \\\n    --test_file=\"test.xyz\" \\\n    --config_type_weights='{\"Default\":1.0}' \\\n    --E0s='{1:-13.663181292231226, 6:-1029.2809654211628, 7:-1484.1187695035828, 8:-2042.0330099956639}' \\\n    --model=\"MACE\" \\\n    --hidden_irreps='128x0e + 128x1o' \\\n    --r_max=5.0 \\\n    --batch_size=10 \\\n    --max_num_epochs=1500 \\\n    --stage_two \\\n    --start_stage_two=1200 \\\n    --ema \\\n    --ema_decay=0.99 \\\n    --amsgrad \\\n    --restart_latest \\\n    --device=cuda \\\n```\n\n若要指定特定的验证集，可使用 `--valid_file` 参数。若需为验证集评估设置更大的批量大小，则可指定 `--valid_batch_size`。\n\n要控制模型的规模，需要修改 `--hidden_irreps` 参数。对于大多数应用，推荐的默认模型规模是 `--hidden_irreps='256x0e'`（即 256 个不变消息）或 `--hidden_irreps='128x0e + 128x1o'`。如果模型精度不够，可以加入更高阶特征，例如 `128x0e + 128x1o + 128x2e`，或增加通道数至 256。此外，也可以通过 `--num_channels=128` 和 `--max_L=1` 参数来指定模型。\n\n通常建议将孤立原子添加到训练集中，而不是像上述示例那样通过命令行输入它们的能量。要在训练集中标记孤立原子，只需在它们的信息字段中设置 `config_type=IsolatedAtom` 即可。\n\n从头开始训练模型时，如果你不想使用或不知道孤立原子的能量，可以使用 `--E0s=\"average\"` 选项，它会通过最小二乘法回归来估计原子能量。需要注意的是，使用拟合得到的 E0 值相当于拟合原子能量相对于平均值的偏差，而非拟合原子化能（后者是在使用孤立原子 E0 时的情况），这很可能导致分子动力学应用中的势能不够稳定。\n\n在微调基础模型时，可以使用 `--E0s=\"estimated\"` 选项，它会通过求解一个线性系统来优化修正基础模型在训练数据上的预测结果，从而估计原子参考能量。这种方法首先在所有训练构型上运行基础模型，计算预测误差（参考能量减去预测能量），然后通过最小二乘法求解最优的各元素 E0 修正值。总体而言，这种方式比“平均”选项更为理想。\n\n如果启用了 `--stage_two` 关键字（之前称为 swa），则会在训练的最后约 20% 的 epoch 中提高损失函数中能量项的权重（从 `--start_stage_two` epoch 开始）。这一设置通常有助于降低能量误差。\n\n可以通过 `--default_dtype` 关键字调整精度，默认为 `float64`，但使用 `float32` 可显著提升速度（通常在训练中可提速约两倍）。\n\n`--batch_size` 和 `--max_num_epochs` 参数应根据训练集的大小进行调整。当训练数据量增加时，应增大批量大小；而当数据量减少时，则应减少 epoch 数。一个初步设置的经验法则可以是：将梯度更新次数设定为 200,000，其计算公式为 $\\text{max-num-epochs}*\\frac{\\text{num-configs-training}}{\\text{batch-size}}$。\n\n代码能够处理具有异质标签的训练集，例如同时包含带有应力的体相结构和孤立分子的数据集。在这种情况下，为了让代码忽略分子上的应力，可以在分子的配置中添加 `config_stress_weight = 0.0`。\n\n默认情况下，在训练结束时，结果文件夹中会生成一张图表，显示训练过程中损失和 RMSE 的变化趋势，以及模型在训练集、验证集和测试集上的预测散点图。可以通过 `--plot False` 来禁用此功能。若想在整个训练过程中跟踪这些指标（不包括对测试集的预测），可以启用针对训练集和验证集的定期绘图功能，方法是设置 `--plot_frequency N`，这样每 N 个 epoch 就会更新一次图表。\n\n#### Apple Silicon GPU 加速\n\n要使用 Apple Silicon GPU 加速，请确保安装最新版本的 PyTorch，并指定 `--device=mps`。\n\n#### 多 GPU 训练\n\n进行多 GPU 训练时，可以使用 `--distributed` 标志。这将利用 PyTorch 的 DistributedDataParallel 模块在多个 GPU 上并行训练模型。对于大型数据集，建议结合在线数据加载方式（见下文）。示例 Slurm 脚本可在 `mace\u002Fscripts\u002Fdistributed_example.sbatch` 中找到。\n\n#### YAML 配置\n\n支持使用 YAML 文件解析全部或部分参数。例如，要使用上述参数训练模型，可以创建一个名为 `your_configs.yaml` 的 YAML 文件，内容如下：\n\n```yaml\nname: nacl\nseed: 2024\ntrain_file: train.xyz\nstage_two: yes\nstart_stage_two: 1200\nmax_num_epochs: 1500\ndevice: cpu\ntest_file: test.xyz\nE0s:\n  41: -1029.2809654211628\n  38: -1484.1187695035828\n  8: -2042.0330099956639\nconfig_type_weights:\n  Default: 1.0\n\n```\n\n然后在命令行中追加 `--config=\"your_configs.yaml\"`。命令行中指定的任何参数都会覆盖 YAML 文件中的相应参数。\n\n### 评估\n\n要对 XYZ 文件中的体系使用你的 MACE 模型进行评估，可以运行 `mace_eval_configs`：\n\n```sh\nmace_eval_configs \\\n    --configs=\"your_configs.xyz\" \\\n    --model=\"your_model.model\" \\\n    --output=\".\u002Fyour_output.xyz\"\n```\n\n## 教程\n\n你可以运行我们的 [Colab 教程](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1D6EtMUjQPey_GkuxUAbPgld6_9ibIa-V?authuser=1#scrollTo=Z10787RE1N8T)，快速入门 MACE。\n\n我们还有更详细的 Colab 教程，包括：\n\n- [MACE 训练与评估简介](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1ZrTuTvavXiCxTFyjBV4GqlARxgFwYAtX)\n- [MACE 主动学习与微调简介](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1oCSVfMhWrqHTeHbKgUSQN9hTKxLzoNyb)\n- [MACE 理论与代码（进阶）](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1AlfjQETV_jZ0JQnV5M3FGwAM2SGCl2aU)\n\n## 使用 cuEquivariance 的 CUDA 加速\n\nMACE 支持通过 cuEquivariance 库实现 CUDA 加速。要安装该库并使用加速功能，请参阅我们的文档：https:\u002F\u002Fmace-docs.readthedocs.io\u002Fen\u002Flatest\u002Fguide\u002Fcuda_acceleration.html。\n\n## 大型数据集的在线数据加载\n\n如果你有一个可能无法完全放入 GPU 显存的大型数据集，建议在 CPU 上对数据进行预处理，并使用在线数据加载来训练模型。要对以 xyz 文件形式提供的数据集进行预处理，请运行 `preprocess_data.py` 脚本。以下是一个示例：\n\n```sh\nmkdir processed_data\npython .\u002Fmace\u002Fscripts\u002Fpreprocess_data.py \\\n    --train_file=\"\u002Fpath\u002Fto\u002Ftrain_large.xyz\" \\\n    --valid_fraction=0.05 \\\n    --test_file=\"\u002Fpath\u002Fto\u002Ftest_large.xyz\" \\\n    --atomic_numbers=\"[1, 6, 7, 8, 9, 15, 16, 17, 35, 53]\" \\\n    --r_max=4.5 \\\n    --h5_prefix=\"processed_data\u002F\" \\\n    --compute_statistics \\\n    --E0s=\"average\" \\\n    --seed=123 \\\n```\n\n要查看所有选项及其简要说明，请运行 `python .\u002Fmace\u002Fscripts\u002Fpreprocess_data.py --help` 。该脚本将在 `processed_data` 文件夹中生成多个 HDF5 文件，可用于训练。其中将分别有一个用于训练的文件夹、一个用于验证的文件夹，以及针对测试集中每种 `config_type` 的单独文件夹。要训练模型，请按如下方式使用 `run_train.py` 脚本：\n\n```sh\npython .\u002Fmace\u002Fscripts\u002Frun_train.py \\\n    --name=\"MACE_on_big_data\" \\\n    --num_workers=16 \\\n    --train_file=\".\u002Fprocessed_data\u002Ftrain.h5\" \\\n    --valid_file=\".\u002Fprocessed_data\u002Fvalid.h5\" \\\n    --test_dir=\".\u002Fprocessed_data\" \\\n    --statistics_file=\".\u002Fprocessed_data\u002Fstatistics.json\" \\\n    --model=\"ScaleShiftMACE\" \\\n    --num_interactions=2 \\\n    --num_channels=128 \\\n    --max_L=1 \\\n    --correlation=3 \\\n    --batch_size=32 \\\n    --valid_batch_size=32 \\\n    --max_num_epochs=100 \\\n    --stage_two \\\n    --start_stage_two=60 \\\n    --ema \\\n    --ema_decay=0.99 \\\n    --amsgrad \\\n    --error_table='PerAtomMAE' \\\n    --device=cuda \\\n    --seed=123 \\\n```\n\n## 使用 Weights and Biases 进行实验跟踪\n\n如果你想将 MACE 与 Weights and Biases 配合使用来记录你的实验，只需通过以下命令安装即可：\n\n```sh\npip install .\u002Fmace[wandb]\n```\n\n然后指定必要的关键字参数（`--wandb`、`--wandb_project`、`--wandb_entity`、`--wandb_name`、`--wandb_log_hypers`）。\n\n## 预训练的基础模型\n\n我们提供了一系列适用于各种应用场景的预训练基础模型。这些模型可以直接用于推理，也可以作为在新数据集上进行微调的起点。\n基础模型领域正在迅速发展。请访问 [MACE-MP GitHub 仓库](https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace-foundations\u002Freleases) 和 [MACE-OFF23 GitHub 仓库](https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace-off\u002Freleases) 查看最新发布的版本。\n\n### 最新推荐的基础模型\n\n| 模型名称           | 涉及元素数 | 训练数据集 | 理论水平     | 目标系统     | 模型规模                                                                                                                                                                                                                                                                                                                                                                        | GitHub发布 | 备注                                                              | 许可证 |\n| -------------------- | ---------------- | ---------------- | ------------------- | ----------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------- | ------------------------------------------------------------------ | ------- |\n| MACE-MP-0a           | 89               | MPTrj            | DFT (PBE+U)         | 材料         | [小](https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace-foundations\u002Freleases\u002Fdownload\u002Fmace_mp_0\u002F2023-12-10-mace-128-L0_energy_epoch-249.model), [中](https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace-foundations\u002Freleases\u002Fdownload\u002Fmace_mp_0\u002F2023-12-03-mace-128-L1_epoch-199.model), [大](https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace-foundations\u002Freleases\u002Fdownload\u002Fmace_mp_0\u002F2024-01-07-mace-128-L2_epoch-199.model) | >=v0.3.6       | 基础模型的首次发布。                               | MIT     |\n| MACE-MP-0b3          | 89               | MPTrj            | DFT (PBE+U)         | 材料         | [中](https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace-foundations\u002Freleases\u002Fdownload\u002Fmace_mp_0b3\u002Fmace-mp-0b3-medium.model)                                                                                                                                                                                                                                                                      | >=v0.3.10      | 提高了高压稳定性及参考能。           | MIT     |\n| MACE-MPA-0           | 89               | MPTrj + sAlex    | DFT (PBE+U)         | 材料         | [中-mpa-0](https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace-foundations\u002Freleases\u002Fdownload\u002Fmace_mpa_0\u002Fmace-mpa-0-medium.model)                                                                                                                                                                                                                                                                  | >=v0.3.10      | 提升了材料精度及高压稳定性。 | MIT     |\n| MACE-OMAT-0          | 89               | OMAT             | DFT (PBE+U) VASP 54 | 材料         | [中-omat-0](https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace-foundations\u002Freleases\u002Fdownload\u002Fmace_omat_0\u002Fmace-omat-0-medium.model)                                                                                                                                                                                                                                                               | >=v0.3.10      |                                                                    | ASL     |\n| MACE-OFF23           | 10               | SPICE v1         | DFT (wB97M+D3)      | 有机化学 | [小](https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace-off\u002Fblob\u002Fmain\u002Fmace_off23\u002FMACE-OFF23_small.model), [中](https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace-off\u002Fblob\u002Fmain\u002Fmace_off23\u002FMACE-OFF23_medium.model), [大](https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace-off\u002Fblob\u002Fmain\u002Fmace_off23\u002FMACE-OFF23_large.model)                                                                                                    | >=v0.3.6       | 首次发布，覆盖中性有机化学。                | ASL     |\n| MACE-MATPES-PBE-0    | 89               | MATPES-PBE       | DFT (PBE)           | 材料         | [中](https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace-foundations\u002Freleases\u002Fdownload\u002Fmace_matpes_0\u002FMACE-matpes-pbe-omat-ft.model)                                                                                                                                                                                                                                                               | >=v0.3.10      | 无+U校正。                                                  | ASL     |\n| MACE-MATPES-r2SCAN-0 | 89               | MATPES-r2SCAN    | DFT (r2SCAN)        | 材料         | [中](https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace-foundations\u002Freleases\u002Fdownload\u002Fmace_matpes_0\u002FMACE-matpes-r2scan-omat-ft.model)                                                                                                                                                                                                                                                            | >=v0.3.10      | 更适合材料体系的泛函。                                   | ASL     |\n| MACE-OMOL-0 | 89               | OMOL    | DFT (wB97M-VV10)        | 分子\u002F过渡金属\u002F阳离子         | [大](https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace-foundations\u002Freleases\u002Fdownload\u002Fmace_omol_0\u002FMACE-omol-0-extra-large-1024.model)                                                                                                                                                                                                                                                           | >=v0.3.14      | 带电荷\u002F自旋嵌入，分子精度极佳。                                   | ASL     |\n| MACE-MH-0\u002F1 | 89               | OMAT\u002FOMOL\u002FOC20\u002FMATPES    | DFT (PBE\u002FR2SCAN\u002FwB97M-VV10)        | 无机晶体、分子和表面。[更多信息](https:\u002F\u002Fhuggingface.co\u002Fmace-foundations\u002Fmace-mh-1)         | [mh-0](https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace-foundations\u002Freleases\u002Fdownload\u002Fmace_mh_1\u002Fmace-mh-0.model) [mh-1](https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace-foundations\u002Freleases\u002Fdownload\u002Fmace_mh_1\u002Fmace-mh-1.model)                                                                                                                                                                                                                                                           | >=v0.3.14      | 在表面\u002F体相\u002F分子等跨领域任务上表现优异。   | ASL     |\n\n### MACE-MP：材料项目力场\n\n我们与材料项目（MP）合作，基于从 MP 放松轨迹中选取的 [MPTrj 数据集](https:\u002F\u002Ffigshare.com\u002Farticles\u002Fdataset\u002F23713842) 中的 160 万个体相晶体，训练了一个涵盖 89 种元素的通用 MACE 势能模型。这些模型已在 GitHub 上发布，地址为 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace-foundations。如果您使用它们，请引用我们的论文 [arXiv:2401.00096](https:\u002F\u002Farxiv.org\u002Fabs\u002F2401.00096)，其中还包含大量示例应用和基准测试。\n\n> [!CAUTION]\n> MACE-MP 模型是基于 VASP 输出的 MPTrj 原始 DFT 能量训练而成，不能直接与 MP 的 DFT 能量或 CHGNet 的能量进行比较。MP 和 CHGNet 的能量对部分过渡金属氧化物、氟化物（采用 GGA\u002FGGA+U 混合校正）以及 14 种阴离子物种进行了 MP2020Compatibility 校正。更多详情请参阅 [MP 文档](https:\u002F\u002Fdocs.materialsproject.org\u002Fmethodology\u002Fmaterials-methodology\u002Fthermodynamic-stability\u002Fthermodynamic-stability\u002Fanion-and-gga-gga+u-mixing) 和 [MP2020Compatibility.yaml](https:\u002F\u002Fgithub.com\u002Fmaterialsproject\u002Fpymatgen\u002Fblob\u002Fmaster\u002Fpymatgen\u002Fentries\u002FMP2020Compatibility.yaml)。\n\n#### 在 ASE 中的使用示例\n\n```py\nfrom mace.calculators import mace_mp\nfrom ase import build\n\natoms = build.molecule('H2O')\ncalc = mace_mp(model=\"medium\", dispersion=False, default_dtype=\"float32\", device='cuda')\natoms.calc = calc\nprint(atoms.get_potential_energy())\n```\n\n### MACE-OFF：可迁移有机力场\n\n有一系列（小、中、大）可迁移有机力场。这些模型可用于模拟有机分子、晶体和分子液体，也可作为在新数据集上微调的起点。这些模型以 [ASL 许可证](https:\u002F\u002Fgithub.com\u002Fgabor1\u002FASL) 发布。模型已在 GitHub 上发布，地址为 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace-off。如果您使用它们，请引用我们的论文 [arXiv:2312.15211](https:\u002F\u002Farxiv.org\u002Fabs\u002F2312.15211)，其中也包含了详细的基准测试和示例应用。\n\n#### 在 ASE 中的使用示例\n\n```py\nfrom mace.calculators import mace_off\nfrom ase import build\n\natoms = build.molecule('H2O')\ncalc = mace_off(model=\"medium\", device='cuda')\natoms.calc = calc\nprint(atoms.get_potential_energy())\n```\n\n### MACE-Polar：静电基础模型\n\nPolarMACE 检查点是针对分子化学的静电基础模型，基于 OMol25 数据集训练而成。有关使用方法、输出以及训练\u002F微调细节，请参阅 PolarMACE 指南：\n\n- https:\u002F\u002Fmace-docs.readthedocs.io\u002Fen\u002Flatest\u002Fguide\u002Fpolar_mace.html\n\n### 微调基础模型\n\n要微调其中一个 mace-mp-0 基础模型，您可以使用 `mace_run_train` 脚本，并添加额外参数 `--foundation_model=model_type`。例如，要在新数据集上微调小型模型，可以使用以下命令：\n\n```sh\nmace_run_train \\\n  --name=\"MACE\" \\\n  --foundation_model=\"small\" \\\n  --train_file=\"train.xyz\" \\\n  --valid_fraction=0.05 \\\n  --test_file=\"test.xyz\" \\\n  --energy_weight=1.0 \\\n  --forces_weight=1.0 \\\n  --E0s=\"average\" \\\n  --lr=0.01 \\\n  --scaling=\"rms_forces_scaling\" \\\n  --batch_size=2 \\\n  --max_num_epochs=6 \\\n  --ema \\\n  --ema_decay=0.99 \\\n  --amsgrad \\\n  --default_dtype=\"float32\" \\\n  --device=cuda \\\n  --seed=3\n```\n\n其他选项包括“medium”和“large”，或者指定基础模型的路径。如果您想微调其他模型，则会从 `--foundation_model=$path_model` 提供的路径加载模型，所有超参数将自动提取。\n\n## 缓存\n\n默认情况下，自动下载的模型（如 mace_mp、mace_off 以及用于微调的数据）会存储在 `~\u002F.cache\u002Fmace` 目录下。可以通过设置环境变量 XDG_CACHE_HOME 来更改缓存路径。当该变量被设置时，新的缓存路径将扩展为 $XDG_CACHE_HOME\u002F.cache\u002Fmace。\n\n## 开发\n\n该项目使用 [pre-commit](https:\u002F\u002Fpre-commit.com\u002F) 工具，在每次提交代码时自动执行代码格式化和 lint 检查。我们还使用 `black`、`isort`、`pylint` 和 `mypy`。建议您通过安装 `dev` 包来设置开发环境：\n\n```bash\npip install -e \".[dev]\"\npre-commit install\n```\n\n第二行命令将初始化 `pre-commit`，以便在每次提交时自动运行代码检查。我们已设置了 CI 来检查这一点，但强烈建议您在提交（和推送）之前先运行这些命令，以避免意外提交不良代码。\n\n我们欢迎基于 [MIT 许可证](https:\u002F\u002Fchoosealicense.com\u002Flicenses\u002Fmit\u002F) 的拉取请求。请将许可证文本复制粘贴为注释放入您的拉取请求中。\n\n## 参考文献\n\n如果您使用此代码，请引用我们的论文：\n\n```bibtex\n@inproceedings{Batatia2022mace,\n  title={{MACE}: Higher Order Equivariant Message Passing Neural Networks for Fast and Accurate Force Fields},\n  author={Ilyes Batatia and David Peter Kovacs and Gregor N. C. Simm and Christoph Ortner and Gabor Csanyi},\n  booktitle={Advances in Neural Information Processing Systems},\n  editor={Alice H. Oh and Alekh Agarwal and Danielle Belgrave and Kyunghyun Cho},\n  year={2022},\n  url={https:\u002F\u002Fopenreview.net\u002Fforum?id=YPpSngE-ZU}\n}\n\n@misc{Batatia2022Design,\n  title = {The Design Space of E(3)-Equivariant Atom-Centered Interatomic Potentials},\n  author = {Batatia, Ilyes and Batzner, Simon and Kov{\\'a}cs, D{\\'a}vid P{\\'e}ter and Musaelian, Albert and Simm, Gregor N. C. and Drautz, Ralf and Ortner, Christoph and Kozinsky, Boris and Cs{\\'a}nyi, G{\\'a}bor},\n  year = {2022},\n  number = {arXiv:2205.06643},\n  eprint = {2205.06643},\n  eprinttype = {arxiv},\n  doi = {10.48550\u002FarXiv.2205.06643},\n  archiveprefix = {arXiv}\n }\n```\n\n## 联系方式\n\n如有任何问题，请发送邮件至 ilyes.batatia@ens-paris-saclay.fr。\n\n如遇 bug 或功能请求，请使用 [GitHub Issues](https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fissues)。\n\n## 许可证\n\nMACE 代码根据 [MIT 许可证](MIT.md) 发布并分发。（请注意，上述链接中的部分模型可能附带不同的许可证）。","# MACE 快速上手指南\n\nMACE (Machine Learning Atomic Cluster Expansion) 是一个基于高阶等变消息传递的快速、高精度机器学习原子间势函数工具，适用于材料科学和分子动力学模拟。\n\n## 环境准备\n\n在开始之前，请确保您的系统满足以下要求：\n\n*   **操作系统**: Linux, macOS (支持 Apple Silicon), Windows (需配置相应环境)\n*   **Python 版本**: >= 3.8 (若需配合 openMM 使用，建议使用 Python 3.9)\n*   **PyTorch**: >= 1.12\n    *   **注意**: PyTorch 2.1 不支持 `float64` 训练，请使用 2.2 或更高版本。**暂不支持** PyTorch 2.4.1。\n    *   请务必先根据官方指引安装适合您 CUDA 版本的 PyTorch：[PyTorch 官方安装指南](https:\u002F\u002Fpytorch.org\u002Fget-started\u002Flocally\u002F)\n    *   *国内用户建议*: 可使用清华或中科大镜像源加速 PyTorch 安装。\n*   **硬件加速**:\n    *   **NVIDIA GPU**: 需安装 CUDA  Toolkit。\n    *   **Apple Silicon**: 需安装最新版 PyTorch 以支持 MPS 加速。\n\n## 安装步骤\n\n推荐通过 PyPI 进行安装，这是最简便的方式。\n\n### 1. 升级 pip 并安装 MACE\n\n```bash\npip install --upgrade pip\npip install mace-torch\n```\n\n> **注意**: PyPI 上有一个同名的 `MACE` 包与本工具无关，请务必安装 `mace-torch`。\n\n### 2. 从源码安装 (可选)\n\n如果您需要开发或获取最新代码：\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace.git\npip install .\u002Fmace\n```\n\n## 基本使用\n\n### 1. 模型训练 (Training)\n\n使用 `mace_run_train` 脚本进行训练。以下是一个最小化的训练示例，假设您已有 `train.xyz` (训练集) 和 `test.xyz` (测试集)。\n\n```bash\nmace_run_train \\\n    --name=\"MACE_model\" \\\n    --train_file=\"train.xyz\" \\\n    --valid_fraction=0.05 \\\n    --test_file=\"test.xyz\" \\\n    --config_type_weights='{\"Default\":1.0}' \\\n    --E0s=\"average\" \\\n    --model=\"MACE\" \\\n    --hidden_irreps='128x0e + 128x1o' \\\n    --r_max=5.0 \\\n    --batch_size=10 \\\n    --max_num_epochs=1500 \\\n    --stage_two \\\n    --start_stage_two=1200 \\\n    --ema \\\n    --device=cuda\n```\n\n**关键参数说明：**\n*   `--E0s=\"average\"`: 自动通过最小二乘法估算孤立原子能量（适合从头训练且未知原子能量的情况）。若微调基础模型，建议使用 `--E0s=\"estimated\"`。\n*   `--hidden_irreps`: 控制模型大小。推荐默认值为 `'256x0e'` 或 `'128x0e + 128x1o'`。\n*   `--device`: 指定设备，NVIDIA GPU 用 `cuda`，Apple Silicon 用 `mps`，CPU 用 `cpu`。\n*   `--stage_two`: 启用后会在训练后期增加能量损失的权重，有助于降低能量误差。\n\n**YAML 配置方式 (推荐):**\n对于复杂参数，可创建 `config.yaml` 文件：\n```yaml\nname: nacl\nseed: 2024\ntrain_file: train.xyz\nmax_num_epochs: 1500\ndevice: cuda\nE0s: \"average\"\nhidden_irreps: '128x0e + 128x1o'\n```\n运行命令：\n```bash\nmace_run_train --config=\"config.yaml\"\n```\n\n### 2. 模型评估 (Evaluation)\n\n训练完成后，使用 `mace_eval_configs` 对新的结构文件进行能量和力的预测：\n\n```bash\nmace_eval_configs \\\n    --configs=\"your_configs.xyz\" \\\n    --model=\"your_model.model\" \\\n    --output=\".\u002Fyour_output.xyz\"\n```\n\n### 3. 使用预训练基础模型 (可选)\n\nMACE 提供了针对材料项目 (Materials Project) 和有机分子的预训练模型。若在代码中通过 ASE 调用，示例如下：\n\n```python\nfrom mace.calculators import mace_mp\n\n# 加载 Materials Project 预训练模型\ncalc = mace_mp(model=\"medium\", device=\"cuda\")\natoms.set_calculator(calc)\nenergy = atoms.get_potential_energy()\nforces = atoms.get_forces()\n```\n\n## 更多资源\n\n*   **在线教程**: [Google Colab 快速入门](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1D6EtMUjQPey_GkuxUAbPgld6_9ibIa-V)\n*   **完整文档**: [MACE Documentation](https:\u002F\u002Fmace-docs.readthedocs.io)\n*   **大型数据集训练**: 若数据过大无法放入显存，请参考文档使用 `preprocess_data.py` 进行离线预处理并结合 HDF5 格式进行在线加载。","某新材料研发团队正在利用分子动力学模拟，筛选一种用于下一代固态电池的高性能电解质晶体结构。\n\n### 没有 mace 时\n- 依赖传统的密度泛函理论（DFT）计算原子间作用力，模拟数百个原子的体系需要耗费数周甚至数月的超算时间，研发周期被严重拉长。\n- 为了节省算力，研究人员被迫减小模拟体系的规模或缩短模拟时长，导致无法捕捉到材料在真实工况下的长时演化行为和罕见缺陷机制。\n- 尝试使用早期的机器学习势函数模型时，发现其对复杂化学环境的泛化能力不足，一旦遇到训练集未覆盖的原子构型，预测结果就会发散甚至导致模拟崩溃。\n- 调整模型架构以平衡精度与速度极为困难，往往陷入“要么算得准但太慢，要么算得快但不准”的两难境地。\n\n### 使用 mace 后\n- 利用 mace 高阶等变消息传递机制构建的势函数，将原子力预测速度提升了数个数量级，原本需要数周的模拟任务现在仅需数小时即可完成。\n- 得益于极高的计算效率，团队能够轻松运行包含数千原子的大尺度体系及纳秒级长时模拟，成功观测到了此前难以发现的离子迁移通道和晶界扩散现象。\n- mace 预训练的基础模型（如 MACE-MP）展现出强大的泛化性，即使在未见过的晶体结构中也能保持量子力学级别的预测精度，大幅降低了模拟失效风险。\n- 研究人员可以直接调用微调后的高阶等变模型，无需手动繁琐地调整网络层数或对称性约束，即可在单张 GPU 上实现精度与速度的最佳平衡。\n\nmace 通过将量子力学的准确性与机器学习的速度完美结合，让大规模、高精度的材料筛选从理论构想变成了日常研发流程。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FACEsuit_mace_d3157b97.png","ACEsuit","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FACEsuit_fdec493e.png",null,"https:\u002F\u002Fgithub.com\u002FACEsuit",[81,85],{"name":82,"color":83,"percentage":84},"Python","#3572A5",99.9,{"name":86,"color":87,"percentage":88},"Shell","#89e051",0.1,1126,410,"2026-04-03T13:13:21","NOASSERTION","Linux, macOS","非必需。支持 NVIDIA GPU (需安装 PyTorch CUDA 版本，文档提及支持 cuEquivariance 加速)；支持 Apple Silicon GPU (需指定 --device=mps)。未明确具体显存大小和 CUDA 版本要求，但建议使用最新 PyTorch 版本。","未说明 (处理大数据集时建议使用 CPU 预处理并配合在线数据加载)",{"notes":97,"python":98,"dependencies":99},"1. PyTorch 版本限制：训练不支持 float64 精度在 PyTorch 2.1 上（2.2+ 支持），且明确不支持 PyTorch 2.4.1。2. macOS 用户需使用 MPS 后端加速。3. 大数据集建议使用提供的脚本预处理为 HDF5 格式进行在线加载。4. 注意 PyPI 上同名的 'MACE' 包与此项目无关，应安装 'mace-torch'。",">=3.8 (若使用 openMM 则需 Python 3.9)",[100,101,102,103,104,105],"torch>=1.12","numpy","ase","h5py","tqdm","PyYAML",[18],"2026-03-27T02:49:30.150509","2026-04-06T09:43:33.223775",[],[111,116,121,126,131,136,141,146,151,156,161,166,171,176,181,186],{"id":112,"version":113,"summary_zh":114,"released_at":115},99364,"v0.3.9","## 变更内容\n* 如果由 @vue1999 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F697 中提供了 start_swa 参数，则启用 swa\n* 由 @alinelena 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F691 中更新基础模型，使其包含 0b\n* extract_invariant 现在能够在 num_layers=1 时正确提取第一层，由 @RokasEl 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F695 中实现\n* 由 @ilyes319 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F704 中添加了 cuequivariance 支持\n* 由 @ilyes319 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F709 中再次添加了 cuequivariance 支持\n* 由 @RokasEl 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F703 中修复了在 num_layers=1 时提取等变特征的问题\n* 由 @ilyes319 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F712 中向 cueq 测试中增加了应力测试\n* 由 @ilyes319 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F716 中添加了 pt_train_file == \"mp\" 的选项\n* 由 @ilyes319 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F719 中提升了版本号\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fcompare\u002Fv0.3.8...v0.3.9","2024-11-27T17:36:58",{"id":117,"version":118,"summary_zh":119,"released_at":120},99365,"v0.3.8","## 变更内容\n* 由 @hatemhelal 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F632 中修复 MACECalculator 中的 compile_mode\n* 由 @jcwang587 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F628 中使用 bibtex 更新 README.md\n* 由 @beckobert 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F642 中修复 eval_configs.py 的多头预测\n* 由 @hatemhelal 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F634 中更新编译器支持和测试用例\n* 由 @ThomasWarford 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F652 中将表示元素的 JSON 键转换为整数\n* 由 @beckobert 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F648 中修复 SWA 检查点的文件名\n* 由 @vue1999 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F658 中增加损失输出的小数位数\n* 由 @ElliottKasoar 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F654 中修复模型路径\n* 由 @ilyes319 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F667 中进行密度归一化\n* 由 @ilyes319 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F668 中修复 bug 并进行密度归一化\n* 由 @vue1999 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F670 中通过 --help 列出默认参数\n* 由 @CheukHinHoJerry 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F682 中修复带有密度归一化的多头微调问题\n* 由 @ilyes319 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F671 中为主程序添加默认的 argparser\n* 由 @ilyes319 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F687 中修复多头基础模型的情况\n* 由 @ilyes319 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F688 中添加 DOI 徽章\n* 由 @ilyes319 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F689 中修复基础头部参数中的名称\n* 由 @ilyes319 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F690 中升级版本号\n\n## 新贡献者\n* @jcwang587 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F628 中做出了首次贡献\n* @beckobert 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F642 中做出了首次贡献\n* @ThomasWarford 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F652 中做出了首次贡献\n* @CheukHinHoJerry 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F682 中做出了首次贡献\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fcompare\u002Fv0.3.7...v0.3.8","2024-11-12T20:43:56",{"id":122,"version":123,"summary_zh":124,"released_at":125},99373,"v0.2.0","This release introduces:\r\n\r\n1. Full compilation of the mace model with torchscript.\r\n2. Computation of stress and virials for training and evaluation.\r\n3. Compatibility with LAMMPs and OpenMM.\r\n4. New models to fit atomic dipoles.\r\n5. More extensive range of testing, including mock fit testing.\r\n6. Better ase calculator of NVT and NPT dynamics.\r\n\r\n## What's Changed\r\n* Average e0 by @davkovacs in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F4\r\n* Error tables by @davkovacs in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F6\r\n* make mace compatible with pytorch lightning by @felixmusil in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F9\r\n* Dipole MACE model by @davkovacs in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F14\r\n* small bug fix of compute_energy flag for model=MACE by @davkovacs in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F16\r\n* Enable per-config weight in mace data reading by @bernstei in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F19\r\n* bugfix. by @wcwitt in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F28\r\n* Changes required for LAMMPS integration by @wcwitt in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F29\r\n* Per config energy\u002Fforces\u002Fstress\u002Fvirials weight by @bernstei in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F22\r\n* ASE Calculator stress by @bernstei in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F26\r\n* Change stress to Voigt notation by @vue1999 in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F33\r\n* add num_interactions for access from torchscript-ified models. by @wcwitt in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F39\r\n* stress tweaks. by @wcwitt in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F49\r\n* sort instructions in tp_out_irreps_with_instructions by @mariogeiger in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F51\r\n* torchscript tweaks. by @wcwitt in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F50\r\n* Update lammps_mace by @wcwitt in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F55\r\n* openmm-interop compatibility changes by @jharrymoore in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F62\r\n* SWA fixes and improvements by @davkovacs in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F61\r\n* update installation instructions in readme by @stenczelt in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F56\r\n* Weights and Biases support by @davkovacs in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F70\r\n* Debug and clean up evaluation code by @davkovacs in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F72\r\n\r\n## New Contributors\r\n* @davkovacs made their first contribution in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F4\r\n* @felixmusil made their first contribution in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F9\r\n* @bernstei made their first contribution in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F19\r\n* @wcwitt made their first contribution in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F28\r\n* @vue1999 made their first contribution in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F33\r\n* @mariogeiger made their first contribution in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F51\r\n* @jharrymoore made their first contribution in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F62\r\n* @stenczelt made their first contribution in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F56\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fcommits\u002Fv0.2.0","2023-02-09T12:24:53",{"id":127,"version":128,"summary_zh":129,"released_at":130},99358,"v0.3.15","# MACE v0.3.15 发行说明\n\n我们很高兴地宣布 MACE v0.3.15 的发布，此次版本新增了两个跨领域基础模型、LoRA 微调功能、权重冻结功能，以及对 LAMMPS MLIAP 中非线性模型的支持改进，并修复了一系列 bug 和训练方面的优化。\n\n## 🏗️ 基础模型\n\n### MACE-MH-1\n\n推出了 **MACE-MH-1**，这是一种最先进的多头机器学习原子间势能模型，能够将分子、表面和无机晶体化学统一到一个单一的模型中。MACE-MH-1 覆盖 89 种化学元素，在固体、分子体系和表面等领域均达到最先进的精度，并基于增强的 MACE 架构构建，具有改进的权重共享和非线性张量分解机制。\n\nMACE-MH-1 预先在 OMAT-24 数据集（包含 1 亿个无机晶体构型）上进行预训练，并通过六个头部进行微调：\n\n- **`omat_pbe`** *(默认)* — PBE\u002FPBE+U，适用于一般无机材料\n- **`omol`** — ωB97M-VV10，适用于有机和有机金属分子\n- **`spice_wB97M`** — ωB97M-D3(BJ)，适用于分子体系\n- **`rgd1_b3lyp`** — B3LYP，适用于反应化学中间体\n- **`oc20_usemppbe`** — PBE，适用于表面催化\n- **`matpes_r2scan`** — r²SCAN，适用于高精度无机材料\n\nMACE-MH-1 通过 MLIAP 接口支持在 LAMMPS 中使用，包括对非线性相互作用块的支持（详见下方的 MLIAP 部分）。需要注意的是，MACE-MH-1 目前尚未在 SYMMETRIX 中得到支持。\n\n**使用示例：**\n```python\nfrom mace.calculators import mace_mp\n\ncalc = mace_mp(\n    model=\"mh-1\",\n    default_dtype=\"float64\",\n    device=\"cuda\",\n    head=\"omat_pbe\",\n)\nenergy = atoms.get_potential_energy()\nforces = atoms.get_forces()\n```\n\n模型权重和文档：[Hugging Face — mace-mh-1](https:\u002F\u002Fhuggingface.co\u002Fmace-foundations\u002Fmace-mh-1)。\n\n**参考文献：** Batatia 等人，“基于电子结构理论的跨学习方法用于统一分子、表面和无机晶体的基础力场”，[arXiv:2510.25380](https:\u002F\u002Farxiv.org\u002Fabs\u002F2510.25380)。\n\n### MACE-MH-0\n\n新增了 **MACE-MH-0**，它是 MACE-MH-1 的前身。它同样覆盖 89 种元素，并在相同的系列数据集（OMAT、OMOL、OC20、MATPES）上进行训练，能够在体相、表面和分子体系中提供强大的跨领域性能。MACE-MH-0 支持在 SYMMETRIX 中使用，并可通过 LAMMPS 的 MLIAP 接口调用。\n\n**使用示例：**\n```python\nfrom mace.calculators import mace_mp\n\ncalc = mace_mp(model=\"mh-0\", default_dtype=\"float64\", device=\"cuda\")\n```\n\n**参考文献：** Batatia 等人，“基于电子结构理论的跨学习方法用于统一分子、表面和无机晶体的基础力场”，[arXiv:2510.25380](https:\u002F\u002Farxiv.org\u002Fabs\u002F2510.25380)。\n\n## 🎯 微调\n\n### LoRA 微调\n\n新增了低秩适应（LoRA）微调支持，实现了对基础模型的参数高效调整。LoRA 会将可训练的低秩矩阵注入等变的 `o3.Linear` 层、密集的 `nn.Linear` 层以及 `FullyConnectedNet` 层中，同时保持基础模型的权重不变。Lo","2026-02-22T23:33:41",{"id":132,"version":133,"summary_zh":134,"released_at":135},99359,"v0.3.14","# MACE v0.3.14 发行说明\n\n我们很高兴地宣布 MACE v0.3.14 的发布，此次更新带来了嵌入功能、GPU 加速、介电性质预测以及增强训练选项等重要新特性。\n\n## 🏗️ 基础模型\n\n### MACE-OMOL 基础模型\n新增对基于 100M OMOL 数据集训练的 MACE-OMOL 模型的支持，该模型包含电荷和自旋嵌入，能够为带有电荷和自旋的有机分子提供更高的精度。\n\n**示例用法：**\n```python\nfrom mace.calculators import mace_omol\n\n# 加载支持电荷和自旋的 MACE-OMOL 模型\ncalc = mace_omol(model=\"extra_large\", device=\"cuda\")\natoms.calc = calc\n\n# 设置体系的电荷和自旋\natoms.info[\"charge\"] = 1.0      # +1 电荷\natoms.info[\"spin\"] = 1.0        # 自旋多重度\n\nenergy = atoms.get_potential_energy()\nforces = atoms.get_forces()\n```\n\n### 小型 OMAT 模型\n在基础模型快捷方式中新增了 `omat-small-0`，适用于对精度要求不高但需要更快推理速度的场景。\n\n**示例用法：**\n```python\nfrom mace.calculators import mace_mp\ncalc = mace_mp(model=\"small-omat-0\")  # 更快、更小的模型\n```\n\n## 🎯 微调\n\n### 伪标签微调\n新增多头伪标签微调功能，允许模型基于自身的预测结果进行微调，从而提升精度并简化使用流程。\n\n**示例用法：**\n```bash\npython run_train.py \\\n  --foundation_model=\"medium\" \\\n  --train_file=real_data.xyz \\\n  --pt_train_file=replay_data.xyz \\\n  --multiheads_finetuning=True \\\n  --pseudolabel_replay=True \\\n```\n\n### 多头微调增强\n修复了多头微调功能中的多个问题，并提升了代码的鲁棒性。现在可以将 mace_mp 中的任意模型作为 `--foundation_model` 参数值使用，详情请参阅：https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fblob\u002F0139da1b864b29054f07db6627887a847a42050e\u002Fmace\u002Fcalculators\u002Ffoundations_models.py#L19。例如，`--foundation_model=\"small-omat-0\"`。\n\n## 🔬 模型\n\n### MACE 的嵌入功能\n新增对总电荷、总自旋和电子温度等附加属性的嵌入支持，使 MACE 模型能够更准确地预测带电和磁性体系的性质。\n\n**使用自定义嵌入的训练示例：**\n```bash\npython run_train.py \\\n  --train_file=data.xyz \\\n  --embedding_specs='{\"charge\": {\"embed_type\": \"continuous\", \"min\": -5, \"max\": 5}, \"spin\": {\"embed_type\": \"continuous\", \"min\": 0, \"max\": 4}, \"temperature\": {\"embed_type\": \"continuous\", \"min\": 0, \"max\": 3000}}' \\\n  --use_embedding_readout \\\n  --model=MACE\n```\n\n相关代码请参见：https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fblob\u002F0139da1b864b29054f07db6627887a847a42050e\u002Fmace\u002Fmodules\u002Fembeddings.py#L7，测试用例请参见：https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fblob\u002F0139da1b864b29054f07db6627887a847a42050e\u002Ftests\u002Ftest_embedding_train.py#L13。\n\n### 用于极化率预测的介电 MACE\n新增对介电 MACE 模型的支持，使其能够在计算能量的同时预测分子的极化率。","2025-08-05T18:03:39",{"id":137,"version":138,"summary_zh":139,"released_at":140},99360,"v0.3.13","# MACE 0.3.13 发行说明\n\n## 🚀 LAMMPS 集成增强\n\n- 新增适用于 LAMMPS 的 **MLIAP** 接口，显著提升了性能和灵活性。([文档](https:\u002F\u002Fmace-docs.readthedocs.io\u002Fen\u002Flatest\u002Fguide\u002Flammps_mliap.html))\n- 在 LAMMPS 模型中实现了 **Cu等变性** 支持，以加速 GPU 计算。\n- 增加了对大规模分子动力学模拟的 **多 GPU 推理支持**，通过 MPI 消息传递中间张量实现高效扩展。\n- 通过环境变量控制改进了 **计时与性能分析功能**。\n- `create_lammps_model.py` 中新增命令行选项，用于在 `libtorch`（旧版）和 `MLIAP` 格式之间进行选择：\n\n```bash\n# 将模型转换为 MLIAP 格式\npython -m mace.cli.create_lammps_model model.pt --format=mliap\n```\n\n---\n\n## 🧮 原子应力计算\n\n- 新增对 **原子应力和原子维里张量** 的计算支持。\n- 有助于分析材料模拟中的 **局部应力分布**。\n\n```python\nfrom mace.calculators import mace_mp\nfrom ase import build\n\n# 创建包含 10 个原子的结构\natoms = build.bulk(\"Al\", \"fcc\", a=4.05, cubic=True)\natoms = atoms.repeat((2, 2, 2))\n\ncalc = mace_mp(device=\"cpu\", compute_atomic_stresses=True)\natoms.set_calculator(calc)\n\natoms.get_potential_energy()\nstress = atoms.get_stress()\nstresses = atoms.get_stresses()\n\nprint(\"应力张量:\\n\", stress.shape)\nprint(\"原子应力张量:\\n\", stresses.shape)\n```\n\n---\n\n## 🗝️ 属性键系统重新设计\n\n- 重构了 **属性键系统**，以提高灵活性和可维护性。\n- 引入 `KeySpecification` 类来管理数据格式之间的映射关系。\n- 添加了 `DefaultKeys` 枚举，用于标准化访问模式。\n- 增强了在键缺失时的 **错误报告功能**。\n- 完全 **向后兼容** 之前的键约定。\n\n---\n\n## 🧱 新的基础模型\n\n- **MACE-MATPES**：基于 [matpes](https:\u002F\u002Fmatpes.ai\u002F) 数据集微调的新基础模型。\n- 新的 PBE 模型消除了 +U 不一致性问题，同时新增了一个 R2SCAN 模型。\n- 对于在特定领域数据集上进行微调，具有更好的 **迁移性**。\n\n| 模型            | 方法 | 能量 (meV\u002Fatom) | 力 (meV\u002FÅ) | 应力 (GPa) |\n|------------------|--------|-------------------|----------------|--------------|\n| M3GNet           | PBE    | 45                | 177            | 0.898        |\n| CHGNet           | PBE    | 32                | 124            | 0.617        |\n| TensorNet        | PBE    | 36                | 138            | 0.695        |\n| MACE             | PBE    | 34                | 122            | **0.296**    |\n| MACE-MATPES-0     | PBE    | **23**            | **107**        | 0.304        |\n| M3GNet           | r2SCAN | 45                | 208            | 0.982        |\n| CHGNet           | r2SCAN | 27                | 150            | 0.705        |\n| TensorNet        | r2SCAN | 34                | 163            | 0.754        |\n| MACE-MAPTE","2025-04-30T21:30:57",{"id":142,"version":143,"summary_zh":144,"released_at":145},99361,"v0.3.12","# MACE 0.3.12 发行说明\n\n## 版本支持更新\n\n- 修复了测试文件不是列表的热补丁。\n- 标准变体现在从头部配置中提取。\n\n有关功能和用法的完整详情，请参阅我们的[文档](https:\u002F\u002Fmace-docs.readthedocs.io)。如果您遇到任何问题，请在我们的[GitHub 问题页面](https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fissues)上提交报告。","2025-03-16T00:50:31",{"id":147,"version":148,"summary_zh":149,"released_at":150},99362,"v0.3.11","# MACE 0.3.11 发行说明\n\n\n## 版本支持更新\n\n- 增加对 cuEquivariance 0.2.0 和 0.3.0 新版本的支持，同时不再支持 0.1.0 版本。（参见 https:\u002F\u002Fmace-docs.readthedocs.io\u002Fen\u002Flatest\u002Fguide\u002Fcuda_acceleration.html）\n- 增加对 PyTorch 2.6.0 的支持。\n\n## 数据集处理增强\n\n- 新增对 LMDB 数据格式的支持，以高效处理大型数据集（如 fairchem 数据集）。支持包含 .aselmdb 或 .aselmdb 文件的文件夹。（参见 https:\u002F\u002Fmace-docs.readthedocs.io\u002Fen\u002Flatest\u002Fguide\u002Fmultipreprocessing.html#lmdb-files-preprocessing）。\n```yaml\n# LMDB 配置示例\ntrain_file: \"\u002Fpath\u002Fdata1\u002F:\u002Fpath\u002Fdata2\u002F:\u002Fpath\u002Fdata3\u002F\"\nvalid_file: \"\u002Fpath\u002Fvalid1.lmdb:\u002Fpath\u002Fvalid2.lmdb\"\n```\n- 简化了同时在多个数据集上训练的工作流程。现在可以添加不同数据流的列表（ASE、LMDB 和 XYZ）。（参见 https:\u002F\u002Fmace-docs.readthedocs.io\u002Fen\u002Flatest\u002Fguide\u002Fheterogeneous_data.html）。\n\n```yaml\n# 不同数据集配置示例\nheads:\n  QM7:\n    train_file: [\"data\u002Fqm7\u002Ftrain.xyz\", \"data\u002Fqm7\u002Ftrain.h5\", \"data\u002Fqm7\u002Fdatabase\u002F\"]\n    valid_file: [\"data\u002Fqm7\u002Fvalid.xyz\", \"data\u002Fqm7_h5\u002Fvalid\u002F\"]\n    test_file:  [\"data\u002Fqm7\u002Ftest.xyz\", \"data\u002Fqm7\u002Ftest.h5\"]\n```\n\n## 新的基础模型\n\n- **MACE-MPA-0**：材料性质预测精度进一步提升。调用 `mace_mp()` 时的新默认基础模型。\n- **MACE-OMAT-0**：基于 OMAT 数据集，并采用 DFT (PBE+U) VASP 54 计算结果训练的新模型。\n\n## 训练过程绘图\n\n- 在训练完成后自动绘制训练、验证和测试指标的图表。`mace_run_train` 命令行接口新增两个参数：\n```bash\n--plot # 是否启用绘图，默认为 True\n--plot_frequency # 如果为 0，则仅在最后绘制；否则，每 N 个 epoch 绘制一次\n```\n\n![image](https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fdc92d945-d787-4a79-b512-981cecc432ab)\n\n## 支持更高的 L 和 max_ell\n\n- 切换到 cuequivariance 的广义 CG 计算方法，以支持 L、max_ell 或相关性需要使用 e3nn 0.4.4 中未预先计算的 CG 的情况。现在可以训练任意 L 和 max_ell 的模型。\n\n## 安装\n\n```bash\npip install --upgrade mace-torch\n\n# 对于 CUDA 加速（CUDA 12）\npip install cuequivariance cuequivariance-torch cuequivariance-ops-torch-cu12\n# 对于 CUDA 11，请使用 cuequivariance-ops-torch-cu11 替代\n```\n\n有关功能和使用的完整详情，请参阅我们的 [文档](https:\u002F\u002Fmace-docs.readthedocs.io)。如果您遇到任何问题，请在我们的 [GitHub 问题页面](https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fissues) 上提交报告。\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fcompare\u002Fv0.3.10...v0.3.11","2025-03-14T10:49:23",{"id":152,"version":153,"summary_zh":154,"released_at":155},99363,"v0.3.10","## 变更内容\n* 现在确实会下载 @alinelena 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F721 中提出的全新模型\n* @ThomasWarford 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F681 中实现了针对不同头分别评估测试集的功能\n* @ElliottKasoar 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F664 中添加了预处理配置文件选项\n* @hatemhelal 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F647 中新增了 mace_mp 中等性能基准测试\n* @ilyes319 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F727 中调整了多头微调的学习率\n* @ilyes319 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F736 中增加了重新缩放微调样本数量的选项\n* @CompRhys 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F569 中清理了 ZBLBasis 中未使用的多项式截断类，并移除了 r_max 参数\n* 允许基于 XDG_CACHE_HOME 环境变量自定义缓存路径，解决了 #724 问题，由 @alinelena 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F755 中实现\n* 修复了 select_head 中的默认输出文件，并新增列出所有头的参数，由 @bernstei 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F772 中完成\n* 将默认的 mp 模型更改为 mpa 模型并提升版本号，由 @ilyes319 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F758 中完成\n* 解决了 jit 的向后兼容性问题，由 @ilyes319 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F778 中实现\n* 修复了 jit 向后兼容时的 irreps 重塑问题，由 @ilyes319 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F779 中完成\n* 修正了格式问题，由 @ilyes319 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F780 中完成\n* 由 @ilyes319 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F781 中进行开发\n* 由 @ilyes319 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F785 中进行开发\n* 将 cueq 设为可选依赖，并添加特殊测试，由 @ilyes319 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F786 中完成\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fcompare\u002Fv0.3.9...v0.3.10","2025-02-04T11:55:46",{"id":157,"version":158,"summary_zh":159,"released_at":160},99366,"v0.3.7","## 主要新特性\n\n* 多头微调：https:\u002F\u002Fmace-docs.readthedocs.io\u002Fen\u002Flatest\u002Fguide\u002Ffinetuning.html\n* 多头训练：https:\u002F\u002Fmace-docs.readthedocs.io\u002Fen\u002Flatest\u002Fguide\u002Fmultihead_training.html\n\n## 变更内容\n* 添加 Intel XPU 设备，由 @jharrymoore 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F340 中完成\n* Intel 相关更新，由 @ilyes319 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F356 中完成\n* 修复处理孤立原子和单原子体系逻辑的问题，由 @bernstei 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F393 中完成\n* 修复当显式指定训练参考量的 REF_* 键时会覆盖这些键的 bug，由 @bernstei 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F403 中完成\n* 修复耐心检查逻辑，该逻辑在未指定 SWA 开始条件时会失败，由 @bernstei 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F405 中完成\n* 修复从计算器到 atoms.arrays 的力转换错误，用于 PBE 和 MP 重放头的微调，由 @bernstei 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F409 中完成\n* 对 PR #405 的更好修复，在 SWA 不启用时修复耐心检查，由 @bernstei 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F411 中完成\n* 修复多头微调中从预训练配置中子采样时 np.random.choice 的问题，由 @bernstei 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F448 中完成\n* 训练过程中打印的验证损失实际上并非针对特定头，由 @bernstei 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F449 中完成\n* 移除所有与应力或原子数相关的项，由 @bernstei 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F443 中完成\n* 第二阶段权重，由 @vue1999 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F522 中完成\n* 从检查中移除 mypy，由 @ilyes319 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F529 中完成\n* 修复通用损失的 MAE 表格，由 @ilyes319 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F548 中完成\n* 创建 py.typed 文件，由 @Andrew-S-Rosen 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F554 中完成\n* 改进日志详情，由 @vue1999 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F553 中完成\n* 撤销日志更改，由 @ilyes319 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F571 中完成\n* 合并 develop 分支，并应用 pylint 和日志更改，由 @ilyes319 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F572 中完成\n* 多头微调和训练，由 @ilyes319 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F575 中完成\n* 多头微调，由 @ilyes319 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F578 中完成\n* 修复关于未定义 SWA 的 bug，由 @Hongyu-yu 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F584 中完成\n* 解决 Issue 596，由 @stenczelt 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F597 中完成\n* 将 `download_mace_mp_checkpoint` 从 `mace_mp` 中拆分出来，由 @janosh 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F602 中完成\n* 允许在无需将检查点写入磁盘的情况下创建 MACECalculator，由 @CompRhys 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F535 中完成\n* 修复 SWA 相关 bug 并移除 e3nn 固定版本，由 @ilyes319 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F589 中完成\n* 修改 MACECalculator 中的类型提示语法，使其兼容 Python 3.9，由 @bernstei 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F618 中完成\n* 修复 SWA 超过 epoch 数的问题，由 @ilyes319 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F616 中完成\n* 添加 o","2024-10-02T18:02:28",{"id":162,"version":163,"summary_zh":164,"released_at":165},99367,"v0.3.6","## 变更内容\n* 由 @JPDarby 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F438 中修复了应力损失的 bug\n* 由 @ilyes319 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F467 中修改了应力归一化，并更新了 setup.cfg 以兼容 numpy\u003C2.0\n* 由 @ilyes319 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F472 中修复了默认使用通用损失函数时的应力问题\n* 由 @RokasEl 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F477 中增加了对 schedulefree 优化器的支持\n* 由 @nqhq-lou 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F466 中添加了用于指定 Wandb 目录的命令行参数\n* 由 @ElliottKasoar 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F404 中添加了 DOI 徽章和自动化发布功能\n* 由 @ilyes319 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F480 中合并了最新的 develop 分支\n* 由 @ilyes319 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F482 中移除了徽章中的 DOI\n* 由 @ilyes319 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F485 中将微调相关内容添加到 README 的目录中\n* 由 @ilyes319 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F486 中为计算器增加了 Hessian 矩阵的支持\n* 由 @ilyes319 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F490 中为模型准备了计算 Hessian 矩阵的相关工作\n* BUG：单原子未被正确隔离，导致其从训练集中错误移除——由 @jameskermode 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F492 中发现并报告\n* 由 @ilyes319 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F493 中修复了孤立原子相关的 bug\n* 由 @ilyes319 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F506 中修正了 PBC 扩展的问题\n* 由 @ilyes319 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F510 中将 dynamo 改为可选配置\n* 由 @vue1999 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F514 中简化了安装步骤\n* 由 @ilyes319 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F515 中进行了开发工作\n* 由 @ilyes319 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F516 中移除了针对 Python >3.9 的 Literal 类型注解\n\n## 新贡献者\n* @JPDarby 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F438 中完成了首次贡献\n* @nqhq-lou 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F466 中完成了首次贡献\n* @ElliottKasoar 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F404 中完成了首次贡献\n* @jameskermode 在 https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F492 中完成了首次贡献\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fcompare\u002Fv0.3.5...v0.3.6","2024-07-16T10:55:30",{"id":167,"version":168,"summary_zh":169,"released_at":170},99368,"v0.3.5","## What's Changed\r\n* on the fly data loading by @davkovacs in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F73\r\n* On the fly dataloading by @davkovacs in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F81\r\n* Make matscipy default neighbour list by @ilyes319 in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F64\r\n* Multi gpu by @ilyes319 in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F99\r\n* Slight modification to HDF5Dataset by @sivonxay in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F117\r\n* Multi-node, multi-GPU data parallel training. by @samwaltonnorwood in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F105\r\n* Multi-processing by @mavaylon1 in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F133\r\n* Develop by @ilyes319 in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F207\r\n* load_foundations support for max_L other than 2 by @bernstei in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F273\r\n* print validation error before any training by @bernstei in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F288\r\n* update foundations with develop by @ilyes319 in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F299\r\n* Ilyes319 patch 3 by @ilyes319 in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F305\r\n* Warning on float64 training with PyTorch 2.1 by @ilyes319 in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F306\r\n* Foundations by @ilyes319 in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F307\r\n* initial torch.compile support (inference only) by @hatemhelal in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F300\r\n* Handle a wider range of possible slurm env vars by @bernstei in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F332\r\n* Update plot_train.py by @zhubonan in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F352\r\n* add note on mp corrections on energies by @chiang-yuan in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F342\r\n* Update compile test case to use larger test system by @hatemhelal in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F310\r\n* Adding pre-commit checks and github action runners by @hatemhelal in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F302\r\n* Add torch.compile compatiblity by @ilyes319 in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F354\r\n* Add an option to set the D3 damping function, which defaults to D3(BJ) by @Andrew-S-Rosen in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F268\r\n* Use HTTPS for MACE MP checkpoint URLs by @janosh in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F318\r\n* Add multi-GPU, data parallelisation, pair repulsion and distance transforms. by @ilyes319 in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F359\r\n* Add multi-GPU dataparallel by @ilyes319 in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F74\r\n* Add mutli-GPU training, data parrallelisation, pair repulsion, distance transform and other features by @ilyes319 in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F363\r\n* Add metadata saving to compiled model and hot fix stress extraction by @ilyes319 in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F387\r\n* Fix workflows check by @ilyes319 in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F388\r\n* add GitPython to deps by @ilyes319 in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F389\r\n* add pylint to pre-commit by @ilyes319 in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F391\r\n* fixed readme typos, and commit by @ilyes319 in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F399\r\n* make cli scripts importable from python by @alinelena in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F398\r\n* Develop by @ilyes319 in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F418\r\n* Improve warning for \"energy\", \"forces\" key by @ilyes319 in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F419\r\n* log errors and handle checkpoint io on rank 0 only by @jharrymoore in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F420\r\n* Fix checkpoint for multi-GPU by @ilyes319 in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F421\r\n* removed wront argument parsing in preprocess_data by @VondrakMar in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F423\r\n* Fix preprocess data and pylint by @ilyes319 in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F424\r\n* fix atom e0s being subtracted twice in mace calculator by @RokasEl in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F425\r\n* fix atom e0s being subtracted twice in mace calculator by @ilyes319 in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F426\r\n* fix bug test set stress key by @ilyes319 in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F428\r\n\r\n## New Contributors\r\n* @samwaltonnorwood made their first contribution in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F105\r\n* @mavaylon1 made their first contribution in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F133\r\n* @hatemhelal made their first contribution in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F300\r\n* @zhubonan made their first contribution in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F352\r\n* @Andrew-S-Rosen made their first contribution in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F268\r\n* @alinelena made their first contribution in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F398\r\n* @VondrakMar made their first contribution in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F423\r\n* @RokasEl made their first contribution in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F425\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fcompare\u002Fv0.3.4...v0.3.5","2024-06-10T10:20:51",{"id":172,"version":173,"summary_zh":174,"released_at":175},99369,"v0.3.4","## What's Changed\r\n* update license info of mace-off by @davkovacs in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F284\r\n* update mace-off printing info by @ilyes319 in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F285\r\n* Add link to github models by @janosh in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F290\r\n* Update mace_mp links to include github links by @ilyes319 in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F291\r\n* Update readme for foundation models by @ilyes319 in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F292\r\n* edit readme example for foundation models by @ilyes319 in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F293\r\n* Change stress input + update version by @ilyes319 in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F296\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fcompare\u002Fv0.3.3...v0.3.4","2024-01-16T15:51:49",{"id":177,"version":178,"summary_zh":179,"released_at":180},99370,"v0.3.3","## What's Changed\r\n* Add small model and warning for float32 accuracy in mace_mp by @ilyes319 in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F257\r\n* update the small model to energy model by @ilyes319 in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F263\r\n* Add MACE-OFF23 models by @davkovacs in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F275\r\n* Add MACE-OFF2023 by @ilyes319 in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F277\r\n* Change package name in setup.cfg for PyPI by @ilyes319 in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F281\r\n* Change package name in setup.cfg for PyPI by @ilyes319 in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F282\r\n* update installation with PyPI by @ilyes319 in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F283\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fcompare\u002Fv0.3.2...v0.3.3","2024-01-08T15:20:57",{"id":182,"version":183,"summary_zh":184,"released_at":185},99371,"v0.3.2","## What's Changed\r\n* Update version to 0.3.2 for conda installation by @ilyes319 in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F250\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fcompare\u002Fv0.3.1...v0.3.2","2023-12-06T19:55:31",{"id":187,"version":188,"summary_zh":189,"released_at":190},99372,"v0.3.0","## This Release Introduces:\r\n1. Committee of models in the ASE calculator.\r\n2. Active learning for MD in the ASE script.\r\n3. Implementation of the Huber loss function.\r\n4. Can use dipole model within the ASE calculator.\r\n5. A LAMMPS wrapper for executing LAMMPS MD simulations.\r\n6. The matscipy neighbor list set as the default.\r\n7. Gaussian radial basis functions.\r\n8. Element-dependent radial basis functions using a MLP on the radial components and node features of the sender and receiver.\r\n9. MACE descriptors from the ASE calculator.\r\n10. A universal pretrained MACE model on the Materials Project, available as an ASE calculator.\r\n\r\n## Major Interface Changes:\r\n1. The scripts have been moved to `mace\u002Fcli\u002F` from the previous `scripts` directory to facilitate access.\r\n2. The `mace_run_train` command is now available if MACE is installed via pip.\r\n\r\n\r\n## What's Changed\r\n* merge readme edits to develop by @davkovacs in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F76\r\n* Require stress in shape (3,3) or (6,) by @LarsSchaaf in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F77\r\n* Committee error by @LarsSchaaf in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F78\r\n* Doc update by @ilyes319 in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F85\r\n* no gradient with respect to model params in eval by @davkovacs in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F83\r\n* Update active_learning_md.py by @sandipde in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F89\r\n* Update utils.py by @sandipde in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F91\r\n* Huberloss by @ilyes319 in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F96\r\n* not break if exponential LR by @bigd4 in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F98\r\n* hopefully limit unnecessary memory use. by @wcwitt in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F103\r\n* ASE calculator refactor and jit dipole models by @davkovacs in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F95\r\n* Fix unweighted EnergyForcesLoss by @chaitjo in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F100\r\n* Lammps wrapper by @wcwitt in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F108\r\n* Update Installation by @ilyes319 in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F129\r\n* matscipy neighbour list as default by @ilyes319 in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F116\r\n* Gaussian radial basis and element dependent radial by @ilyes319 in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F131\r\n* MACE descriptors by @ilyes319 in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F144\r\n* Add readme section 'Pretrained Universal MACE Checkpoints' by @janosh in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F188\r\n* fix table of content readme by @ilyes319 in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F190\r\n* Scripts entrypoints by @bernstei in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F178\r\n* add foundations model calculators by @ilyes319 in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F204\r\n* add deprecated model_path arg to asse calculator by @davkovacs in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F209\r\n* MACE 0.3.0 release by @ilyes319 in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F142\r\n\r\n## New Contributors\r\n* @LarsSchaaf made their first contribution in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F77\r\n* @sandipde made their first contribution in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F89\r\n* @bigd4 made their first contribution in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F98\r\n* @chaitjo made their first contribution in https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fpull\u002F100\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FACEsuit\u002Fmace\u002Fcompare\u002Fv0.2.0...v0.3.0","2023-11-09T17:28:57"]