[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-facebookresearch--fairchem":3,"tool-facebookresearch--fairchem":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 将是理想的起点。",85092,2,"2026-04-10T11:13:16",[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},5784,"funNLP","fighting41love\u002FfunNLP","funNLP 是一个专为中文自然语言处理（NLP）打造的超级资源库，被誉为\"NLP 民工的乐园”。它并非单一的软件工具，而是一个汇集了海量开源项目、数据集、预训练模型和实用代码的综合性平台。\n\n面对中文 NLP 领域资源分散、入门门槛高以及特定场景数据匮乏的痛点，funNLP 提供了“一站式”解决方案。这里不仅涵盖了分词、命名实体识别、情感分析、文本摘要等基础任务的标准工具，还独特地收录了丰富的垂直领域资源，如法律、医疗、金融行业的专用词库与数据集，甚至包含古诗词生成、歌词创作等趣味应用。其核心亮点在于极高的全面性与实用性，从基础的字典词典到前沿的 BERT、GPT-2 模型代码，再到高质量的标注数据和竞赛方案，应有尽有。\n\n无论是刚刚踏入 NLP 领域的学生、需要快速验证想法的算法工程师，还是从事人工智能研究的学者，都能在这里找到急需的“武器弹药”。对于开发者而言，它能大幅减少寻找数据和复现模型的时间；对于研究者，它提供了丰富的基准测试资源和前沿技术参考。funNLP 以开放共享的精神，极大地降低了中文自然语言处理的开发与研究成本，是中文 AI 社区不可或缺的宝藏仓库。",79857,1,"2026-04-08T20:11:31",[19,14,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},5773,"cs-video-courses","Developer-Y\u002Fcs-video-courses","cs-video-courses 是一个精心整理的计算机科学视频课程清单，旨在为自学者提供系统化的学习路径。它汇集了全球知名高校（如加州大学伯克利分校、新南威尔士大学等）的完整课程录像，涵盖从编程基础、数据结构与算法，到操作系统、分布式系统、数据库等核心领域，并深入延伸至人工智能、机器学习、量子计算及区块链等前沿方向。\n\n面对网络上零散且质量参差不齐的教学资源，cs-video-courses 解决了学习者难以找到成体系、高难度大学级别课程的痛点。该项目严格筛选内容，仅收录真正的大学层级课程，排除了碎片化的简短教程或商业广告，确保用户能接触到严谨的学术内容。\n\n这份清单特别适合希望夯实计算机基础的开发者、需要补充特定领域知识的研究人员，以及渴望像在校生一样系统学习计算机科学的自学者。其独特的技术亮点在于分类极其详尽，不仅包含传统的软件工程与网络安全，还细分了生成式 AI、大语言模型、计算生物学等新兴学科，并直接链接至官方视频播放列表，让用户能一站式获取高质量的教育资源，免费享受世界顶尖大学的课堂体验。",79792,"2026-04-08T22:03:59",[18,13,14,20],{"id":41,"name":42,"github_repo":43,"description_zh":44,"stars":45,"difficulty_score":46,"last_commit_at":47,"category_tags":48,"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":50,"name":51,"github_repo":52,"description_zh":53,"stars":54,"difficulty_score":46,"last_commit_at":55,"category_tags":56,"status":22},519,"PaddleOCR","PaddlePaddle\u002FPaddleOCR","PaddleOCR 是一款基于百度飞桨框架开发的高性能开源光学字符识别工具包。它的核心能力是将图片、PDF 等文档中的文字提取出来，转换成计算机可读取的结构化数据，让机器真正“看懂”图文内容。\n\n面对海量纸质或电子文档，PaddleOCR 解决了人工录入效率低、数字化成本高的问题。尤其在人工智能领域，它扮演着连接图像与大型语言模型（LLM）的桥梁角色，能将视觉信息直接转化为文本输入，助力智能问答、文档分析等应用场景落地。\n\nPaddleOCR 适合开发者、算法研究人员以及有文档自动化需求的普通用户。其技术优势十分明显：不仅支持全球 100 多种语言的识别，还能在 Windows、Linux、macOS 等多个系统上运行，并灵活适配 CPU、GPU、NPU 等各类硬件。作为一个轻量级且社区活跃的开源项目，PaddleOCR 既能满足快速集成的需求，也能支撑前沿的视觉语言研究，是处理文字识别任务的理想选择。",75832,"2026-04-17T21:58:25",[19,13,20,18],{"id":58,"name":59,"github_repo":60,"description_zh":61,"stars":62,"difficulty_score":29,"last_commit_at":63,"category_tags":64,"status":22},3215,"awesome-machine-learning","josephmisiti\u002Fawesome-machine-learning","awesome-machine-learning 是一份精心整理的机器学习资源清单，汇集了全球优秀的机器学习框架、库和软件工具。面对机器学习领域技术迭代快、资源分散且难以甄选的痛点，这份清单按编程语言（如 Python、C++、Go 等）和应用场景（如计算机视觉、自然语言处理、深度学习等）进行了系统化分类，帮助使用者快速定位高质量项目。\n\n它特别适合开发者、数据科学家及研究人员使用。无论是初学者寻找入门库，还是资深工程师对比不同语言的技术选型，都能从中获得极具价值的参考。此外，清单还延伸提供了免费书籍、在线课程、行业会议、技术博客及线下聚会等丰富资源，构建了从学习到实践的全链路支持体系。\n\n其独特亮点在于严格的维护标准：明确标记已停止维护或长期未更新的项目，确保推荐内容的时效性与可靠性。作为机器学习领域的“导航图”，awesome-machine-learning 以开源协作的方式持续更新，旨在降低技术探索门槛，让每一位从业者都能高效地站在巨人的肩膀上创新。",72149,"2026-04-03T21:50:24",[20,18],{"id":66,"github_repo":67,"name":68,"description_en":69,"description_zh":70,"ai_summary_zh":71,"readme_en":72,"readme_zh":73,"quickstart_zh":74,"use_case_zh":75,"hero_image_url":76,"owner_login":77,"owner_name":78,"owner_avatar_url":79,"owner_bio":80,"owner_company":81,"owner_location":81,"owner_email":81,"owner_twitter":81,"owner_website":82,"owner_url":83,"languages":84,"stars":101,"forks":102,"last_commit_at":103,"license":104,"difficulty_score":10,"env_os":105,"env_gpu":106,"env_ram":107,"env_deps":108,"category_tags":117,"github_topics":81,"view_count":10,"oss_zip_url":81,"oss_zip_packed_at":81,"status":22,"created_at":118,"updated_at":119,"faqs":120,"releases":149},8921,"facebookresearch\u002Ffairchem","fairchem","FAIR Chemistry's library of machine learning methods for chemistry ","fairchem 是 Meta FAIR Chemistry 团队打造的开源机器学习库，专为材料科学与量子化学研究设计。它集中提供了丰富的数据、预训练模型及应用示例，旨在利用人工智能加速新材料的发现与分子性质的预测。\n\n传统化学研究依赖昂贵的密度泛函理论（DFT）计算，耗时且算力需求大。fairchem 通过高精度的机器学习势函数模型（如最新发布的 UMA 系列），在保持接近 DFT 计算精度的同时，将模拟速度提升数十倍，有效解决了大规模分子动力学模拟中的效率瓶颈。\n\n这款工具特别适合化学领域的研究人员、计算材料科学家以及 AI for Science 方向的开发者使用。用户可以直接调用预训练模型进行快速推理，也能基于其架构开发新的算法。\n\nfairchem 的技术亮点在于其强大的扩展性与前沿性能。最新版本 UMA-1.2 不仅计算速度提升了约 50%，准确率也显著提高，并扩大了对催化剂、聚合物等复杂体系的数据覆盖。此外，它还原生支持多节点、多 GPU 并行推理，并提供与 LAMMPS 等专业模拟软件的无缝接口，让研究者能够轻松开展亿级原子规模的大尺度动力学模拟，极大地降低了高性能计算","fairchem 是 Meta FAIR Chemistry 团队打造的开源机器学习库，专为材料科学与量子化学研究设计。它集中提供了丰富的数据、预训练模型及应用示例，旨在利用人工智能加速新材料的发现与分子性质的预测。\n\n传统化学研究依赖昂贵的密度泛函理论（DFT）计算，耗时且算力需求大。fairchem 通过高精度的机器学习势函数模型（如最新发布的 UMA 系列），在保持接近 DFT 计算精度的同时，将模拟速度提升数十倍，有效解决了大规模分子动力学模拟中的效率瓶颈。\n\n这款工具特别适合化学领域的研究人员、计算材料科学家以及 AI for Science 方向的开发者使用。用户可以直接调用预训练模型进行快速推理，也能基于其架构开发新的算法。\n\nfairchem 的技术亮点在于其强大的扩展性与前沿性能。最新版本 UMA-1.2 不仅计算速度提升了约 50%，准确率也显著提高，并扩大了对催化剂、聚合物等复杂体系的数据覆盖。此外，它还原生支持多节点、多 GPU 并行推理，并提供与 LAMMPS 等专业模拟软件的无缝接口，让研究者能够轻松开展亿级原子规模的大尺度动力学模拟，极大地降低了高性能计算的使用门槛。","[\u002F\u002F]: # (\u003Ch1 align=\"center\">)\n\n[\u002F\u002F]: # ()\n[\u002F\u002F]: # (\u003Cp align=\"center\">)\n\n[\u002F\u002F]: # (  \u003Cimg width=\"559\" height=\"200\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffacebookresearch_fairchem_readme_6aca6282f1b4.png\"?)\n\n[\u002F\u002F]: # (\u003C\u002Fp>)\n\n[\u002F\u002F]: # ()\n[\u002F\u002F]: # (\u003C\u002Fh1>)\n\n\u003Ch4 align=\"center\">\n\n![tests](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Ffairchem\u002Factions\u002Fworkflows\u002Ftest.yml\u002Fbadge.svg?branch=main&event=push)\n![PyPI - Version](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Ffairchem-core)\n![Static Badge](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpython-3.10%2B-blue)\n[![codecov](https:\u002F\u002Fcodecov.io\u002Fgh\u002Ffacebookresearch\u002Ffairchem\u002Fgraph\u002Fbadge.svg)](https:\u002F\u002Fcodecov.io\u002Fgh\u002Ffacebookresearch\u002Ffairchem)\n[![DOI](https:\u002F\u002Fzenodo.org\u002Fbadge\u002FDOI\u002F10.5281\u002Fzenodo.15587498.svg)](https:\u002F\u002Fdoi.org\u002F10.5281\u002Fzenodo.15587498)\n\n[![Open in GitHub Codespaces](https:\u002F\u002Fgithub.com\u002Fcodespaces\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fcodespaces\u002Fnew\u002Ffacebookresearch\u002Ffairchem?quickstart=1)\n\n\u003C\u002Fh4>\n\n# `fairchem` by the FAIR Chemistry team\n\n`fairchem` is the [FAIR](https:\u002F\u002Fai.meta.com\u002Fresearch\u002F) Chemistry's centralized repository of all its data, models,\ndemos, and application efforts for materials science and quantum chemistry.\n\n> :warning: **FAIRChem version 2 is a breaking change from version 1 and is not compatible with our previous pretrained models and code.**\n> If you want to use an older model or code from version 1 you will need to install [version 1](https:\u002F\u002Fpypi.org\u002Fproject\u002Ffairchem-core\u002F1.10.0\u002F),\n> as detailed [here](#looking-for-fairchem-v1-models-and-code).\n\n> [!CAUTION]\n> UMA models and legacy inorganic bulk models trained using OMat24 are trained with DFT and DFT+U total energy labels.\n> These are not compatible with Materials Project calculations. If you are using UMA or models trained on OMat24 only\n> for such calculations, you can find a OMat24 specific calculations of reference unary compounds and MP2020-style\n> anion and GGA\u002FGGA+U mixing corrections in the [OMat24 Hugging Face repo](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Ffacebook\u002FOMAT24).\n> Do not use MP2020 corrections or use the MP references compounds when using OMat24 trained models. Additional care\n> must be taken when computing energy differences, such as formation and energy above hull and comparing with calculations\n> in the Materials Project since DFT pseudopotentials are different and magnetic ground states may differ as well.\n\n\n## Latest news\nMarch 2026 - UMA-1.2 released! ~50% faster, ~40% more accurate on Open Molecules test set, and expanded data coverage for catalysts (oxides and interfaces), molecules, and polymers!\n\nOct 2025 - [check out our seamless Multi-node, Multi-GPU and LAMMPs interfaces to run large scale dynamics!](#multi-gpu-inference-and-lammps)\n\n## Read our latest release post!\nRead about the [UMA model and OMol25 dataset](https:\u002F\u002Fai.meta.com\u002Fblog\u002Fmeta-fair-science-new-open-source-releases\u002F) release.\n\n[![Meta FAIR Science Release](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffacebookresearch_fairchem_readme_c02238b5b12a.png)](https:\u002F\u002Fai.meta.com\u002Fblog\u002Fmeta-fair-science-new-open-source-releases\u002F?ref=shareable)\n\n## Try the demo!\nIf you want to explore model capabilities check out our\n[educational demo](https:\u002F\u002Ffacebook-fairchem-uma-demo.hf.space\u002F)\n\n[![Educational Demo](https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F7005d1bb-4459-403d-b299-d41fdd8c48ec)](https:\u002F\u002Ffacebook-fairchem-uma-demo.hf.space\u002F)\n\n## Installation\nAlthough not required, we highly recommend installing using a package manager and virtualenv such as [uv](https:\u002F\u002Fdocs.astral.sh\u002Fuv\u002Fgetting-started\u002Finstallation\u002F#standalone-installer), it is much faster and better at resolving dependencies than standalone pip.\n\nInstall fairchem-core using pip\n```bash\npip install fairchem-core\n```\n\nIf you want to contribute or make modifications to the code, clone the repo and install in edit mode\n```bash\ngit clone git@github.com:facebookresearch\u002Ffairchem.git\n\npip install -e fairchem\u002Fpackages\u002Ffairchem-core[dev]\n```\n\n## Quick Start\nThe easiest way to use pretrained models is via the [ASE](https:\u002F\u002Fwiki.fysik.dtu.dk\u002Fase\u002F) `FAIRChemCalculator`.\nA single uma model can be used for a wide range of applications in chemistry and materials science by picking the\nappropriate task name for domain specific prediction.\n\n### Instantiate a calculator from a pretrained model\nMake sure you have a Hugging Face account, have already applied for model access to the\n[UMA model repository](https:\u002F\u002Fhuggingface.co\u002Ffacebook\u002FUMA), and have logged in to Hugging Face using an access token.\nYou can use the following to save an auth token,\n```bash\nhuggingface-cli login\n```\n\nModels are referenced by their name, below are the currently supported models:\n\n| Model Name | Description |\n|---|---|\n| uma-s-1p2 | Latest version of the UMA small model, fastest of the UMA models while still SOTA on most benchmarks (6.6M\u002F290M active\u002Ftotal params) |\n| uma-s-1p1 | Early version of the UMA small model while still SOTA on most benchmarks (6.6M\u002F150M active\u002Ftotal params) |\n| uma-m-1p1 | Best in class UMA model across all metrics, but slower and more memory intensive than uma-s (50M\u002F1.4B active\u002Ftotal params) |\n\n### Set the task for your application and calculate\n\n- **oc20:** use this for catalysis\n- **oc22:** use this for oxide catalysis (1p2 only)\n- **oc25:** use this for (electro)catalysis (1p2 only)\n- **omat:** use this for inorganic materials\n- **omol:** use this for molecules+polymers\n- **odac:** use this for MOFs\n- **omc:** use this for molecular crystals\n\n#### Relax an adsorbate on a catalytic surface,\n```python\nfrom ase.build import fcc100, add_adsorbate, molecule\nfrom ase.optimize import LBFGS\nfrom fairchem.core import pretrained_mlip, FAIRChemCalculator\n\npredictor = pretrained_mlip.get_predict_unit(\"uma-s-1p2\", device=\"cuda\")\ncalc = FAIRChemCalculator(predictor, task_name=\"oc20\")\n\n# Set up your system as an ASE atoms object\nslab = fcc100(\"Cu\", (3, 3, 3), vacuum=8, periodic=True)\nadsorbate = molecule(\"CO\")\nadd_adsorbate(slab, adsorbate, 2.0, \"bridge\")\n\nslab.calc = calc\n\n# Set up LBFGS dynamics object\nopt = LBFGS(slab)\nopt.run(0.05, 100)\n```\n\n#### Relax an inorganic crystal,\n```python\nfrom ase.build import bulk\nfrom ase.optimize import FIRE\nfrom ase.filters import FrechetCellFilter\nfrom fairchem.core import pretrained_mlip, FAIRChemCalculator\n\npredictor = pretrained_mlip.get_predict_unit(\"uma-s-1p2\", device=\"cuda\")\ncalc = FAIRChemCalculator(predictor, task_name=\"omat\")\n\natoms = bulk(\"Fe\")\natoms.calc = calc\n\nopt = FIRE(FrechetCellFilter(atoms))\nopt.run(0.05, 100)\n```\n\n#### Run Molecular Dynamics (MD)\nNote: `pretrained_mlip.get_predict_unit()` currently uses a seed to set the global state of the numpy RNG. In order to obtain different trajectories for different runs of the following code, we have to set a random seed as shown below:\n```python\nfrom ase import units\nfrom ase.io import Trajectory\nfrom ase.md.langevin import Langevin\nfrom ase.build import molecule\nfrom fairchem.core import pretrained_mlip, FAIRChemCalculator\n\nseed = np.random.randint(0, np.iinfo(np.int32).max, dtype=int)\npredictor = pretrained_mlip.get_predict_unit(\"uma-s-1p2\", device=\"cuda\", seed=seed)\ncalc = FAIRChemCalculator(predictor, task_name=\"omol\")\n\natoms = molecule(\"H2O\")\natoms.calc = calc\n\ndyn = Langevin(\n    atoms,\n    timestep=0.1 * units.fs,\n    temperature_K=400,\n    friction=0.001 \u002F units.fs,\n)\ntrajectory = Trajectory(\"my_md.traj\", \"w\", atoms)\ndyn.attach(trajectory.write, interval=1)\ndyn.run(steps=1000)\n```\n\n#### Calculate a spin gap,\n```python\nfrom ase.build import molecule\nfrom fairchem.core import pretrained_mlip, FAIRChemCalculator\n\npredictor = pretrained_mlip.get_predict_unit(\"uma-s-1p2\", device=\"cuda\")\n\n#  singlet CH2\nsinglet = molecule(\"CH2_s1A1d\")\nsinglet.info.update({\"spin\": 1, \"charge\": 0})\nsinglet.calc = FAIRChemCalculator(predictor, task_name=\"omol\")\n\n#  triplet CH2\ntriplet = molecule(\"CH2_s3B1d\")\ntriplet.info.update({\"spin\": 3, \"charge\": 0})\ntriplet.calc = FAIRChemCalculator(predictor, task_name=\"omol\")\n\ntriplet.get_potential_energy() - singlet.get_potential_energy()\n```\n\n#### Multi-GPU Inference and LAMMPs\nIf you have multiple gpus (or multiple nodes), we handle all the parallelism for you under the hood by a single flag (workers=N). For example, you can run the following 8000 atom md simulation with ~10 qps (8x H100 GPU), ~10x faster than single-gpu inference! Current benchmarks show we can run uma-s @ ~1 ns\u002Fper day with 100k+ atoms systems in real MD scenarios (more on this to come!). This is also compatible with LAMMPs to perform large scale MD. See our [docs](https:\u002F\u002Ffair-chem.github.io\u002Fcore\u002Fcommon_tasks\u002Fsummary.html) for more details. This requires the Ray package to be installed and comes with the extras bundle.\n```\npip install fairchem-core[extras]\n```\n\n```python\nfrom ase import units\nfrom ase.md.langevin import Langevin\nfrom fairchem.core import pretrained_mlip, FAIRChemCalculator\nimport time\n\nfrom fairchem.core.datasets.common_structures import get_fcc_crystal_by_num_atoms\n\nseed = np.random.randint(0, np.iinfo(np.int32).max, dtype=int)\npredictor = pretrained_mlip.get_predict_unit(\n    \"uma-s-1p2\", inference_settings=\"turbo\", device=\"cuda\", workers=8, seed=seed,\n)\ncalc = FAIRChemCalculator(predictor, task_name=\"omat\")\n\natoms = get_fcc_crystal_by_num_atoms(8000)\natoms.calc = calc\n\ndyn = Langevin(\n    atoms,\n    timestep=0.1 * units.fs,\n    temperature_K=400,\n    friction=0.001 \u002F units.fs,\n)\n# warmup 10 steps\ndyn.run(steps=10)\nstart_time = time.time()\ndyn.attach(\n    lambda: print(\n        f\"Step: {dyn.get_number_of_steps()}, E: {atoms.get_potential_energy():.3f} eV, \"\n        f\"QPS: {dyn.get_number_of_steps()\u002F(time.time()-start_time):.2f}\"\n    ),\n    interval=1,\n)\ndyn.run(steps=1000)\n```\n\n### LICENSE\n`fairchem` is available under a [MIT License](LICENSE.md). Models\u002Fcheckpoint licenses vary by application area.\n","[\u002F\u002F]: # (\u003Ch1 align=\"center\">)\n\n[\u002F\u002F]: # ()\n[\u002F\u002F]: # (\u003Cp align=\"center\">)\n\n[\u002F\u002F]: # (  \u003Cimg width=\"559\" height=\"200\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffacebookresearch_fairchem_readme_6aca6282f1b4.png\"?)\n\n[\u002F\u002F]: # (\u003C\u002Fp>)\n\n[\u002F\u002F]: # ()\n[\u002F\u002F]: # (\u003C\u002Fh1>)\n\n\u003Ch4 align=\"center\">\n\n![tests](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Ffairchem\u002Factions\u002Fworkflows\u002Ftest.yml\u002Fbadge.svg?branch=main&event=push)\n![PyPI - Version](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Ffairchem-core)\n![Static Badge](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpython-3.10%2B-blue)\n[![codecov](https:\u002F\u002Fcodecov.io\u002Fgh\u002Ffacebookresearch\u002Ffairchem\u002Fgraph\u002Fbadge.svg)](https:\u002F\u002Fcodecov.io\u002Fgh\u002Ffacebookresearch\u002Ffairchem)\n[![DOI](https:\u002F\u002Fzenodo.org\u002Fbadge\u002FDOI\u002F10.5281\u002Fzenodo.15587498.svg)](https:\u002F\u002Fdoi.org\u002F10.5281\u002Fzenodo.15587498)\n\n[![Open in GitHub Codespaces](https:\u002F\u002Fgithub.com\u002Fcodespaces\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fcodespaces\u002Fnew\u002Ffacebookresearch\u002Ffairchem?quickstart=1)\n\n\u003C\u002Fh4>\n\n# `fairchem` 由 FAIR 化学团队开发\n\n`fairchem` 是 [FAIR](https:\u002F\u002Fai.meta.com\u002Fresearch\u002F) 化学团队的集中式存储库，包含了其在材料科学和量子化学领域的所有数据、模型、演示及应用成果。\n\n> :warning: **FAIRChem 2.0 版本与 1.0 版本相比存在重大变更，不兼容我们之前的预训练模型和代码。**\n> 如果您希望使用 1.0 版本中的旧模型或代码，您需要安装 [1.0 版本](https:\u002F\u002Fpypi.org\u002Fproject\u002Ffairchem-core\u002F1.10.0\u002F)，\n> 具体方法请参见 [此处](#looking-for-fairchem-v1-models-and-code)。\n\n> [!CAUTION]\n> 使用 OMat24 训练的 UMA 模型以及传统无机块体模型采用的是 DFT 和 DFT+U 总能量标签进行训练。\n> 这些模型与 Materials Project 的计算结果并不兼容。如果您仅将 UMA 或仅基于 OMat24 训练的模型用于此类计算，\n> 可以在 [OMat24 Hugging Face 仓库](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Ffacebook\u002FOMAT24) 中找到针对参考单质化合物的 OMat24 特定计算，\n> 以及 MP2020 风格的阴离子和 GGA\u002FGGA+U 混合校正。请勿在使用 OMat24 训练模型时采用 MP2020 校正或 MP 参考化合物。\n> 在计算诸如形成能、相图上能量等能量差值并与 Materials Project 中的计算结果进行比较时，需格外注意，\n> 因为 DFT 假势的不同以及磁性基态可能存在的差异。\n\n\n## 最新消息\n2026年3月 - UMA-1.2 发布！速度提升约50%，在 Open Molecules 测试集上的准确率提高约40%，并扩展了对催化剂（氧化物和界面）、分子及聚合物的数据覆盖！\n\n2025年10月 - [查看我们的无缝多节点、多 GPU 以及 LAMMPS 接口，以运行大规模动力学模拟！](#multi-gpu-inference-and-lammps)\n\n## 阅读我们的最新发布文章！\n了解关于 [UMA 模型和 OMol25 数据集](https:\u002F\u002Fai.meta.com\u002Fblog\u002Fmeta-fair-science-new-open-source-releases\u002F) 发布的信息。\n\n[![Meta FAIR Science Release](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffacebookresearch_fairchem_readme_c02238b5b12a.png)](https:\u002F\u002Fai.meta.com\u002Fblog\u002Fmeta-fair-science-new-open-source-releases\u002F?ref=shareable)\n\n## 体验演示！\n如果您想探索模型的功能，请访问我们的\n[教育演示](https:\u002F\u002Ffacebook-fairchem-uma-demo.hf.space\u002F)\n\n[![Educational Demo](https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F7005d1bb-4459-403d-b299-d41fdd8c48ec)](https:\u002F\u002Ffacebook-fairchem-uma-demo.hf.space\u002F)\n\n## 安装\n尽管不是必需的，但我们强烈建议使用包管理器和虚拟环境来安装，例如 [uv](https:\u002F\u002Fdocs.astral.sh\u002Fuv\u002Fgetting-started\u002Finstallation\u002F#standalone-installer)，它比单独使用 pip 更快，且在解决依赖关系方面表现更好。\n\n使用 pip 安装 fairchem-core\n```bash\npip install fairchem-core\n```\n\n如果您希望参与贡献或对代码进行修改，可以克隆仓库并以编辑模式安装：\n```bash\ngit clone git@github.com:facebookresearch\u002Ffairchem.git\n\npip install -e fairchem\u002Fpackages\u002Ffairchem-core[dev]\n```\n\n## 快速入门\n使用预训练模型最简单的方式是通过 [ASE](https:\u002F\u002Fwiki.fysik.dtu.dk\u002Fase\u002F) 的 `FAIRChemCalculator`。\n只需选择适合特定领域预测的任务名称，即可利用单一的 uma 模型完成化学和材料科学中的多种应用。\n\n### 从预训练模型实例化计算器\n请确保您拥有 Hugging Face 账户，并已申请访问 [UMA 模型仓库](https:\u002F\u002Fhuggingface.co\u002Ffacebook\u002FUMA) 的权限，同时使用访问令牌登录 Hugging Face。\n您可以使用以下命令保存身份验证令牌：\n```bash\nhuggingface-cli login\n```\n\n模型通过其名称引用，以下是当前支持的模型：\n\n| 模型名称 | 描述 |\n|---|---|\n| uma-s-1p2 | UMA 小型模型的最新版本，在大多数基准测试中仍保持 SOTA 水平，且速度最快（激活参数\u002F总参数：6.6M\u002F290M） |\n| uma-s-1p1 | UMA 小型模型的早期版本，同样在大多数基准测试中保持 SOTA 水平（激活参数\u002F总参数：6.6M\u002F150M） |\n| uma-m-1p1 | 在各项指标上均属一流的 UMA 模型，但速度较慢且内存占用较高（激活参数\u002F总参数：50M\u002F1.4B） |\n\n### 为您的应用设置任务并进行计算\n\n- **oc20:** 适用于催化领域\n- **oc22:** 仅限 1p2 版本，适用于氧化物催化\n- **oc25:** 仅限 1p2 版本，适用于（电）催化\n- **omat:** 适用于无机材料\n- **omol:** 适用于分子和聚合物\n- **odac:** 适用于 MOF\n- **omc:** 适用于分子晶体\n\n#### 在催化表面上优化吸附物种，\n```python\nfrom ase.build import fcc100, add_adsorbate, molecule\nfrom ase.optimize import LBFGS\nfrom fairchem.core import pretrained_mlip, FAIRChemCalculator\n\npredictor = pretrained_mlip.get_predict_unit(\"uma-s-1p2\", device=\"cuda\")\ncalc = FAIRChemCalculator(predictor, task_name=\"oc20\")\n\n# 将您的体系设置为 ASE atoms 对象\nslab = fcc100(\"Cu\", (3, 3, 3), vacuum=8, periodic=True)\nadsorbate = molecule(\"CO\")\nadd_adsorbate(slab, adsorbate, 2.0, \"bridge\")\n\nslab.calc = calc\n\n# 设置 LBFGS 动力学对象\nopt = LBFGS(slab)\nopt.run(0.05, 100)\n```\n\n#### 对无机晶体进行弛豫，\n```python\nfrom ase.build import bulk\nfrom ase.optimize import FIRE\nfrom ase.filters import FrechetCellFilter\nfrom fairchem.core import pretrained_mlip, FAIRChemCalculator\n\npredictor = pretrained_mlip.get_predict_unit(\"uma-s-1p2\", device=\"cuda\")\ncalc = FAIRChemCalculator(predictor, task_name=\"omat\")\n\natoms = bulk(\"Fe\")\natoms.calc = calc\n\nopt = FIRE(FrechetCellFilter(atoms))\nopt.run(0.05, 100)\n```\n\n#### 运行分子动力学 (MD)\n注意：`pretrained_mlip.get_predict_unit()` 目前使用一个种子来设置 numpy 随机数生成器的全局状态。为了在每次运行以下代码时获得不同的轨迹，我们需要按照如下方式设置随机种子：\n```python\nfrom ase import units\nfrom ase.io import Trajectory\nfrom ase.md.langevin import Langevin\nfrom ase.build import molecule\nfrom fairchem.core import pretrained_mlip, FAIRChemCalculator\n\nseed = np.random.randint(0, np.iinfo(np.int32).max, dtype=int)\npredictor = pretrained_mlip.get_predict_unit(\"uma-s-1p2\", device=\"cuda\", seed=seed)\ncalc = FAIRChemCalculator(predictor, task_name=\"omol\")\n\natoms = molecule(\"H2O\")\natoms.calc = calc\n\ndyn = Langevin(\n    atoms,\n    timestep=0.1 * units.fs,\n    temperature_K=400,\n    friction=0.001 \u002F units.fs,\n)\ntrajectory = Trajectory(\"my_md.traj\", \"w\", atoms)\ndyn.attach(trajectory.write, interval=1)\ndyn.run(steps=1000)\n```\n\n#### 计算自旋能隙，\n```python\nfrom ase.build import molecule\nfrom fairchem.core import pretrained_mlip, FAIRChemCalculator\n\npredictor = pretrained_mlip.get_predict_unit(\"uma-s-1p2\", device=\"cuda\")\n\n# 单重态 CH2\nsinglet = molecule(\"CH2_s1A1d\")\nsinglet.info.update({\"spin\": 1, \"charge\": 0})\nsinglet.calc = FAIRChemCalculator(predictor, task_name=\"omol\")\n\n# 三重态 CH2\ntriplet = molecule(\"CH2_s3B1d\")\ntriplet.info.update({\"spin\": 3, \"charge\": 0})\ntriplet.calc = FAIRChemCalculator(predictor, task_name=\"omol\")\n\ntriplet.get_potential_energy() - singlet.get_potential_energy()\n```\n\n#### 多 GPU 推理与 LAMMPS\n如果您有多块 GPU（或多个节点），我们只需通过一个参数（workers=N）即可在后台为您处理所有并行计算。例如，您可以运行以下包含 8000 个原子的 MD 模拟，性能约为每秒 10 步（使用 8 块 H100 GPU），比单 GPU 推理快约 10 倍！目前的基准测试表明，在真实的 MD 场景中，我们可以以每天约 1 纳秒的速度运行 uma-s 模型，处理超过 10 万个原子的体系（更多内容即将发布）。此功能也兼容 LAMMPS，可用于执行大规模 MD 模拟。有关详细信息，请参阅我们的 [文档](https:\u002F\u002Ffair-chem.github.io\u002Fcore\u002Fcommon_tasks\u002Fsummary.html)。这需要安装 Ray 包，并且包含 extras 组件。\n```\npip install fairchem-core[extras]\n```\n\n```python\nfrom ase import units\nfrom ase.md.langevin import Langevin\nfrom fairchem.core import pretrained_mlip, FAIRChemCalculator\nimport time\n\nfrom fairchem.core.datasets.common_structures import get_fcc_crystal_by_num_atoms\n\nseed = np.random.randint(0, np.iinfo(np.int32).max, dtype=int)\npredictor = pretrained_mlip.get_predict_unit(\n    \"uma-s-1p2\", inference_settings=\"turbo\", device=\"cuda\", workers=8, seed=seed,\n)\ncalc = FAIRChemCalculator(predictor, task_name=\"omat\")\n\natoms = get_fcc_crystal_by_num_atoms(8000)\natoms.calc = calc\n\ndyn = Langevin(\n    atoms,\n    timestep=0.1 * units.fs,\n    temperature_K=400,\n    friction=0.001 \u002F units.fs,\n)\n# 预热 10 步\ndyn.run(steps=10)\nstart_time = time.time()\ndyn.attach(\n    lambda: print(\n        f\"步数: {dyn.get_number_of_steps()}, 能量: {atoms.get_potential_energy():.3f} eV, \"\n        f\"QPS: {dyn.get_number_of_steps()\u002F(time.time()-start_time):.2f}\"\n    ),\n    interval=1,\n)\ndyn.run(steps=1000)\n```\n\n### 许可证\n`fairchem` 采用 [MIT 许可证](LICENSE.md)。不同应用领域的模型\u002F检查点许可证可能有所不同。","# fairchem 快速上手指南\n\n`fairchem` 是 Meta FAIR Chemistry 团队开源的材料科学与量子化学工具库，集成了最新的数据、模型（如 UMA 系列）及应用接口。本指南将帮助您快速在本地环境中部署并使用预训练模型进行化学计算。\n\n## 环境准备\n\n在开始之前，请确保您的开发环境满足以下要求：\n\n*   **操作系统**: Linux 或 macOS (Windows 用户建议使用 WSL2 或 Docker)\n*   **Python 版本**: 3.10 或更高版本\n*   **GPU 支持**: 推荐使用 NVIDIA GPU 并安装对应的 CUDA 驱动（用于加速推理）\n*   **Hugging Face 账号**: 访问 [UMA 模型仓库](https:\u002F\u002Fhuggingface.co\u002Ffacebook\u002FUMA) 需要注册账号并申请访问权限。\n\n> **注意**：`fairchem` v2 版本与 v1 不兼容。如果您需要使用旧版模型或代码，请单独安装 v1.10.0 版本。\n\n## 安装步骤\n\n推荐使用 `uv` 等现代包管理器以获得更快的依赖解析速度，也可以使用标准的 `pip` 进行安装。\n\n### 1. 基础安装\n直接通过 pip 安装核心包：\n```bash\npip install fairchem-core\n```\n\n### 2. 开发者模式安装（可选）\n如果您需要修改源码或贡献代码：\n```bash\ngit clone git@github.com:facebookresearch\u002Ffairchem.git\npip install -e fairchem\u002Fpackages\u002Ffairchem-core[dev]\n```\n\n### 3. 启用高级功能（可选）\n若需使用多 GPU 并行推理或 LAMMPS 接口，请安装额外依赖包：\n```bash\npip install fairchem-core[extras]\n```\n\n### 4. 配置模型访问权限\n在使用预训练模型前，需登录 Hugging Face：\n```bash\nhuggingface-cli login\n```\n*请确保您已按照提示输入 Access Token，并且该账号已获得 UMA 模型的访问授权。*\n\n## 基本使用\n\n`fairchem` 最便捷的用法是通过 `FAIRChemCalculator` 结合 ASE (Atomic Simulation Environment) 进行调用。您只需选择对应的任务名称（如催化、无机材料、分子等），即可加载预训练的 UMA 模型。\n\n### 示例：催化表面吸附物弛豫\n\n以下示例演示如何加载 `uma-s-1p2` 模型，并在铜表面弛豫一个 CO 吸附物。\n\n```python\nfrom ase.build import fcc100, add_adsorbate, molecule\nfrom ase.optimize import LBFGS\nfrom fairchem.core import pretrained_mlip, FAIRChemCalculator\n\n# 1. 加载预训练模型预测单元\n# 可选模型：uma-s-1p2 (最快), uma-m-1p1 (精度最高)\npredictor = pretrained_mlip.get_predict_unit(\"uma-s-1p2\", device=\"cuda\")\n\n# 2. 初始化计算器，指定任务类型\n# 任务选项：oc20 (催化), omat (无机材料), omol (分子), odac (MOFs) 等\ncalc = FAIRChemCalculator(predictor, task_name=\"oc20\")\n\n# 3. 构建 ASE Atoms 对象\nslab = fcc100(\"Cu\", (3, 3, 3), vacuum=8, periodic=True)\nadsorbate = molecule(\"CO\")\nadd_adsorbate(slab, adsorbate, 2.0, \"bridge\")\n\nslab.calc = calc\n\n# 4. 执行结构弛豫\nopt = LBFGS(slab)\nopt.run(0.05, 100)\n\nprint(f\"Final energy: {slab.get_potential_energy()} eV\")\n```\n\n### 其他常见任务速查\n\n*   **无机晶体弛豫**: 设置 `task_name=\"omat\"`，配合 `FrechetCellFilter` 使用。\n*   **分子动力学 (MD)**: 设置 `task_name=\"omol\"`，结合 `ase.md.langevin.Langevin` 使用。\n*   **自旋态计算**: 在 `atoms.info` 中设置 `spin` 和 `charge` 属性，同样使用 `task_name=\"omol\"`。\n\n> **提示**：对于大规模系统（如 8000+ 原子）或多 GPU 环境，可在 `get_predict_unit` 中设置 `workers=N` 和 `inference_settings=\"turbo\"` 以显著提升推理速度。","某新能源材料研发团队正致力于筛选高效锂硫电池催化剂，需要在数万个候选氧化物结构中快速预测其吸附能与稳定性。\n\n### 没有 fairchem 时\n- 依赖传统密度泛函理论（DFT）计算单个分子的能量需耗时数小时甚至数天，无法在合理时间内完成大规模筛选。\n- 不同团队使用的 DFT 伪势和磁基态设置不一致，导致数据难以对齐，复现性差且容易引入人为误差。\n- 缺乏针对催化剂界面和聚合物的大规模预训练模型，从头训练需要海量标注数据和昂贵的算力资源。\n- 手动编写脚本对接量子化学软件与机器学习框架，接口繁琐且极易出错，严重拖慢研发迭代速度。\n\n### 使用 fairchem 后\n- 利用 UMA-1.2 模型进行推理，预测速度提升约 50%，能在几分钟内完成原本需要数周的成千上万个候选物筛选。\n- 直接调用基于 OMat24 数据集训练的标准化模型，自动处理 DFT+U 修正与参考化合物对齐，确保能量计算的一致性与准确性。\n- 借助覆盖氧化物、界面及聚合物的扩展数据覆盖范围，无需额外训练即可直接对复杂催化体系进行高精度性质预测。\n- 通过无缝集成的 ASE 接口与 LAMMPS 动力学支持，研究人员可用几行代码直接调用预训练模型，大幅简化工作流并聚焦科学问题。\n\nfairchem 将原本耗时数月的材料筛选周期压缩至几天，让科学家能从繁重的计算中解放出来，专注于高价值的创新发现。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffacebookresearch_fairchem_c02238b5.png","facebookresearch","Meta Research","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Ffacebookresearch_449342bd.png","",null,"https:\u002F\u002Fopensource.fb.com","https:\u002F\u002Fgithub.com\u002Ffacebookresearch",[85,89,93,97],{"name":86,"color":87,"percentage":88},"Python","#3572A5",95.2,{"name":90,"color":91,"percentage":92},"QuickBASIC","#008080",4.7,{"name":94,"color":95,"percentage":96},"Ada","#02f88c",0.1,{"name":98,"color":99,"percentage":100},"Shell","#89e051",0,2065,463,"2026-04-17T22:02:39","NOASSERTION","未说明","需要 NVIDIA GPU (代码示例中指定 device='cuda')，多卡支持需通过 workers 参数配置 (示例提及 H100)，具体显存和 CUDA 版本未说明","未说明 (大模型 uma-m-1p1 被描述为更占用内存)",{"notes":109,"python":110,"dependencies":111},"1. 使用前必须拥有 Hugging Face 账号并申请 UMA 模型仓库的访问权限，需通过 'huggingface-cli login' 登录。2. 推荐使用 'uv' 或虚拟环境进行安装以解决依赖问题。3. v2 版本与 v1 不兼容，旧模型需单独安装 v1 版本。4. 运行分子动力学或多卡推理时需安装额外依赖包 (fairchem-core[extras]) 以支持 Ray。5. 不同任务领域（如催化、无机材料、分子等）需选择对应的 task_name。","3.10+",[112,113,114,115,116],"fairchem-core","ase","huggingface-cli","ray (多卡\u002F分布式推理必需)","numpy",[18],"2026-03-27T02:49:30.150509","2026-04-18T14:26:00.020091",[121,126,131,135,140,145],{"id":122,"question_zh":123,"answer_zh":124,"source_url":125},40006,"为什么在计算损失或评估指标时会出现 'nan'（非数字）错误？","这通常是由于数据预处理问题或特定版本的 Bug 导致的。首先检查数据集是否包含异常值。如果使用的是旧版本，请尝试升级到最新的 git 版本，因为相关的 PR（如 #1574）可能已经修复了此问题。此外，确保在创建数据集时正确处理了 'stress' 等属性，避免 AttributeError 引发的连锁反应。","https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Ffairchem\u002Fissues\u002F1568",{"id":127,"question_zh":128,"answer_zh":129,"source_url":130},40007,"运行代码时报错 'stress property not implemented'（未实现应力属性），如何解决？","目前只有 OMat24 系列的模型支持应力（stress）计算。如果您使用的模型（如 EquiformerV2 的某些旧检查点）不支持该属性，请更换为 OMat24 模型的检查点。您可以在 Hugging Face 上找到相关模型：https:\u002F\u002Fhuggingface.co\u002Ffairchem\u002FOMAT24。使用时请确保加载正确的 checkpoint 文件（例如 eqV2_..._omat_mp_salex.pt）。","https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Ffairchem\u002Fissues\u002F888",{"id":132,"question_zh":133,"answer_zh":134,"source_url":130},40008,"如何确认当前加载的计算器（Calculator）是否支持应力（stress）计算？","您可以通过打印计算器的 `implemented_properties` 属性来验证。在代码中运行 `print(calc.implemented_properties)`，如果输出包含 `'stress'`（即显示 `['energy', 'forces', 'stress']`），则说明当前模型支持应力计算。如果缺少该项，请更换支持应力的模型检查点。同时，建议检查 ASE 版本（推荐 3.23.0）和 PyTorch 环境配置。",{"id":136,"question_zh":137,"answer_zh":138,"source_url":139},40009,"为什么多次运行相同的计算会得到不一致的能量结果（非确定性）？","计算结果的微小波动取决于所使用的模型架构和硬件设备。测试表明：\n1. **EquiformerV2 (EqV2)**：在 GPU 上是完全确定性的（每次结果相同）；在 CPU 上会有极微小的浮点数差异。\n2. **eSCN**：无论是在 GPU 还是 CPU 上，都会表现出一定的数值方差（非完全确定性）。\n如果您需要严格的可复现性，建议优先使用 EquiformerV2 模型并在 GPU 上运行。","https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Ffairchem\u002Fissues\u002F563",{"id":141,"question_zh":142,"answer_zh":143,"source_url":144},40010,"如何将之前的研究（使用 eq2_153M_ec4_allmd.pt 模型）迁移到 Fairchem v2 或 UMA 框架？","旧的 `eq2_153M_ec4_allmd.pt` 模型在 Fairchem v2 中已不再直接使用。您可以使用 UMA 框架进行类似的微调工作。对于吸附能预测任务，建议使用 `uma-sm` 检查点作为基础模型。注意，在计算吸附能时，务必使用参考反应（reference reaction）的方法来处理能量差，以获得与实验值吻合的良好结果。","https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Ffairchem\u002Fissues\u002F1201",{"id":146,"question_zh":147,"answer_zh":148,"source_url":130},40011,"在使用 OCPCalculator 进行结构弛豫时，如何正确配置以包含晶胞弛豫（cell relaxations）？","要包含晶胞弛豫，需要在 ASE 优化器中包裹 `FrechetCellFilter`。示例代码如下：\n```python\nfrom ase.optimize import FIRE\nfrom ase.filters import FrechetCellFilter\nfrom fairchem.core import OCPCalculator\n\n# 初始化计算器\ncalc = OCPCalculator(checkpoint_path=\"您的模型路径.pt\")\natoms.calc = calc\n\n# 使用 FrechetCellFilter 包裹 atoms 以允许晶胞变化\ndyn = FIRE(FrechetCellFilter(atoms))\ndyn.run(fmax=0.05)\n```\n请确保您加载的模型检查点支持 'stress' 属性，否则上述代码会报错。",[150,155,160,165,170,175,180,185,190,195,200,205,210,215,220,225,230,235,240,245],{"id":151,"version":152,"summary_zh":153,"released_at":154},323502,"fairchem_core-2.19.0","## 变更内容\n\n## 新功能 \u002F 功能增强\n\n* 修复(编译): 移除 ChgSpinEmbedding rand_emb 路径中的图断点 (#1907) @misko\n\n## Bug 修复\n\n* 解决一些小的边界情况下的 bug (#1920) @mshuaibii\n* 修复 Triton 导入失败导致的 torch-sim (TS) CI 失败问题。优化 TS 接口，移除 for 循环和 ase。(#1901) @CompRhys\n* 修复 permute_wigner_inv bwd_dw 内核，增加对超过 128 个通道的支持 (#1902) @misko\n","2026-03-26T01:28:20",{"id":156,"version":157,"summary_zh":158,"released_at":159},323503,"fairchem_core-2.18.1","## 变更内容\n\n## 新功能 \u002F 功能增强\n\n* md 运行器抽象 + 优化 (#1835) @mshuaibii\n","2026-03-23T17:25:41",{"id":161,"version":162,"summary_zh":163,"released_at":164},323504,"fairchem_core-2.18.0","## 变更内容\n\n* 默认启用的涡轮模式现在会应用 UMA 1.2 加速（此前该功能需在执行后端 uma_fast_gpu 下手动开启）。\n* 使用 MD 运行涡轮模式时，流程更加流畅，且因 Torch 重新编译导致的性能下降明显减少。\n\n## 新特性 \u002F 改进\n\n* 修复 nvalchemi 版本问题 (#1905) @misko\n* 整合涡轮模式与 turbo_umas 功能 (#1898) @rayg1234\n* 优化 MD 的 Torch 编译过程 (#1892) @misko\n* 在更高精度下降低计算量 (#1889) @rayg1234\n* 将 TorchSim 接口升级至上游版本，以避免 CI 问题及与 fa… 相关的兼容性问题 (#1895) @lbluque\n* 默认使用未训练的预测结果 (#1883) @lbluque\n* 检查点修复脚本 (#1858) @misko\n\n## Bug 修复\n\n* 修复单原子相关 bug 并添加测试 (#1882) @wood-b\n\n## 依赖项\n\n* NumPy 升级至 2.4 版本 (#1862) @lbluque\n","2026-03-16T23:33:05",{"id":166,"version":167,"summary_zh":168,"released_at":169},323505,"fairchem_lammps-0.5.0","## 变更内容\n\n## 新功能 \u002F 改进\n\n*   启用未训练的属性预测，包括海森矩阵                                                            (#1811) @lbluque\n","2026-03-09T00:22:09",{"id":171,"version":172,"summary_zh":173,"released_at":174},323506,"fairchem_core-2.17.0","## 变更内容\n\n本次发布新增了为 UMA 1.2 预测应力输出的功能，并减少了由于 torch compile 中的 bug 导致的新 UMASFastGPU 后端重新编译问题。\n\n* 使用共享辅助函数重构 MLP 能量\u002FEFS 头部 (#1734) @lbluque\n\n## 新特性 \u002F 改进\n\n* 启用未训练属性预测，包括 Hessian 矩阵                                                            (#1811) @lbluque\n* 添加 Hessian 矩阵计算支持 (#1735) @lbluque\n* 多节点性能分析脚本  (#1845) @rayg1234\n","2026-03-08T20:54:02",{"id":176,"version":177,"summary_zh":178,"released_at":179},323507,"fairchem_core-2.16.0","## 变更内容\n\n* UMA-S 1.2 版本发布！\n\n## 新特性 \u002F 改进\n\n* UMA-S 1.2 (#1861) @misko\n* 重构单原子相关代码 (#1732) @levineds\n* 添加模型 ID (#1859) @misko\n* 功能：在 DatasetSpecificMoEWrapper 中添加 MOLE 模型支持 (#1848) @misko\n* 添加用于批处理径向计算的 UnifiedRadialMLP (#1831) @misko\n* UMAS 快速 GPU 后端 (#1826) @misko\n* 为 NVIDIA GraphGen 启用 GP (#1791) @rayg1234\n* [adsorbml] 自定义吸附质支持 (#1822) @mshuaibii\n\n## Bug 修复\n\n* 禁用 chan balance 编译 (#1863) @rayg1234\n* 回滚 2 个提交 (#1860) @rayg1234\n* 更新推理设置 (#1857) @wood-b\n* 修复基准测试中的数据加载导入问题 (#1850) @lbluque\n* 在 from_model_checkpoint 中添加 workers 参数 (#1844) @rayg1234\n* 基于四元数的 Wigner D 方法，用于修复 y 轴对齐的边 (#1771) @levineds\n* 修复 omc-is2re-多晶型约简器 (#1837) @lbluque\n* 回滚 graphgen v2 的预分区操作 (#1838) @rayg1234\n* 为未创建抢占状态的运行器添加抢占状态 (#1834) @mshuaibii\n* 修复每个原子的 MAE 错误 (#1825) @EricZQu\n\n## 测试\n\n* 在测试中使用 uma-1p1 替代 uma-1 (#1856) @lbluque\n","2026-03-05T19:39:16",{"id":181,"version":182,"summary_zh":183,"released_at":184},323508,"fairchem_core-2.15.0","## 变更内容\n\n## 新功能 \u002F 功能增强\n\n* 通用 MD 运行器 (#1782) @mshuaibii  \n* NVIDIA 图生成支持 (#1737) @mshuaibii  \n* 添加 fp64 推理设置 (#1789) @levineds  \n* 执行后端 (#1802) @misko  \n* 嵌入更新 (#1765) @wood-b  \n* 组合丢弃 (#1767) @wood-b  \n* 将边包络合并到 wigner_mapping_inv 中，而非在每一层上单独应用 (#1792) @misko  \n* 通道电荷与自旋 (#1768) @wood-b  \n\n## Bug 修复\n\n* 修复不稳定单元测试 (#1805) @levineds  \n* Bug 修复 (#1812) @wood-b  \n* [ray] 多个本地集群的唯一仪表板 + 工作节点端口 (#1787) @mshuaibii  \n\n## 依赖项\n\n* NumPy 1.26+ 兼容性 (#1738) @bkmi","2026-02-25T22:06:02",{"id":186,"version":187,"summary_zh":188,"released_at":189},323509,"fairchem_core-2.14.0","## 变更内容\n\n## 新功能 \u002F 功能增强\n\n* 本地错误处理程序 (#1775) @mshuaibii\n* 增加测试 PostgreSQL 超时时间 (#1788) @rayg1234\n* 重构 FAIRChemCalculator，使其与模型无关 (#1731) @levineds\n* 重构 MLIPPredictUnit，使其与模型无关 (#1727) @levineds\n* 加载现有头部以进行微调 (#1766) @wood-b\n* 将 ODAC25 模型添加到 pretrained.json，并新增一个用于 ODAC 数据的软件包 (#1719) @anuroopsriram\n* 将 Ray 启动器改为在单个 Slurm 作业中运行 (#1723) @rayg1234\n* 使用原子数量作为批量大小 (#1690) @lbluque\n\n## Bug 修复\n\n* 将测试初始化移至文件级别 (#1785) @mshuaibii\n* 修复 NPT + GP + Mole 的 bug (#1780) @rayg1234\n* 在 torchtnt 解决安装问题之前应用补丁 (#1763) @mshuaibii\n* 将 sph_harm 更新为 sph_harm_y (#1736) @bkmi\n* 修复 GP 测试中的端口冲突 (#1745) @rayg1234\n\n## 文档\n\n* 对 JupyterBook≥2 的文档进行重构 (#1627) @zulissimeta\n* 修复 get_neighbors_pymatgen 函数 docstring 中的拼写错误 (#1715) @thomasloux\n\n## 依赖项\n\n* 升级 ray[serve] (#1724) @lbluque\n","2026-02-17T20:14:09",{"id":191,"version":192,"summary_zh":193,"released_at":194},323510,"fairchem_lammps-0.4.0","## 变更内容\n\n## 错误修复\n\n* 修复 LAMMPS 单元格问题 (#1772) @rayg1234\n* 修复 LAMMPS `extract_atom` 不一致问题 (#1703) @hsulab\n\n## 依赖项\n\n* 添加针对 Python\u003C=3.13 的测试 (#1600) @zulissimeta\n","2026-02-17T20:14:54",{"id":196,"version":197,"summary_zh":198,"released_at":199},323511,"fairchem_core-2.13.0","## 变更内容\n大量并行和批处理推理升级：\n* 新增与 Ray 高效集成的批处理推理功能\n* 图构建现已实现并行化，UMA-s 在配备 GPU 的情况下，可对 10 万+ 原子体系进行真实分子动力学模拟，计算速度达每天 1 纳秒\n\n## 新特性 \u002F 改进\n\n* 提前分区与并行图生成 (#1630) @rayg1234\n* 实现可检查点化的 Ray 启动器 (#1666) @rayg1234\n* 批处理服务器单元 (#1622) @lbluque\n* 形成能计算器 (#1538) @lbluque\n\n## 文档\n\n* UMA 催化教程 (#1667) @zulissimeta\n\n## 依赖项\n\n* 添加 Ray 作为依赖项 (#1675) @lbluque\n* 升级 NumPy\u002FNumba (#1537) @lbluque\n* 允许使用更新版本的 LMDB (#1655) @lbluque\n","2025-12-11T17:56:30",{"id":201,"version":202,"summary_zh":203,"released_at":204},323512,"fairchem_core-2.12.0","## What’s Changed\r\n\r\n## New Features \u002F Enhancements\r\n\r\n* merge moe head with test (#1647) @misko\r\n* Allow CPU graph generation in calculator (#1628) @lbluque\r\n* remove extra assert; blocks edge_chunk_size!=None (#1633) @misko\r\n* padded edges (#1621) @misko\r\n* Add job names to ray cluster slurm jobs (#1625) @rayg1234\r\n\r\n## Bug Fixes\r\n\r\n* Fix bug breaking mult-node ray runs (#1635) @rayg1234\r\n","2025-11-21T23:00:43",{"id":206,"version":207,"summary_zh":208,"released_at":209},323513,"fairchem_data_omc-0.1.0","## What’s Changed\r\n\r\n## New Features \u002F Enhancements\r\n\r\n* OMC25 dataset release (#1392) @gvahe\r\n\r\n## Documentation\r\n\r\n* OMC25 dataset release (#1392) @gvahe\r\n\r\n## Dependencies\r\n\r\n* OMC25 dataset release (#1392) @gvahe\r\n","2025-11-21T00:01:42",{"id":211,"version":212,"summary_zh":213,"released_at":214},323514,"fairchem_data_omat-0.2.0","## What’s Changed\r\n\r\n## New Features \u002F Enhancements\r\n\r\n* add compatibility corrections (#1603) @lbluque\r\n\r\n## Documentation\r\n\r\n* Update OMat24 README.md (#1560) @lbluque\r\n","2025-11-14T18:26:19",{"id":216,"version":217,"summary_zh":218,"released_at":219},323515,"fairchem_core-2.11.0","## What’s Changed\r\nLots of improvements running Parallel UMA!\r\n\r\n## New Features \u002F Enhancements\r\n\r\n* Update only gputils (splitting previous PR) (#1592) @misko\r\n* Allow merged MoLE to predict different sized cells with same composition (#1620) @lbluque\r\n* Use NCCL with ParallelMLIPPredictUnitRay when possible (#1587) @misko\r\n* Clamp rotation - fine\u002Ftuning unblock (#1574) @misko\r\n\r\n## Bug Fixes\r\n\r\n* fixed batched parallel predict unit (#1606) @misko\r\n* Pin jupyter-book (#1609) @rayg1234\r\n\r\n## Dependencies\r\n\r\n* Add tests for python\u003C=3.13 (#1600) @zulissimeta\r\n","2025-11-13T03:04:24",{"id":221,"version":222,"summary_zh":223,"released_at":224},323516,"fairchem_lammps-0.3.0","\u003C!-- Release notes generated using configuration in .github\u002Frelease.yml at main -->\r\n\r\n## What's Changed\r\n### New Features\r\n* Refactor launchers to add ray cluster mode by @rayg1234 in https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Ffairchem\u002Fpull\u002F1531\r\n* fix_checkpoint_migration_for_non_uma by @misko in https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Ffairchem\u002Fpull\u002F1508\r\n* Data OMat by @lbluque in https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Ffairchem\u002Fpull\u002F1520\r\n* Enable multinode Ray by @rayg1234 in https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Ffairchem\u002Fpull\u002F1526\r\n* Fix ORCA calculation script reference in omol25.md by @Andrew-S-Rosen in https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Ffairchem\u002Fpull\u002F1545\r\n* Improve multi gpu docs and interface by @rayg1234 in https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Ffairchem\u002Fpull\u002F1580\r\n### Bug Fixes\r\n* Use str ids in AseReadDataset by @lbluque in https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Ffairchem\u002Fpull\u002F1555\r\n* Fix virial sign in NPT ensemble, wrap coordinates to unit cell, and support charge\u002Fspin configuration by @yu9824 in https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Ffairchem\u002Fpull\u002F1546\r\n* Fix seeds for predict test by @rayg1234 in https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Ffairchem\u002Fpull\u002F1584\r\n* Fix build yaml by @rayg1234 in https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Ffairchem\u002Fpull\u002F1590\r\n### Documentation\r\n* Rename ParallelMLIPPredictUnit by @rayg1234 in https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Ffairchem\u002Fpull\u002F1582\r\n### Other Changes\r\n* Dependabot config by @lbluque in https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Ffairchem\u002Fpull\u002F1557\r\n* Bump actions\u002Fsetup-python from 5 to 6 by @dependabot[bot] in https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Ffairchem\u002Fpull\u002F1471\r\n* Revert ipykernel to fix build docs by @zulissimeta in https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Ffairchem\u002Fpull\u002F1583\r\n\r\n## New Contributors\r\n* @yu9824 made their first contribution in https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Ffairchem\u002Fpull\u002F1546\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Ffairchem\u002Fcompare\u002Ffairchem_lammps-0.2.0...fairchem_lammps-0.3.0","2025-10-24T06:30:12",{"id":226,"version":227,"summary_zh":228,"released_at":229},323517,"fairchem_core-2.10.0","\u003C!-- Release notes generated using configuration in .github\u002Frelease.yml at fairchem_core-2.10.0 -->\r\n\r\n## What's Changed\r\n### New Features\r\n* Fix ORCA calculation script reference in omol25.md by @Andrew-S-Rosen in https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Ffairchem\u002Fpull\u002F1545\r\n* Improve multi gpu docs and interface by @rayg1234 in https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Ffairchem\u002Fpull\u002F1580\r\n### Bug Fixes\r\n* Fix virial sign in NPT ensemble, wrap coordinates to unit cell, and support charge\u002Fspin configuration by @yu9824 in https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Ffairchem\u002Fpull\u002F1546\r\n* Fix seeds for predict test by @rayg1234 in https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Ffairchem\u002Fpull\u002F1584\r\n### Documentation\r\n* Rename ParallelMLIPPredictUnit by @rayg1234 in https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Ffairchem\u002Fpull\u002F1582\r\n### Other Changes\r\n* Bump actions\u002Fsetup-python from 5 to 6 by @dependabot[bot] in https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Ffairchem\u002Fpull\u002F1471\r\n* Revert ipykernel to fix build docs by @zulissimeta in https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Ffairchem\u002Fpull\u002F1583\r\n","2025-10-23T03:05:31",{"id":231,"version":232,"summary_zh":233,"released_at":234},323518,"fairchem_data_omat-0.1.0","## What’s Changed\r\n\r\n## New Features \u002F Enhancements\r\n\r\n* Data OMat (#1520) @lbluque\r\n","2025-10-13T18:30:53",{"id":236,"version":237,"summary_zh":238,"released_at":239},323519,"fairchem_core-2.9.0","## What’s Changed\r\n\r\n## New Features \u002F Enhancements\r\n\r\n* Refactor launchers to add ray cluster mode (#1531) @rayg1234\r\n\r\n## Bug Fixes\r\n\r\n* Use str ids in AseReadDataset (#1555) @lbluque\r\n","2025-10-09T05:03:27",{"id":241,"version":242,"summary_zh":243,"released_at":244},323520,"fairchem_core-2.8.0","## What’s Changed\r\n\r\n* CalculateRunner and Reducer import interface (#1528) @lbluque\r\n\r\n## New Features \u002F Enhancements\r\n\r\n* Improve integer validation for charge\u002Fspin so compatible with `ase.read` (#1536) @MorrowChem\r\n* Add option for input system to uma-speed benchmark (#1535) @misko\r\n* Bump torch 2p8 (#1502) @misko\r\n\r\n## Bug Fixes\r\n\r\n* fix issue with mole+gp (#1532) @misko\r\n\r\n## Deprecations\r\n\r\n* bump python version to 3.10 (#1543) @bkmi\r\n* remove wigner_cuda \u002F cuda_graph (#1523) @misko\r\n\r\n## Dependencies\r\n\r\n* up clusterscope (#1540) @luccabb\r\n* revert to lmdb 1.6.2 (#1522) @misko\r\n","2025-10-07T20:47:01",{"id":246,"version":247,"summary_zh":248,"released_at":249},323521,"fairchem_lammps-0.2.0","## What’s Changed\r\n\r\n## Documentation\r\n\r\n* Add training docs (#1506) @rayg1234\r\n\r\n## Deprecations\r\n\r\n* remove wigner_cuda \u002F cuda_graph (#1523) @misko\r\n","2025-10-07T20:47:25"]