[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-NVIDIA--physicsnemo":3,"tool-NVIDIA--physicsnemo":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",142651,2,"2026-04-06T23:34:12",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107888,"2026-04-06T11:32:50",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[52,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":10,"last_commit_at":59,"category_tags":60,"status":17},4487,"LLMs-from-scratch","rasbt\u002FLLMs-from-scratch","LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目，旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型（LLM）。它不仅是同名技术著作的官方代码库，更提供了一套完整的实践方案，涵盖模型开发、预训练及微调的全过程。\n\n该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型，却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码，用户能够透彻掌握 Transformer 架构、注意力机制等关键原理，从而真正理解大模型是如何“思考”的。此外，项目还包含了加载大型预训练权重进行微调的代码，帮助用户将理论知识延伸至实际应用。\n\nLLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API，而是渴望探究模型构建细节的技术人员而言，这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计：将复杂的系统工程拆解为清晰的步骤，配合详细的图表与示例，让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础，还是为未来研发更大规模的模型做准备",90106,"2026-04-06T11:19:32",[35,15,13,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":73,"owner_avatar_url":74,"owner_bio":75,"owner_company":76,"owner_location":76,"owner_email":76,"owner_twitter":76,"owner_website":77,"owner_url":78,"languages":79,"stars":95,"forks":96,"last_commit_at":97,"license":98,"difficulty_score":10,"env_os":99,"env_gpu":100,"env_ram":101,"env_deps":102,"category_tags":107,"github_topics":108,"view_count":32,"oss_zip_url":76,"oss_zip_packed_at":76,"status":17,"created_at":115,"updated_at":116,"faqs":117,"releases":146},4735,"NVIDIA\u002Fphysicsnemo","physicsnemo","Open-source deep-learning framework for building, training, and fine-tuning deep learning models using state-of-the-art Physics-ML methods","PhysicsNeMo 是 NVIDIA 推出的开源深度学习框架，专为构建、训练和微调融合物理规律的 AI 模型而设计。它致力于解决传统纯数据驱动模型在科学计算与工程领域中缺乏物理一致性、泛化能力弱以及难以满足实时预测需求的痛点。通过引入先进的科学机器学习（SciML）方法，PhysicsNeMo 让开发者能够轻松将物理知识嵌入神经网络，从而实现更精准、可解释的实时模拟与预测。\n\n这款工具非常适合从事 AI for Science（AI4Science）、计算流体力学、材料科学等领域的研究人员和工程师使用。无论是探索神经算子、图神经网络（GNN）、Transformer，还是开发物理信息神经网络（PINNs），用户都能在其中找到优化的解决方案。\n\nPhysicsNeMo 的核心亮点在于其模块化架构与高性能表现。它提供了丰富的预置模型组件和针对 GPU 深度优化的可扩展训练库，支持无缝集成 PyTorch 生态。此外，框架内置了高效的数据管道，能够灵活处理复杂的科学数据，帮助用户快速搭建从实验验证到大规模部署的完整工作流，极大地降低了物理 AI 模型的开发门槛。","# NVIDIA PhysicsNeMo\n\n\u003C!-- markdownlint-disable -->\n\n📝 NVIDIA PhysicsNeMo is undergoing an update to v2.0 - all the features, with easier installation and integration to external packages.  See the [migration guide](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fphysicsnemo\u002Fblob\u002Fmain\u002Fv2.0-MIGRATION-GUIDE.md) for more details!\n\n[![Project Status: Active - The project has reached a stable, usable state and is being actively developed.](https:\u002F\u002Fwww.repostatus.org\u002Fbadges\u002Flatest\u002Factive.svg)](https:\u002F\u002Fwww.repostatus.org\u002F#active)\n[![GitHub](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002FNVIDIA\u002Fphysicsnemo)](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fphysicsnemo\u002Fblob\u002Fmaster\u002FLICENSE.txt)\n[![Code style: black](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fcode%20style-black-000000.svg)](https:\u002F\u002Fgithub.com\u002Fpsf\u002Fblack)\n[![Install CI](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fphysicsnemo\u002Factions\u002Fworkflows\u002Finstall-ci.yml\u002Fbadge.svg?event=schedule)](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fphysicsnemo\u002Factions\u002Fworkflows\u002Finstall-ci.yml)\n\n\u003C!-- markdownlint-enable -->\n[**NVIDIA PhysicsNeMo**](#what-is-physicsnemo)\n| [**Documentation**](https:\u002F\u002Fdocs.nvidia.com\u002Fdeeplearning\u002Fphysicsnemo\u002Fphysicsnemo-core\u002Findex.html)\n| [**Install Guide**](#installation)\n| [**Getting Started**](#getting-started-with-physicsnemo)\n| [**Contributing Guidelines**](#contributing-to-physicsnemo)\n| [**Dev blog**](https:\u002F\u002Fnvidia.github.io\u002Fphysicsnemo\u002Fblog\u002F)\n\n## What is PhysicsNeMo?\n\nNVIDIA PhysicsNeMo is an open-source deep-learning framework for building, training,\nfine-tuning, and inferring Physics AI models using state-of-the-art SciML methods for\nAI4Science and engineering.\n\nPhysicsNeMo provides Python modules to compose scalable and optimized training and\ninference pipelines to explore, develop, validate, and deploy AI models that combine\nphysics knowledge with data, enabling real-time predictions.\n\nWhether you are exploring the use of neural operators, GNNs, or transformers, or are\ninterested in Physics-Informed Neural Networks or a hybrid approach in between, PhysicsNeMo\nprovides you with an optimized stack that will enable you to train your models at scale.\n\n\u003C!-- markdownlint-disable -->\n\u003Cp align=\"center\">\n  \u003Cimg src=https:\u002F\u002Fraw.githubusercontent.com\u002FNVIDIA\u002Fphysicsnemo\u002Fmain\u002Fdocs\u002Fimg\u002Fvalue_prop\u002FKnowledge_guided_models.gif alt=\"PhysicsNeMo\"\u002F>\n\u003C\u002Fp>\n\u003C!-- markdownlint-enable -->\n\n\u003C!-- toc -->\n\n- [More About PhysicsNeMo](#more-about-physicsnemo)\n  - [Scalable GPU-Optimized Training Library](#scalable-gpu-optimized-training-library)\n  - [A Suite of Physics-Informed ML Models](#a-suite-of-physics-informed-ml-models)\n  - [Seamless PyTorch Integration](#seamless-pytorch-integration)\n  - [Easy Customization and Extension](#easy-customization-and-extension)\n  - [AI4Science Library](#ai4science-library)\n    - [Domain-Specific Packages](#domain-specific-packages)\n- [Who is Using and Contributing to PhysicsNeMo](#who-is-using-and-contributing-to-physicsnemo)\n- [Why Use PhysicsNeMo](#why-are-they-using-physicsnemo)\n- [Getting Started](#getting-started-with-physicsnemo)\n- [Resources](#resources)\n- [Installation](#installation)\n- [Contributing](#contributing-to-physicsnemo)\n- [Communication](#communication)\n- [License](#license)\n\n\u003C!-- tocstop -->\n\n## More About PhysicsNeMo\n\nAt a granular level, PhysicsNeMo is developed as modular functionality and therefore\nprovides built-in composable modules that are packaged into a few key components:\n\n\u003C!-- markdownlint-disable -->\nComponent | Description |\n---- | --- |\n[**physicsnemo.models**](https:\u002F\u002Fdocs.nvidia.com\u002Fphysicsnemo\u002Flatest\u002Fuser-guide\u002Fmodel_architectures.html) ( [More Details](https:\u002F\u002Fdocs.nvidia.com\u002Fphysicsnemo\u002Flatest\u002Fphysicsnemo\u002Fapi_models.html)) | A collection of optimized, customizable, and easy-to-use families of model architectures such as Neural Operators, Graph Neural Networks, Diffusion models, Transformer models, and many more|\n[**physicsnemo.datapipes**](https:\u002F\u002Fdocs.nvidia.com\u002Fdeeplearning\u002Fphysicsnemo\u002Fphysicsnemo-core\u002Fapi\u002Fphysicsnemo.datapipes.html) | Optimized and scalable built-in data pipelines fine-tuned to handle engineering and scientific data structures like point clouds, meshes, etc.|\n[**physicsnemo.distributed**](https:\u002F\u002Fdocs.nvidia.com\u002Fdeeplearning\u002Fphysicsnemo\u002Fphysicsnemo-core\u002Fapi\u002Fphysicsnemo.distributed.html) | A distributed computing sub-module built on top of `torch.distributed` to enable parallel training with just a few steps|\n[**physicsnemo.curator**](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fphysicsnemo-curator) | A sub-module to streamline and accelerate the process of data curation for engineering datasets|\n[**physicsnemo.sym.geometry**](https:\u002F\u002Fdocs.nvidia.com\u002Fdeeplearning\u002Fphysicsnemo\u002Fphysicsnemo-sym\u002Fuser_guide\u002Ffeatures\u002Fcsg_and_tessellated_module.html) | A sub-module to handle geometry for DL training using Constructive Solid Geometry modeling and CAD files in STL format|\n[**physicsnemo.sym.eq**](https:\u002F\u002Fdocs.nvidia.com\u002Fdeeplearning\u002Fphysicsnemo\u002Fphysicsnemo-sym\u002Fuser_guide\u002Ffeatures\u002Fnodes.html) | A sub-module to use PDEs in your DL training with several implementations of commonly observed equations and easy ways for customization|\n\u003C!-- markdownlint-enable -->\n\nFor a complete list, refer to the PhysicsNeMo API documentation for\n[PhysicsNeMo](https:\u002F\u002Fdocs.nvidia.com\u002Fdeeplearning\u002Fphysicsnemo\u002Fphysicsnemo-core\u002Findex.html).\n\n## AI4Science Library\n\nUsually, PhysicsNeMo is used either as:\n\n- A complementary tool to PyTorch when exploring AI for SciML and AI4Science applications.\n- A deep learning research platform that provides scale and optimal performance on\nNVIDIA GPUs.\n\n### Domain-Specific Packages\n\nThe following are packages dedicated to domain experts of specific communities, catering\nto their unique exploration needs:\n\n- [PhysicsNeMo CFD](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fphysicsnemo-cfd): Inference sub-module of PhysicsNeMo\n  to enable CFD domain experts to explore, experiment, and validate using pretrained\n  AI models for CFD use cases.\n- [PhysicsNeMo Curator](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fphysicsnemo-curator): Inference sub-module\n  of PhysicsNeMo to streamline and accelerate the process of data curation for engineering\n  datasets.\n- [Earth-2 Studio](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fearth2studio): Inference sub-module of PhysicsNeMo\n  to enable climate researchers and scientists to explore and experiment with pretrained\n  AI models for weather and climate.\n\n### Scalable GPU-Optimized Training Library\n\nPhysicsNeMo provides a highly optimized and scalable training library for maximizing the\npower of NVIDIA GPUs.\n[Distributed computing](https:\u002F\u002Fdocs.nvidia.com\u002Fdeeplearning\u002Fphysicsnemo\u002Fphysicsnemo-core\u002Fapi\u002Fphysicsnemo.distributed.html)\nutilities allow for efficient scaling from a single GPU to multi-node GPU clusters with\na few lines of code, ensuring that large-scale\nphysics-informed machine learning (ML) models can be trained quickly and effectively.\nThe framework includes support for advanced\n[optimization utilities](https:\u002F\u002Fdocs.nvidia.com\u002Fdeeplearning\u002Fphysicsnemo\u002Fphysicsnemo-core\u002Fapi\u002Fphysicsnemo.utils.html#module-physicsnemo.utils.capture),\n[tailor-made datapipes](https:\u002F\u002Fdocs.nvidia.com\u002Fdeeplearning\u002Fphysicsnemo\u002Fphysicsnemo-core\u002Fapi\u002Fphysicsnemo.datapipes.html),\nand [validation utilities](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fphysicsnemo-sym\u002Ftree\u002Fmain\u002Fphysicsnemo\u002Fsym\u002Feq)\nto enhance end-to-end training speed.\n\n### A Suite of Physics-Informed ML Models\n\nPhysicsNeMo offers a library of state-of-the-art models specifically designed\nfor Physics-ML applications. Users can build any model architecture by using the underlying\nPyTorch layers and combining them with curated PhysicsNeMo layers.\n\nThe [Model Zoo](https:\u002F\u002Fdocs.nvidia.com\u002Fphysicsnemo\u002Flatest\u002Fuser-guide\u002Fmodel_architectures.html)\nincludes optimized implementations of families of model architectures such as\nNeural Operators:\n\n- [Fourier Neural Operators (FNOs)](physicsnemo\u002Fmodels\u002Ffno)\n- [DeepONet](https:\u002F\u002Fdocs.nvidia.com\u002Fdeeplearning\u002Fphysicsnemo\u002Fphysicsnemo-sym\u002Fuser_guide\u002Fneural_operators\u002Fdeeponet.html)\n- [DoMINO](https:\u002F\u002Fdocs.nvidia.com\u002Fdeeplearning\u002Fphysicsnemo\u002Fphysicsnemo-core\u002Fexamples\u002Fcfd\u002Fexternal_aerodynamics\u002Fdomino\u002Freadme.html)\n- [Graph Neural Networks (GNNs)](physicsnemo\u002Fmodels\u002Fgnn_layers)\n- [MeshGraphNet](https:\u002F\u002Fdocs.nvidia.com\u002Fdeeplearning\u002Fphysicsnemo\u002Fphysicsnemo-core\u002Fexamples\u002Fcfd\u002Fvortex_shedding_mgn\u002Freadme.html)\n- [MeshGraphNet for Lagrangian](https:\u002F\u002Fdocs.nvidia.com\u002Fdeeplearning\u002Fphysicsnemo\u002Fphysicsnemo-core\u002Fexamples\u002Fcfd\u002Flagrangian_mgn\u002Freadme.html)\n- [XAeroNet](https:\u002F\u002Fdocs.nvidia.com\u002Fdeeplearning\u002Fphysicsnemo\u002Fphysicsnemo-core\u002Fexamples\u002Fcfd\u002Fexternal_aerodynamics\u002Fxaeronet\u002Freadme.html)\n- [Diffusion Models](physicsnemo\u002Fmodels\u002Fdiffusion)\n- [Correction Diffusion Model](https:\u002F\u002Fdocs.nvidia.com\u002Fdeeplearning\u002Fphysicsnemo\u002Fphysicsnemo-core\u002Fexamples\u002Fgenerative\u002Fcorrdiff\u002Freadme.html)\n- [DDPM](https:\u002F\u002Fdocs.nvidia.com\u002Fdeeplearning\u002Fphysicsnemo\u002Fphysicsnemo-core\u002Fexamples\u002Fgenerative\u002Fdiffusion\u002Freadme.html)\n- [PhysicsNeMo GraphCast](https:\u002F\u002Fdocs.nvidia.com\u002Fdeeplearning\u002Fphysicsnemo\u002Fphysicsnemo-core\u002Fexamples\u002Fweather\u002Fgraphcast\u002Freadme.html)\n- [Transsolver](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fphysicsnemo\u002Ftree\u002Fmain\u002Fexamples\u002Fcfd\u002Fdarcy_transolver)\n- [RNNs](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fphysicsnemo\u002Ftree\u002Fmain\u002Fphysicsnemo\u002Fmodels)\n- [SwinVRNN](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fphysicsnemo\u002Ftree\u002Fmain\u002Fphysicsnemo\u002Fmodels\u002Fswinvrnn)\n- [Physics-Informed Neural Networks (PINNs)](https:\u002F\u002Fdocs.nvidia.com\u002Fdeeplearning\u002Fphysicsnemo\u002Fphysicsnemo-sym\u002Fuser_guide\u002Ffoundational\u002F1d_wave_equation.html)\n\nAnd many others.\n\nThese models are optimized for various physics domains, such as computational fluid\ndynamics, structural mechanics, and electromagnetics. Users can download, customize, and\nbuild upon these models to suit their specific needs, significantly reducing the time\nrequired to develop high-fidelity simulations.\n\n### Seamless PyTorch Integration\n\nPhysicsNeMo is built on top of PyTorch, providing a familiar and user-friendly experience\nfor those already proficient with PyTorch.\nThis includes a simple Python interface and modular design, making it easy to use\nPhysicsNeMo with existing PyTorch workflows.\nUsers can leverage the extensive PyTorch ecosystem, including its libraries and tools,\nwhile benefiting from PhysicsNeMo's specialized capabilities for physics-ML. This seamless\nintegration ensures users can quickly adopt PhysicsNeMo without a steep learning curve.\n\nFor more information, refer to [Converting PyTorch Models to PhysicsNeMo Models](https:\u002F\u002Fdocs.nvidia.com\u002Fdeeplearning\u002Fphysicsnemo\u002Fphysicsnemo-core\u002Fapi\u002Fphysicsnemo.models.html#converting-pytorch-models-to-physicsnemo-models).\n\n### Easy Customization and Extension\n\nPhysicsNeMo is designed to be highly extensible, allowing users to add new functionality\nwith minimal effort. The framework provides Pythonic APIs for\ndefining new physics models, geometries, and constraints, making it easy to extend its\ncapabilities to new use cases.\nThe adaptability of PhysicsNeMo is further enhanced by key features such as\n[ONNX support](https:\u002F\u002Fdocs.nvidia.com\u002Fdeeplearning\u002Fphysicsnemo\u002Fphysicsnemo-core\u002Fapi\u002Fphysicsnemo.deploy.html)\nfor flexible model deployment,\nrobust [logging utilities](https:\u002F\u002Fdocs.nvidia.com\u002Fdeeplearning\u002Fphysicsnemo\u002Fphysicsnemo-core\u002Fapi\u002Fphysicsnemo.launch.logging.html)\nfor streamlined error handling,\nand efficient\n[checkpointing](https:\u002F\u002Fdocs.nvidia.com\u002Fdeeplearning\u002Fphysicsnemo\u002Fphysicsnemo-core\u002Fapi\u002Fphysicsnemo.launch.utils.html#module-physicsnemo.launch.utils.checkpoint)\nto simplify model loading and saving.\n\nThis extensibility ensures that PhysicsNeMo can adapt to the evolving needs of researchers\nand engineers, facilitating the development of innovative solutions in the field of physics-ML.\n\nDetailed information on features and capabilities can be found in the [PhysicsNeMo documentation](https:\u002F\u002Fdocs.nvidia.com\u002Fphysicsnemo\u002Findex.html#core).\n\n[Reference samples](examples\u002FREADME.md) cover a broad spectrum of physics-constrained\nand data-driven\nworkflows to suit the diversity of use cases in the science and engineering disciplines.\n\n> [!TIP]\n> Have questions about how PhysicsNeMo can assist you? Try our [Experimental] chatbot,\n> [PhysicsNeMo Guide](https:\u002F\u002Fchatgpt.com\u002Fg\u002Fg-PXrBv20SC-modulus-guide), for answers.\n\n### Hello World\n\nYou can start using PhysicsNeMo in your PyTorch code as simply as shown here:\n\n```python\n>>> import torch\n>>> from physicsnemo.models.mlp.fully_connected import FullyConnected\n>>> model = FullyConnected(in_features=32, out_features=64)\n>>> input = torch.randn(128, 32)\n>>> output = model(input)\n>>> output.shape\ntorch.Size([128, 64])\n```\n\nTo use the distributed module, you can do the following (example for\ndistributed data parallel training; for a more in-depth tutorial, refer to\n[PhysicsNeMo Distributed](https:\u002F\u002Fdocs.nvidia.com\u002Fdeeplearning\u002Fphysicsnemo\u002Fphysicsnemo-core\u002Fapi\u002Fphysicsnemo.distributed.html#)):\n\n```python\nimport torch\nfrom torch.nn.parallel import DistributedDataParallel\nfrom physicsnemo.distributed import DistributedManager\nfrom physicsnemo.models.mlp.fully_connected import FullyConnected\n\ndef main():\n    DistributedManager.initialize()\n    dist = DistributedManager()\n\n    arch = FullyConnected(in_features=32, out_features=64).to(dist.device)\n\n    if dist.distributed:\n        ddps = torch.cuda.Stream()\n        with torch.cuda.stream(ddps):\n            arch = DistributedDataParallel(\n                arch,\n                device_ids=[dist.local_rank],\n                output_device=dist.device,\n                broadcast_buffers=dist.broadcast_buffers,\n                find_unused_parameters=dist.find_unused_parameters,\n            )\n        torch.cuda.current_stream().wait_stream(ddps)\n\n    # Set up the optimizer\n    optimizer = torch.optim.Adam(\n        arch.parameters(),\n        lr=0.001,\n    )\n\n    def training_step(invar, target):\n        pred = arch(invar)\n        loss = torch.sum(torch.pow(pred - target, 2))\n        loss.backward()\n        optimizer.step()\n        return loss\n\n    # Sample training loop\n    for i in range(20):\n        # Random inputs and targets for simplicity\n        input = torch.randn(128, 32, device=dist.device)\n        target = torch.randn(128, 64, device=dist.device)\n\n        # Training step\n        loss = training_step(input, target)\n\nif __name__ == \"__main__\":\n    main()\n```\n\nTo use the PDE module, you can do the following:\n\n```python\n>>> from physicsnemo.sym.eq.pdes.navier_stokes import NavierStokes\n>>> ns = NavierStokes(nu=0.01, rho=1, dim=2)\n>>> ns.pprint()\ncontinuity: u__x + v__y\nmomentum_x: u*u__x + v*u__y + p__x + u__t - 0.01*u__x__x - 0.01*u__y__y\nmomentum_y: u*v__x + v*v__y + p__y + v__t - 0.01*v__x__x - 0.01*v__y__y\n```\n\n## Who is Using and Contributing to PhysicsNeMo\n\nPhysicsNeMo is an open-source project and gets contributions from researchers in\nthe SciML and AI4Science fields. While the PhysicsNeMo team works on optimizing the\nunderlying software stack, the community collaborates and contributes model architectures,\ndatasets, and reference applications so we can innovate in the pursuit of\ndeveloping generalizable model architectures and algorithms.\n\nSome recent examples of community contributors are the [HP Labs 3D Printing team](https:\u002F\u002Fdeveloper.nvidia.com\u002Fblog\u002Fspotlight-hp-3d-printing-and-nvidia-physicsnemo-collaborate-on-open-source-manufacturing-digital-twin\u002F),\n[Stanford Cardiovascular research team](https:\u002F\u002Fdeveloper.nvidia.com\u002Fblog\u002Fenabling-greater-patient-specific-cardiovascular-care-with-ai-surrogates\u002F),\n[UIUC team](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fphysicsnemo\u002Ftree\u002Fmain\u002Fexamples\u002Fcfd\u002Fmhd_pino),\n[CMU team](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fphysicsnemo\u002Ftree\u002Fmain\u002Fexamples\u002Fgenerative\u002Fdiffusion),\netc.\n\nRecent examples of research teams using PhysicsNeMo are the\n[ORNL team](https:\u002F\u002Farxiv.org\u002Fabs\u002F2404.05768),\n[TU Munich CFD team](https:\u002F\u002Fwww.nvidia.com\u002Fen-us\u002Fon-demand\u002Fsession\u002Fgtc24-s62237\u002F), etc.\n\nPlease navigate to this page for a complete list of research work leveraging PhysicsNeMo.\nFor a list of enterprises using PhysicsNeMo, refer to the [PhysicsNeMo Webpage](https:\u002F\u002Fdeveloper.nvidia.com\u002Fphysicsnemo).\n\nUsing PhysicsNeMo and interested in showcasing your work on\n[NVIDIA Blogs](https:\u002F\u002Fdeveloper.nvidia.com\u002Fblog\u002Fcategory\u002Fsimulation-modeling-design\u002F)?\nFill out this [proposal form](https:\u002F\u002Fforms.gle\u002FXsBdWp3ji67yZAUF7) and we will get back\nto you!\n\n## Why Are They Using PhysicsNeMo\n\nHere are some of the key benefits of PhysicsNeMo for SciML model development:\n\n\u003C!-- markdownlint-disable -->\n\u003Cimg src=\"docs\u002Fimg\u002Fvalue_prop\u002Fbenchmarking.svg\" width=\"100\"> | \u003Cimg src=\"docs\u002Fimg\u002Fvalue_prop\u002Frecipe.svg\" width=\"100\"> | \u003Cimg src=\"docs\u002Fimg\u002Fvalue_prop\u002Fperformance.svg\" width=\"100\">\n---|---|---|\n|SciML Benchmarking and Validation|Ease of Using Generalized SciML Recipes with Heterogeneous Datasets |Out-of-the-Box Performance and Scalability\n|PhysicsNeMo enables researchers to benchmark their AI models against proven architectures for standard benchmark problems with detailed domain-specific validation criteria.|PhysicsNeMo enables researchers to pick from state-of-the-art SciML architectures and use built-in data pipelines for their use case.| PhysicsNeMo provides out-of-the-box performant training pipelines, including optimized ETL pipelines for heterogeneous engineering and scientific datasets and out-of-the-box scaling across multi-GPU and multi-node GPUs.\n\u003C!-- markdownlint-enable -->\n\nSee what your peer SciML researchers are saying about PhysicsNeMo (coming soon).\n\n## Getting Started with PhysicsNeMo\n\nThe following resources will help you learn how to use PhysicsNeMo. The best\nway is to start with a reference sample and then update it for your own use case.\n\n- [Using PhysicsNeMo with your PyTorch model](https:\u002F\u002Fdocs.nvidia.com\u002Fdeeplearning\u002Fphysicsnemo\u002Fphysicsnemo-core\u002Ftutorials\u002Fsimple_training_example.html#using-custom-models-in-physicsnemo)\n- [Using PhysicsNeMo built-in models](https:\u002F\u002Fdocs.nvidia.com\u002Fdeeplearning\u002Fphysicsnemo\u002Fphysicsnemo-core\u002Ftutorials\u002Fsimple_training_example.html#using-built-in-models)\n- [Getting Started Guide](https:\u002F\u002Fdocs.nvidia.com\u002Fdeeplearning\u002Fphysicsnemo\u002Fgetting-started\u002Findex.html)\n- [Reference Samples](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fphysicsnemo\u002Fblob\u002Fmain\u002Fexamples\u002FREADME.md)\n- [User Guide Documentation](https:\u002F\u002Fdocs.nvidia.com\u002Fdeeplearning\u002Fphysicsnemo\u002Fphysicsnemo-core\u002Findex.html)\n\n## Learning AI Physics\n\n- [Explore Jupyter Notebooks on Hugging Face](https:\u002F\u002Fhuggingface.co\u002Fcollections\u002Fnvidia\u002Fphysicsnemo)\n- [AI4Science PhysicsNeMo Bootcamp](https:\u002F\u002Fgithub.com\u002Fopenhackathons-org\u002FEnd-to-End-AI-for-Science)\n- [Self-Paced DLI Training](https:\u002F\u002Flearn.nvidia.com\u002Fcourses\u002Fcourse-detail?course_id=course-v1:DLI+S-OV-04+V1)\n- [Deep Learning for Science and Engineering Lecture Series](https:\u002F\u002Fwww.nvidia.com\u002Fen-us\u002Fon-demand\u002Fdeep-learning-for-science-and-engineering\u002F)\n- [Video Tutorials](https:\u002F\u002Fwww.nvidia.com\u002Fen-us\u002Fon-demand\u002Fsearch\u002F?facet.mimetype[]=event%20session&layout=list&page=1&q=physicsnemo&sort=relevance&sortDir=desc)\n\n## Resources\n\n- [Getting Started Webinar](https:\u002F\u002Fwww.nvidia.com\u002Fen-us\u002Fon-demand\u002Fsession\u002Fgtc24-dlit61460\u002F?playlistId=playList-bd07f4dc-1397-4783-a959-65cec79aa985)\n- [PhysicsNeMo: Purpose and Usage](https:\u002F\u002Fwww.nvidia.com\u002Fen-us\u002Fon-demand\u002Fsession\u002Fdliteachingkit-setk5002\u002F)\n- [AI4Science PhysicsNeMo Bootcamp](https:\u002F\u002Fgithub.com\u002Fopenhackathons-org\u002FEnd-to-End-AI-for-Science)\n- [PhysicsNeMo Pretrained Models](https:\u002F\u002Fcatalog.ngc.nvidia.com\u002Fmodels?filters=&orderBy=scoreDESC&query=PhysicsNeMo&page=&pageSize=)\n- [PhysicsNeMo Datasets and Supplementary Materials](https:\u002F\u002Fcatalog.ngc.nvidia.com\u002Fresources?filters=&orderBy=scoreDESC&query=PhysicsNeMo&page=&pageSize=)\n\n## Installation\n\nYou can install PhysicsNeMo in two supported ways: **via pip** (native pip or\n**uv**) or by using the **NVIDIA container image**. Choose the method that fits your\nenvironment and workflow.\n\nThe following instructions cover the base PhysicsNeMo modules. Optional dependencies\nare listed in [`pyproject.toml`](.\u002Fpyproject.toml). The [training recipes](.\u002Fexamples)\nare not bundled in the pip wheels or container; clone the repo and use the examples\nas a starting point. Many examples have a `requirements.txt` for extra dependencies.\n\n### CUDA Backend Selection\n\n> **Important:** To get GPU-accelerated RAPIDS packages (cuML, pylibraft, cupy)\n> and a CUDA-matched PyTorch build, you **must** include either `cu13` or `cu12`\n> when installing. Feature extras like `nn-extras` and `utils-extras` provide\n> additional non-CUDA packages (scipy, natten, wandb, etc.) but do not include\n> RAPIDS dependencies on their own.\n\nPhysicsNeMo supports both CUDA 12 and CUDA 13 backends. The backend is selected\nvia an extra that is orthogonal to the feature extras - combine them freely:\n\n| Extra | What it provides |\n| --- | --- |\n| `cu13` | PyTorch (CUDA 13.0), cuML-cu13, pylibraft-cu13, cupy-cuda13x |\n| `cu12` | PyTorch (CUDA 12.8), cuML-cu12, pylibraft-cu12, cupy-cuda12x |\n| *(neither)* | PyTorch from PyPI (default build), **no RAPIDS packages** |\n\n### PyPI\n\nInstall the latest version from PyPI:\n\n```Bash\npip install nvidia-physicsnemo\npython -c \"import physicsnemo; print('PhysicsNeMo version:', physicsnemo.__version__)\"\n```\n\nTo install with a specific CUDA backend and optional feature extras:\n\n```Bash\n# CUDA 13 backend with nn-extras\npip install \"nvidia-physicsnemo[cu13,nn-extras]\"\n\n# CUDA 12 backend with nn-extras\npip install \"nvidia-physicsnemo[cu12,nn-extras]\"\n```\n\nOther feature extras (`utils-extras`, `mesh-extras`, `model-extras`,\n`datapipes-extras`, `gnns`) can be combined in the same way.\n\nThe installation can also be verified by running the [Hello World](#hello-world) example.\n\n### uv\n\nFor development or to run examples from source, you can use [uv](https:\u002F\u002Fdocs.astral.sh\u002Fuv\u002F)\nto clone the repository and sync dependencies:\n\n```Bash\ngit clone https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fphysicsnemo.git\ncd physicsnemo\nuv sync --extra cu13\nuv run python -c \"import physicsnemo; print('PhysicsNeMo version:', physicsnemo.__version__)\"\n```\n\nTo install with optional feature extras (e.g., `nn-extras`):\n\n```Bash\nuv sync --extra cu13 --extra nn-extras\n```\n\nFor a CUDA 12 environment, replace `cu13` with `cu12`:\n\n```Bash\nuv sync --extra cu12 --extra nn-extras\n```\n\n### NVCR Container\n\nThe PhysicsNeMo Docker image can be pulled from the\n[NVIDIA Container Registry](https:\u002F\u002Fcatalog.ngc.nvidia.com\u002Forgs\u002Fnvidia\u002Fteams\u002Fphysicsnemo\u002Fcontainers\u002Fphysicsnemo)\n(refer to the NGC registry for the latest tag):\n\n```Bash\ndocker pull nvcr.io\u002Fnvidia\u002Fphysicsnemo\u002Fphysicsnemo:25.06\n```\n\nInside the container, you can clone the PhysicsNeMo git repositories and get\nstarted with the examples. The command below shows the instructions to launch\nthe PhysicsNeMo container and run examples from this repo:\n\n```bash\ndocker run --shm-size=1g --ulimit memlock=-1 --ulimit stack=67108864 --runtime nvidia \\\n--rm -it nvcr.io\u002Fnvidia\u002Fphysicsnemo\u002Fphysicsnemo:25.06 bash\ngit clone https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fphysicsnemo.git\ncd physicsnemo\u002Fexamples\u002Fcfd\u002Fdarcy_fno\u002F\npip install warp-lang # install NVIDIA Warp to run the Darcy example\npython train_fno_darcy.py\n```\n\n### From Source\n\nFor a local build of the PhysicsNeMo Python package from source, use:\n\n```Bash\ngit clone git@github.com:NVIDIA\u002Fphysicsnemo.git && cd physicsnemo\n\npip install --upgrade pip\npip install .\npython -c \"import physicsnemo; print('PhysicsNeMo version:', physicsnemo.__version__)\"\n```\n\nFor editable installs, testing your changes locally, and contribution workflows,\nsee the [Customizing PhysicsNeMo](https:\u002F\u002Fdocs.nvidia.com\u002Fphysicsnemo\u002Flatest\u002Fresources\u002Fcustomization_guide.html)\nguide in the documentation. See also the [contributing guidelines](CONTRIBUTING.md)\nfor pull requests, coding style, and CI, and the\n[developer wiki](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fphysicsnemo\u002Fwiki) for community and\ncontributing overview.\n\n### Building Docker from Source\n\nTo build the PhysicsNeMo Docker image:\n\n```bash\ndocker build -t physicsnemo:deploy \\\n    --build-arg TARGETPLATFORM=linux\u002Famd64 --target deploy -f Dockerfile .\n```\n\nAlternatively, you can run `make container-deploy`.\n\nTo build the CI image:\n\n```bash\ndocker build -t physicsnemo:ci \\\n    --build-arg TARGETPLATFORM=linux\u002Famd64 --target ci -f Dockerfile .\n```\n\nAlternatively, you can run `make container-ci`.\n\n### Platform Support\n\nFor pip or uv installation, Linux, macOS (ARM), and Windows are supported.\n\nDocker containers are available for `linux\u002Famd64` and `linux\u002Farm64` platforms only.\nIf using `linux\u002Farm64`, some dependencies like `warp-lang` might not install correctly.\n\n## PhysicsNeMo Migration Guide\n\nNVIDIA Modulus has been renamed to NVIDIA PhysicsNeMo. For migration:\n\n- Use `pip install nvidia-physicsnemo` rather than `pip install nvidia-modulus`\n  for PyPI wheels.\n- Use `nvcr.io\u002Fnvidia\u002Fphysicsnemo\u002Fphysicsnemo:\u003Ctag>` rather than\n  `nvcr.io\u002Fnvidia\u002Fmodulus\u002Fmodulus:\u003Ctag>` for Docker containers.\n- Replace `nvidia-modulus` with `nvidia-physicsnemo` in your pip requirements\n  files (`requirements.txt`, `setup.py`, `setup.cfg`, `pyproject.toml`, etc.).\n- In your code, change the import statements from `import modulus` to\n  `import physicsnemo`.\n\nThe old PyPI registry and the NGC container registry will be deprecated soon\nand will not receive any bug fixes\u002Fupdates. The old checkpoints will remain\ncompatible with these updates.\n\nMore details to follow soon.\n\n## DGL to PyTorch Geometric Migration Guide\n\nPhysicsNeMo supports a wide range of Graph Neural Networks (GNNs),\nincluding MeshGraphNet and others.\nCurrently, PhysicsNeMo uses the DGL library as its GNN backend,\nwith plans to completely transition to PyTorch Geometric (PyG) in a future release.\nFor more details, please refer to the [DGL-to-PyG migration guide](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fphysicsnemo\u002Fblob\u002Fmain\u002Fexamples\u002Fdgl_to_pyg_migration.md).\n\n## Contributing to PhysicsNeMo\n\nPhysicsNeMo is an open-source collaboration, and its success is rooted in community\ncontributions to further the field of Physics-ML. Thank you for contributing to the\nproject so others can build on top of your contributions.\n\nFor guidance on contributing to PhysicsNeMo, see the [contributing guidelines](CONTRIBUTING.md)\n(pull requests, coding style, CI).\nFor install-from-source steps, editable installs, and testing your changes, see\nthe [Customizing PhysicsNeMo](https:\u002F\u002Fdocs.nvidia.com\u002Fphysicsnemo\u002Flatest\u002Fresources\u002Fcustomization_guide.html)\nguide in the documentation. For community and contributing overview, see the\n[developer wiki](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fphysicsnemo\u002Fwiki).\n\n## Cite PhysicsNeMo\n\nIf PhysicsNeMo helped your research and you would like to cite it, please refer to the [guidelines](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fphysicsnemo\u002Fblob\u002Fmain\u002FCITATION.cff).\n\n## Communication\n\n- GitHub Discussions: Discuss new architectures, implementations, Physics-ML research, etc.\n- GitHub Issues: Bug reports, feature requests, install issues, etc.\n- PhysicsNeMo Forum: The [PhysicsNeMo Forum](https:\u002F\u002Fforums.developer.nvidia.com\u002Ft\u002Fwelcome-to-the-physicsnemo-ml-model-framework-forum\u002F178556)\nhosts an audience of new to moderate-level users and developers for general chat, online\ndiscussions, collaboration, etc.\n\n## Feedback\n\nWant to suggest some improvements to PhysicsNeMo? Use our [feedback form](https:\u002F\u002Fdocs.google.com\u002Fforms\u002Fd\u002Fe\u002F1FAIpQLSfX4zZ0Lp7MMxzi3xqvzX4IQDdWbkNh5H_a_clzIhclE2oSBQ\u002Fviewform?usp=sf_link).\n\n## License\n\nPhysicsNeMo is provided under the Apache License 2.0. Please see [LICENSE.txt](.\u002FLICENSE.txt)\nfor the full license text. Enterprise SLA, support, and preview access are available\nunder NVAIE.\n","# NVIDIA PhysicsNeMo\n\n\u003C!-- markdownlint-disable -->\n\n📝 NVIDIA PhysicsNeMo 正在升级至 v2.0——所有功能均得以保留，同时安装和与外部包的集成更加简便。更多详情请参阅[迁移指南](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fphysicsnemo\u002Fblob\u002Fmain\u002Fv2.0-MIGRATION-GUIDE.md)！\n\n[![项目状态：活跃 - 项目已达到稳定可用状态，并正在积极开发中。](https:\u002F\u002Fwww.repostatus.org\u002Fbadges\u002Flatest\u002Factive.svg)](https:\u002F\u002Fwww.repostatus.org\u002F#active)\n[![GitHub](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002FNVIDIA\u002Fphysicsnemo)](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fphysicsnemo\u002Fblob\u002Fmaster\u002FLICENSE.txt)\n[![代码风格：black](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fcode%20style-black-000000.svg)](https:\u002F\u002Fgithub.com\u002Fpsf\u002Fblack)\n[![安装 CI](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fphysicsnemo\u002Factions\u002Fworkflows\u002Finstall-ci.yml\u002Fbadge.svg?event=schedule)](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fphysicsnemo\u002Factions\u002Fworkflows\u002Finstall-ci.yml)\n\n\u003C!-- markdownlint-enable -->\n[**NVIDIA PhysicsNeMo**](#what-is-physicsnemo)\n| [**文档**](https:\u002F\u002Fdocs.nvidia.com\u002Fdeeplearning\u002Fphysicsnemo\u002Fphysicsnemo-core\u002Findex.html)\n| [**安装指南**](#installation)\n| [**快速入门**](#getting-started-with-physicsnemo)\n| [**贡献指南**](#contributing-to-physicsnemo)\n| [**开发博客**](https:\u002F\u002Fnvidia.github.io\u002Fphysicsnemo\u002Fblog\u002F)\n\n## 什么是 PhysicsNeMo？\n\nNVIDIA PhysicsNeMo 是一个开源深度学习框架，用于构建、训练、微调和推理物理人工智能模型，采用最先进的 SciML 方法，服务于 AI4Science 和工程领域。\n\nPhysicsNeMo 提供 Python 模块，可组合出可扩展且优化的训练与推理流水线，以探索、开发、验证和部署结合物理知识与数据的人工智能模型，从而实现实时预测。\n\n无论您是在探索神经算子、图神经网络或 Transformer 模型，还是对物理信息神经网络或介于两者之间的混合方法感兴趣，PhysicsNeMo 都能为您提供一套优化的工具栈，帮助您大规模训练模型。\n\n\u003C!-- markdownlint-disable -->\n\u003Cp align=\"center\">\n  \u003Cimg src=https:\u002F\u002Fraw.githubusercontent.com\u002FNVIDIA\u002Fphysicsnemo\u002Fmain\u002Fdocs\u002Fimg\u002Fvalue_prop\u002FKnowledge_guided_models.gif alt=\"PhysicsNeMo\"\u002F>\n\u003C\u002Fp>\n\u003C!-- markdownlint-enable -->\n\n\u003C!-- toc -->\n\n- [关于 PhysicsNeMo 的更多信息](#more-about-physicsnemo)\n  - [可扩展的 GPU 优化训练库](#scalable-gpu-optimized-training-library)\n  - [一系列物理信息机器学习模型](#a-suite-of-physics-informed-ml-models)\n  - [无缝的 PyTorch 集成](#seamless-pytorch-integration)\n  - [易于自定义和扩展](#easy-customization-and-extension)\n  - [AI4Science 库](#ai4science-library)\n    - [领域专用包](#domain-specific-packages)\n- [谁在使用和贡献 PhysicsNeMo](#who-is-using-and-contributing-to-physicsnemo)\n- [为什么使用 PhysicsNeMo](#why-are-they-using-physicsnemo)\n- [快速入门](#getting-started-with-physicsnemo)\n- [资源](#resources)\n- [安装](#installation)\n- [贡献](#contributing-to-physicsnemo)\n- [交流](#communication)\n- [许可证](#license)\n\n\u003C!-- tocstop -->\n\n## 关于 PhysicsNeMo 的更多信息\n\n从细粒度来看，PhysicsNeMo 被设计为模块化功能，因此提供了内置的可组合模块，并将其封装成几个关键组件：\n\n\u003C!-- markdownlint-disable -->\n组件 | 描述 |\n---- | --- |\n[**physicsnemo.models**](https:\u002F\u002Fdocs.nvidia.com\u002Fphysicsnemo\u002Flatest\u002Fuser-guide\u002Fmodel_architectures.html)（[更多细节](https:\u002F\u002Fdocs.nvidia.com\u002Fphysicsnemo\u002Flatest\u002Fphysicsnemo\u002Fapi_models.html)） | 一系列优化、可定制且易于使用的模型架构家族，如神经算子、图神经网络、扩散模型、Transformer 模型等|\n[**physicsnemo.datapipes**](https:\u002F\u002Fdocs.nvidia.com\u002Fdeeplearning\u002Fphysicsnemo\u002Fphysicsnemo-core\u002Fapi\u002Fphysicsnemo.datapipes.html) | 优化且可扩展的内置数据管道，专为处理点云、网格等工程和科学数据结构而设计|\n[**physicsnemo.distributed**](https:\u002F\u002Fdocs.nvidia.com\u002Fdeeplearning\u002Fphysicsnemo\u002Fphysicsnemo-core\u002Fapi\u002Fphysicsnemo.distributed.html) | 基于 `torch.distributed` 构建的分布式计算子模块，只需几步即可实现并行训练|\n[**physicsnemo.curator**](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fphysicsnemo-curator) | 一个子模块，用于简化和加速工程数据集的数据整理流程|\n[**physicsnemo.sym.geometry**](https:\u002F\u002Fdocs.nvidia.com\u002Fdeeplearning\u002Fphysicsnemo\u002Fphysicsnemo-sym\u002Fuser_guide\u002Ffeatures\u002Fcsg_and_tessellated_module.html) | 一个子模块，用于处理基于构造实体几何建模和 STL 格式 CAD 文件的几何数据，以支持深度学习训练|\n[**physicsnemo.sym.eq**](https:\u002F\u002Fdocs.nvidia.com\u002Fdeeplearning\u002Fphysicsnemo\u002Fphysicsnemo-sym\u002Fuser_guide\u002Ffeatures\u002Fnodes.html) | 一个子模块，允许在深度学习训练中使用偏微分方程，提供多种常见方程的实现方式，并便于用户自定义|\n\u003C!-- markdownlint-enable -->\n\n完整列表请参阅 PhysicsNeMo API 文档中的 [PhysicsNeMo](https:\u002F\u002Fdocs.nvidia.com\u002Fdeeplearning\u002Fphysicsnemo\u002Fphysicsnemo-core\u002Findex.html) 部分。\n\n## AI4Science 库\n\n通常，PhysicsNeMo 可用作以下两种场景之一：\n\n- 作为 PyTorch 的补充工具，在探索 SciML 和 AI4Science 应用时使用。\n- 作为深度学习研究平台，在 NVIDIA GPU 上提供规模性和最佳性能。\n\n### 领域专用包\n\n以下是专为特定领域的专家设计的软件包，以满足其独特的研究需求：\n\n- [PhysicsNeMo CFD](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fphysicsnemo-cfd)：PhysicsNeMo 的推理子模块，旨在帮助 CFD 领域专家利用预训练的人工智能模型进行探索、实验和验证。\n- [PhysicsNeMo Curator](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fphysicsnemo-curator)：PhysicsNeMo 的推理子模块，用于简化和加速工程数据集的数据整理过程。\n- [Earth-2 Studio](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fearth2studio)：PhysicsNeMo 的推理子模块，使气候研究人员能够利用预训练的人工智能模型探索和试验天气及气候相关问题。\n\n### 可扩展的 GPU 优化训练库\n\nPhysicsNeMo 提供了一个高度优化且可扩展的训练库，旨在充分发挥 NVIDIA GPU 的强大性能。\n[分布式计算](https:\u002F\u002Fdocs.nvidia.com\u002Fdeeplearning\u002Fphysicsnemo\u002Fphysicsnemo-core\u002Fapi\u002Fphysicsnemo.distributed.html) 工具允许用户仅用几行代码即可高效地从单个 GPU 扩展到多节点 GPU 集群，从而确保大规模物理信息驱动的机器学习（ML）模型能够快速有效地进行训练。\n该框架还包含对高级 [优化工具](https:\u002F\u002Fdocs.nvidia.com\u002Fdeeplearning\u002Fphysicsnemo\u002Fphysicsnemo-core\u002Fapi\u002Fphysicsnemo.utils.html#module-physicsnemo.utils.capture)、量身定制的 [数据管道](https:\u002F\u002Fdocs.nvidia.com\u002Fdeeplearning\u002Fphysicsnemo\u002Fphysicsnemo-core\u002Fapi\u002Fphysicsnemo.datapipes.html) 以及 [验证工具](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fphysicsnemo-sym\u002Ftree\u002Fmain\u002Fphysicsnemo\u002Fsym\u002Feq) 的支持，以提升端到端训练速度。\n\n### 一系列物理信息驱动的 ML 模型\n\nPhysicsNeMo 提供了一个专为物理信息驱动的机器学习应用设计的先进模型库。用户可以使用底层 PyTorch 层，并将其与精选的 PhysicsNeMo 层相结合，构建任意模型架构。\n\n[模型动物园](https:\u002F\u002Fdocs.nvidia.com\u002Fphysicsnemo\u002Flatest\u002Fuser-guide\u002Fmodel_architectures.html) 包含了多种模型家族的优化实现，例如神经算子：\n\n- [傅里叶神经算子（FNOs）](physicsnemo\u002Fmodels\u002Ffno)\n- [DeepONet](https:\u002F\u002Fdocs.nvidia.com\u002Fdeeplearning\u002Fphysicsnemo\u002Fphysicsnemo-sym\u002Fuser_guide\u002Fneural_operators\u002Fdeeponet.html)\n- [DoMINO](https:\u002F\u002Fdocs.nvidia.com\u002Fdeeplearning\u002Fphysicsnemo\u002Fphysicsnemo-core\u002Fexamples\u002Fcfd\u002Fexternal_aerodynamics\u002Fdomino\u002Freadme.html)\n- [图神经网络（GNNs）](physicsnemo\u002Fmodels\u002Fgnn_layers)\n- [MeshGraphNet](https:\u002F\u002Fdocs.nvidia.com\u002Fdeeplearning\u002Fphysicsnemo\u002Fphysicsnemo-core\u002Fexamples\u002Fcfd\u002Fvortex_shedding_mgn\u002Freadme.html)\n- [用于拉格朗日方法的 MeshGraphNet](https:\u002F\u002Fdocs.nvidia.com\u002Fdeeplearning\u002Fphysicsnemo\u002Fphysicsnemo-core\u002Fexamples\u002Fcfd\u002Flagrangian_mgn\u002Freadme.html)\n- [XAeroNet](https:\u002F\u002Fdocs.nvidia.com\u002Fdeeplearning\u002Fphysicsnemo\u002Fphysicsnemo-core\u002Fexamples\u002Fcfd\u002Fexternal_aerodynamics\u002Fxaeronet\u002Freadme.html)\n- [扩散模型](physicsnemo\u002Fmodels\u002Fdiffusion)\n- [校正扩散模型](https:\u002F\u002Fdocs.nvidia.com\u002Fdeeplearning\u002Fphysicsnemo\u002Fphysicsnemo-core\u002Fexamples\u002Fgenerative\u002Fcorrdiff\u002Freadme.html)\n- [DDPM](https:\u002F\u002Fdocs.nvidia.com\u002Fdeeplearning\u002Fphysicsnemo\u002Fphysicsnemo-core\u002Fexamples\u002Fgenerative\u002Fdiffusion\u002Freadme.html)\n- [PhysicsNeMo GraphCast](https:\u002F\u002Fdocs.nvidia.com\u002Fdeeplearning\u002Fphysicsnemo\u002Fphysicsnemo-core\u002Fexamples\u002Fweather\u002Fgraphcast\u002Freadme.html)\n- [Transsolver](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fphysicsnemo\u002Ftree\u002Fmain\u002Fexamples\u002Fcfd\u002Fdarcy_transolver)\n- [RNNs](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fphysicsnemo\u002Ftree\u002Fmain\u002Fphysicsnemo\u002Fmodels)\n- [SwinVRNN](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fphysicsnemo\u002Ftree\u002Fmain\u002Fphysicsnemo\u002Fmodels\u002Fswinvrnn)\n- [物理信息神经网络（PINNs）](https:\u002F\u002Fdocs.nvidia.com\u002Fdeeplearning\u002Fphysicsnemo\u002Fphysicsnemo-sym\u002Fuser_guide\u002Ffoundational\u002F1d_wave_equation.html)\n\n以及其他众多模型。\n\n这些模型针对不同的物理领域进行了优化，例如计算流体动力学、结构力学和电磁学。用户可以下载、自定义并在此基础上构建模型，以满足其特定需求，从而显著缩短开发高保真度仿真所需的时间。\n\n### 与 PyTorch 的无缝集成\n\nPhysicsNeMo 构建在 PyTorch 之上，为已经熟悉 PyTorch 的用户提供了一种熟悉且友好的使用体验。\n这包括简单的 Python 接口和模块化设计，使得用户能够轻松地将 PhysicsNeMo 与现有的 PyTorch 工作流程结合使用。\n用户可以充分利用 PyTorch 庞大的生态系统及其丰富的库和工具，同时受益于 PhysicsNeMo 在物理信息驱动机器学习方面的专业能力。这种无缝集成确保用户无需经历陡峭的学习曲线即可快速上手使用 PhysicsNeMo。\n\n更多信息请参阅 [将 PyTorch 模型转换为 PhysicsNeMo 模型](https:\u002F\u002Fdocs.nvidia.com\u002Fdeeplearning\u002Fphysicsnemo\u002Fphysicsnemo-core\u002Fapi\u002Fphysicsnemo.models.html#converting-pytorch-models-to-physicsnemo-models)。\n\n### 易于自定义和扩展\n\nPhysicsNeMo 设计为高度可扩展，允许用户以最小的努力添加新功能。该框架提供了 Python 式的 API，用于定义新的物理模型、几何形状和约束条件，从而轻松扩展其功能以适应新的应用场景。\nPhysicsNeMo 的适应性进一步通过以下关键特性得到增强：支持 [ONNX 格式](https:\u002F\u002Fdocs.nvidia.com\u002Fdeeplearning\u002Fphysicsnemo\u002Fphysicsnemo-core\u002Fapi\u002Fphysicsnemo.deploy.html)，便于灵活部署模型；强大的 [日志记录工具](https:\u002F\u002Fdocs.nvidia.com\u002Fdeeplearning\u002Fphysicsnemo\u002Fphysicsnemo-core\u002Fapi\u002Fphysicsnemo.launch.logging.html)，可简化错误处理；以及高效的 [检查点机制](https:\u002F\u002Fdocs.nvidia.com\u002Fdeeplearning\u002Fphysicsnemo\u002Fphysicsnemo-core\u002Fapi\u002Fphysicsnemo.launch.utils.html#module-physicsnemo.launch.utils.checkpoint)，便于模型的加载和保存。\n\n这种可扩展性确保了 PhysicsNeMo 能够适应研究人员和工程师不断变化的需求，从而促进物理信息驱动机器学习领域的创新解决方案的开发。\n\n有关功能和特性的详细信息，请参阅 [PhysicsNeMo 文档](https:\u002F\u002Fdocs.nvidia.com\u002Fphysicsnemo\u002Findex.html#core)。\n\n[参考示例](examples\u002FREADME.md) 涵盖了广泛的物理约束和数据驱动的工作流程，以适应科学和工程领域的多样化应用场景。\n\n> [!提示]\n> 想了解 PhysicsNeMo 如何帮助您吗？请尝试我们的 [实验性] 聊天机器人——[PhysicsNeMo 指南](https:\u002F\u002Fchatgpt.com\u002Fg\u002Fg-PXrBv20SC-modulus-guide)，获取答案。\n\n### 你好，世界\n\n你可以在自己的 PyTorch 代码中像下面这样简单地开始使用 PhysicsNeMo：\n\n```python\n>>> import torch\n>>> from physicsnemo.models.mlp.fully_connected import FullyConnected\n>>> model = FullyConnected(in_features=32, out_features=64)\n>>> input = torch.randn(128, 32)\n>>> output = model(input)\n>>> output.shape\ntorch.Size([128, 64])\n```\n\n要使用分布式模块，可以按照以下方式操作（以下示例为分布式数据并行训练；如需更深入的教程，请参阅 [PhysicsNeMo 分布式](https:\u002F\u002Fdocs.nvidia.com\u002Fdeeplearning\u002Fphysicsnemo\u002Fphysicsnemo-core\u002Fapi\u002Fphysicsnemo.distributed.html#)）：\n\n```python\nimport torch\nfrom torch.nn.parallel import DistributedDataParallel\nfrom physicsnemo.distributed import DistributedManager\nfrom physicsnemo.models.mlp.fully_connected import FullyConnected\n\ndef main():\n    DistributedManager.initialize()\n    dist = DistributedManager()\n\n    arch = FullyConnected(in_features=32, out_features=64).to(dist.device)\n\n    if dist.distributed:\n        ddps = torch.cuda.Stream()\n        with torch.cuda.stream(ddps):\n            arch = DistributedDataParallel(\n                arch,\n                device_ids=[dist.local_rank],\n                output_device=dist.device,\n                broadcast_buffers=dist.broadcast_buffers,\n                find_unused_parameters=dist.find_unused_parameters,\n            )\n        torch.cuda.current_stream().wait_stream(ddps)\n\n    # 设置优化器\n    optimizer = torch.optim.Adam(\n        arch.parameters(),\n        lr=0.001,\n    )\n\n    def training_step(invar, target):\n        pred = arch(invar)\n        loss = torch.sum(torch.pow(pred - target, 2))\n        loss.backward()\n        optimizer.step()\n        return loss\n\n    # 示例训练循环\n    for i in range(20):\n        # 为了简单起见，随机生成输入和目标\n        input = torch.randn(128, 32, device=dist.device)\n        target = torch.randn(128, 64, device=dist.device)\n\n        # 训练步骤\n        loss = training_step(input, target)\n\nif __name__ == \"__main__\":\n    main()\n```\n\n要使用 PDE 模块，可以按照以下方式操作：\n\n```python\n>>> from physicsnemo.sym.eq.pdes.navier_stokes import NavierStokes\n>>> ns = NavierStokes(nu=0.01, rho=1, dim=2)\n>>> ns.pprint()\n连续性方程: u__x + v__y\n动量方程_x: u*u__x + v*u__y + p__x + u__t - 0.01*u__x__x - 0.01*u__y__y\n动量方程_y: u*v__x + v*v__y + p__y + v__t - 0.01*v__x__x - 0.01*v__y__y\n```\n\n## 谁在使用和贡献于 PhysicsNeMo\n\nPhysicsNeMo 是一个开源项目，得到了 SciML 和 AI4Science 领域研究人员的贡献。虽然 PhysicsNeMo 团队致力于优化底层软件栈，但社区也在协作并贡献模型架构、数据集和参考应用，以便我们能够在开发可泛化的模型架构和算法方面不断创新。\n\n近期社区贡献者的一些例子包括：[HP 实验室 3D 打印团队](https:\u002F\u002Fdeveloper.nvidia.com\u002Fblog\u002Fspotlight-hp-3d-printing-and-nvidia-physicsnemo-collaborate-on-open-source-manufacturing-digital-twin\u002F)、[斯坦福心血管研究团队](https:\u002F\u002Fdeveloper.nvidia.com\u002Fblog\u002Fenabling-greater-patient-specific-cardiovascular-care-with-ai-surrogates\u002F)、[伊利诺伊大学厄巴纳-香槟分校团队](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fphysicsnemo\u002Ftree\u002Fmain\u002Fexamples\u002Fcfd\u002Fmhd_pino)、[卡内基梅隆大学团队](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fphysicsnemo\u002Ftree\u002Fmain\u002Fexamples\u002Fgenerative\u002Fdiffusion)等。\n\n近期使用 PhysicsNeMo 的研究团队的例子有：[橡树岭国家实验室团队](https:\u002F\u002Farxiv.org\u002Fabs\u002F2404.05768)、[慕尼黑工业大学 CFD 团队](https:\u002F\u002Fwww.nvidia.com\u002Fen-us\u002Fon-demand\u002Fsession\u002Fgtc24-s62237\u002F)等。\n\n请访问此页面以获取利用 PhysicsNeMo 的完整研究工作列表。有关使用 PhysicsNeMo 的企业的列表，请参阅 [PhysicsNeMo 官网](https:\u002F\u002Fdeveloper.nvidia.com\u002Fphysicsnemo)。\n\n您是否正在使用 PhysicsNeMo，并希望在 [NVIDIA 博客](https:\u002F\u002Fdeveloper.nvidia.com\u002Fblog\u002Fcategory\u002Fsimulation-modeling-design\u002F) 上展示您的工作？请填写此 [提案表单](https:\u002F\u002Fforms.gle\u002FXsBdWp3ji67yZAUF7)，我们将尽快与您联系！\n\n## 他们为何使用 PhysicsNeMo\n\n以下是 PhysicsNeMo 在 SciML 模型开发中的主要优势：\n\n\u003C!-- markdownlint-disable -->\n\u003Cimg src=\"docs\u002Fimg\u002Fvalue_prop\u002Fbenchmarking.svg\" width=\"100\"> | \u003Cimg src=\"docs\u002Fimg\u002Fvalue_prop\u002Frecipe.svg\" width=\"100\"> | \u003Cimg src=\"docs\u002Fimg\u002Fvalue_prop\u002Fperformance.svg\" width=\"100\">\n---|---|---|\n|SciML 基准测试与验证|轻松使用通用 SciML 模板处理异构数据集 |开箱即用的性能与可扩展性\n|PhysicsNeMo 使研究人员能够针对标准基准问题，使用经过验证的架构，并结合详细的领域特定验证标准来评估其 AI 模型。|PhysicsNeMo 使研究人员能够从最先进的 SciML 架构中选择，并为其用例使用内置的数据管道。|PhysicsNeMo 提供开箱即用的高效训练流水线，包括针对异构工程和科学数据集的优化 ETL 流水线，以及跨多 GPU 和多节点 GPU 的开箱即用扩展能力。\n\u003C!-- markdownlint-enable -->\n\n敬请期待同行 SciML 研究人员对 PhysicsNeMo 的评价（即将发布）。\n\n## 开始使用 PhysicsNeMo\n\n以下资源将帮助您学习如何使用 PhysicsNeMo。最好的方法是从一个参考示例开始，然后根据您自己的用例进行调整。\n\n- [将 PhysicsNeMo 与您的 PyTorch 模型一起使用](https:\u002F\u002Fdocs.nvidia.com\u002Fdeeplearning\u002Fphysicsnemo\u002Fphysicsnemo-core\u002Ftutorials\u002Fsimple_training_example.html#using-custom-models-in-physicsnemo)\n- [使用 PhysicsNeMo 内置模型](https:\u002F\u002Fdocs.nvidia.com\u002Fdeeplearning\u002Fphysicsnemo\u002Fphysicsnemo-core\u002Ftutorials\u002Fsimple_training_example.html#using-built-in-models)\n- [入门指南](https:\u002F\u002Fdocs.nvidia.com\u002Fdeeplearning\u002Fphysicsnemo\u002Fgetting-started\u002Findex.html)\n- [参考示例](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fphysicsnemo\u002Fblob\u002Fmain\u002Fexamples\u002FREADME.md)\n- [用户指南文档](https:\u002F\u002Fdocs.nvidia.com\u002Fdeeplearning\u002Fphysicsnemo\u002Fphysicsnemo-core\u002Findex.html)\n\n## 学习 AI 物理学\n\n- [探索 Hugging Face 上的 Jupyter 笔记本](https:\u002F\u002Fhuggingface.co\u002Fcollections\u002Fnvidia\u002Fphysicsnemo)\n- [AI4Science PhysicsNeMo 训练营](https:\u002F\u002Fgithub.com\u002Fopenhackathons-org\u002FEnd-to-End-AI-for-Science)\n- [DLI 自定进度培训](https:\u002F\u002Flearn.nvidia.com\u002Fcourses\u002Fcourse-detail?course_id=course-v1:DLI+S-OV-04+V1)\n- [面向科学与工程的深度学习讲座系列](https:\u002F\u002Fwww.nvidia.com\u002Fen-us\u002Fon-demand\u002Fdeep-learning-for-science-and-engineering\u002F)\n- [视频教程](https:\u002F\u002Fwww.nvidia.com\u002Fen-us\u002Fon-demand\u002Fsearch\u002F?facet.mimetype[]=event%20session&layout=list&page=1&q=physicsnemo&sort=relevance&sortDir=desc)\n\n## 资源\n\n- [入门网络研讨会](https:\u002F\u002Fwww.nvidia.com\u002Fen-us\u002Fon-demand\u002Fsession\u002Fgtc24-dlit61460\u002F?playlistId=playList-bd07f4dc-1397-4783-a959-65cec79aa985)\n- [PhysicsNeMo：目的与使用方法](https:\u002F\u002Fwww.nvidia.com\u002Fen-us\u002Fon-demand\u002Fsession\u002Fdliteachingkit-setk5002\u002F)\n- [AI4Science PhysicsNeMo训练营](https:\u002F\u002Fgithub.com\u002Fopenhackathons-org\u002FEnd-to-End-AI-for-Science)\n- [PhysicsNeMo预训练模型](https:\u002F\u002Fcatalog.ngc.nvidia.com\u002Fmodels?filters=&orderBy=scoreDESC&query=PhysicsNeMo&page=&pageSize=)\n- [PhysicsNeMo数据集及补充材料](https:\u002F\u002Fcatalog.ngc.nvidia.com\u002Fresources?filters=&orderBy=scoreDESC&query=PhysicsNeMo&page=&pageSize=)\n\n## 安装\n\n您可以通过两种受支持的方式安装 PhysicsNeMo：**通过 pip**（原生 pip 或 **uv**）或使用 **NVIDIA 容器镜像**。请选择适合您的环境和工作流的方法。\n\n以下说明涵盖了 PhysicsNeMo 的基础模块。可选依赖项列在 [`pyproject.toml`](.\u002Fpyproject.toml) 中。[训练示例](.\u002Fexamples) 不包含在 pip 轮子或容器中；请克隆仓库，并将这些示例作为起点。许多示例都包含 `requirements.txt` 文件，用于安装额外的依赖项。\n\n### CUDA 后端选择\n\n> **重要提示：** 若要获得 GPU 加速的 RAPIDS 包（cuML、pylibraft、cupy）以及与 CUDA 版本匹配的 PyTorch 构建，您**必须**在安装时包含 `cu13` 或 `cu12`。诸如 `nn-extras` 和 `utils-extras` 等功能扩展提供了额外的非 CUDA 包（scipy、natten、wandb 等），但它们本身并不包含 RAPIDS 依赖项。\n\nPhysicsNeMo 同时支持 CUDA 12 和 CUDA 13 后端。后端是通过一个与功能扩展无关的额外选项来选择的——您可以自由组合：\n\n| 额外选项 | 提供的内容 |\n| --- | --- |\n| `cu13` | PyTorch（CUDA 13.0）、cuML-cu13、pylibraft-cu13、cupy-cuda13x |\n| `cu12` | PyTorch（CUDA 12.8）、cuML-cu12、pylibraft-cu12、cupy-cuda12x |\n| *(无)* | 来自 PyPI 的 PyTorch（默认构建），**不含 RAPIDS 包** |\n\n### PyPI\n\n从 PyPI 安装最新版本：\n\n```Bash\npip install nvidia-physicsnemo\npython -c \"import physicsnemo; print('PhysicsNeMo 版本:', physicsnemo.__version__)\"\n```\n\n要使用特定的 CUDA 后端和可选的功能扩展进行安装：\n\n```Bash\n# CUDA 13 后端，包含 nn-extras\npip install \"nvidia-physicsnemo[cu13,nn-extras]\"\n\n# CUDA 12 后端，包含 nn-extras\npip install \"nvidia-physicsnemo[cu12,nn-extras]\"\n```\n\n其他功能扩展（`utils-extras`、`mesh-extras`、`model-extras`、`datapipes-extras`、`gnns`）也可以以相同的方式组合使用。\n\n您还可以通过运行 [Hello World](#hello-world) 示例来验证安装是否成功。\n\n### uv\n\n对于开发或直接从源代码运行示例，您可以使用 [uv](https:\u002F\u002Fdocs.astral.sh\u002Fuv\u002F) 克隆仓库并同步依赖项：\n\n```Bash\ngit clone https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fphysicsnemo.git\ncd physicsnemo\nuv sync --extra cu13\nuv run python -c \"import physicsnemo; print('PhysicsNeMo 版本:', physicsnemo.__version__)\"\n```\n\n要安装带有可选功能扩展（例如 `nn-extras`）的包：\n\n```Bash\nuv sync --extra cu13 --extra nn-extras\n```\n\n对于 CUDA 12 环境，请将 `cu13` 替换为 `cu12`：\n\n```Bash\nuv sync --extra cu12 --extra nn-extras\n```\n\n### NVCR 容器\n\n可以从 NVIDIA 容器注册表 (NGC) 拉取 PhysicsNeMo Docker 镜像：\n\n[NVIDIA 容器注册表](https:\u002F\u002Fcatalog.ngc.nvidia.com\u002Forgs\u002Fnvidia\u002Fteams\u002Fphysicsnemo\u002Fcontainers\u002Fphysicsnemo)（请参考 NGC 注册表以获取最新标签）：\n\n```Bash\ndocker pull nvcr.io\u002Fnvidia\u002Fphysicsnemo\u002Fphysicsnemo:25.06\n```\n\n在容器内，您可以克隆 PhysicsNeMo 的 Git 仓库，并开始使用示例。以下命令展示了如何启动 PhysicsNeMo 容器并从此仓库运行示例：\n\n```bash\ndocker run --shm-size=1g --ulimit memlock=-1 --ulimit stack=67108864 --runtime nvidia \\\n--rm -it nvcr.io\u002Fnvidia\u002Fphysicsnemo\u002Fphysicsnemo:25.06 bash\ngit clone https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fphysicsnemo.git\ncd physicsnemo\u002Fexamples\u002Fcfd\u002Fdarcy_fno\u002F\npip install warp-lang # 安装 NVIDIA Warp 以运行 Darcy 示例\npython train_fno_darcy.py\n```\n\n### 从源代码安装\n\n要从源代码本地构建 PhysicsNeMo Python 包，请执行以下操作：\n\n```Bash\ngit clone git@github.com:NVIDIA\u002Fphysicsnemo.git && cd physicsnemo\n\npip install --upgrade pip\npip install .\npython -c \"import physicsnemo; print('PhysicsNeMo 版本:', physicsnemo.__version__)\"\n```\n\n对于可编辑安装、本地测试更改以及贡献工作流程，请参阅文档中的 [自定义 PhysicsNeMo](https:\u002F\u002Fdocs.nvidia.com\u002Fphysicsnemo\u002Flatest\u002Fresources\u002Fcustomization_guide.html) 指南。此外，请参阅 [贡献指南](CONTRIBUTING.md)，了解拉取请求、编码规范和 CI 流程，以及 [开发者维基](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fphysicsnemo\u002Fwiki)，以获取社区和贡献概述。\n\n### 从源代码构建 Docker 镜像\n\n要构建 PhysicsNeMo Docker 镜像：\n\n```bash\ndocker build -t physicsnemo:deploy \\\n    --build-arg TARGETPLATFORM=linux\u002Famd64 --target deploy -f Dockerfile .\n```\n\n或者，您也可以运行 `make container-deploy`。\n\n要构建 CI 镜像：\n\n```bash\ndocker build -t physicsnemo:ci \\\n    --build-arg TARGETPLATFORM=linux\u002Famd64 --target ci -f Dockerfile .\n```\n\n或者，您也可以运行 `make container-ci`。\n\n### 平台支持\n\n对于 pip 或 uv 安装，支持 Linux、macOS（ARM）和 Windows。\n\nDocker 容器仅适用于 `linux\u002Famd64` 和 `linux\u002Farm64` 平台。如果使用 `linux\u002Farm64`，某些依赖项（如 `warp-lang`）可能无法正确安装。\n\n## PhysicsNeMo 迁移指南\n\nNVIDIA Modulus 已更名为 NVIDIA PhysicsNeMo。迁移时请注意：\n\n- 对于 PyPI 轮子，请使用 `pip install nvidia-physicsnemo` 而不是 `pip install nvidia-modulus`。\n- 对于 Docker 容器，请使用 `nvcr.io\u002Fnvidia\u002Fphysicsnemo\u002Fphysicsnemo:\u003Ctag>` 而不是 `nvcr.io\u002Fnvidia\u002Fmodulus\u002Fmodulus:\u003Ctag>`。\n- 在您的 pip 依赖文件中（`requirements.txt`、`setup.py`、`setup.cfg`、`pyproject.toml` 等），将 `nvidia-modulus` 替换为 `nvidia-physicsnemo`。\n- 在代码中，将导入语句从 `import modulus` 更改为 `import physicsnemo`。\n\n旧的 PyPI 注册表和 NGC 容器注册表将很快被弃用，并且不会再接收任何错误修复或更新。不过，旧的检查点仍将与这些更新兼容。\n\n更多详细信息即将发布。\n\n## DGL 到 PyTorch Geometric 迁移指南\n\nPhysicsNeMo 支持广泛的图神经网络（GNN），包括 MeshGraphNet 等。目前，PhysicsNeMo 使用 DGL 库作为其 GNN 后端，并计划在未来的版本中完全过渡到 PyTorch Geometric（PyG）。有关详细信息，请参阅 [DGL 到 PyG 迁移指南](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fphysicsnemo\u002Fblob\u002Fmain\u002Fexamples\u002Fdgl_to_pyg_migration.md)。\n\n## 为 PhysicsNeMo 做贡献\n\nPhysicsNeMo 是一个开源协作项目，它的成功离不开社区成员对物理与机器学习领域的持续贡献。感谢您为该项目做出贡献，让其他开发者能够在此基础上进一步开发。\n\n有关如何为 PhysicsNeMo 做贡献的指导，请参阅 [贡献指南](CONTRIBUTING.md)（包括拉取请求、代码风格和持续集成）。如需了解从源码安装、可编辑安装以及测试您的更改等步骤，请参阅文档中的 [自定义 PhysicsNeMo](https:\u002F\u002Fdocs.nvidia.com\u002Fphysicsnemo\u002Flatest\u002Fresources\u002Fcustomization_guide.html) 指南。有关社区和贡献的概述，请访问 [开发者 Wiki](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fphysicsnemo\u002Fwiki)。\n\n## 引用 PhysicsNeMo\n\n如果您在研究中使用了 PhysicsNeMo，并希望对其进行引用，请参考 [引用指南](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fphysicsnemo\u002Fblob\u002Fmain\u002FCITATION.cff)。\n\n## 沟通交流\n\n- GitHub Discussions：讨论新的架构、实现、物理与机器学习研究等。\n- GitHub Issues：用于报告 bug、提出功能请求、解决安装问题等。\n- PhysicsNeMo 论坛：[PhysicsNeMo 论坛](https:\u002F\u002Fforums.developer.nvidia.com\u002Ft\u002Fwelcome-to-the-physicsnemo-ml-model-framework-forum\u002F178556) 面向初级至中级用户及开发者，提供通用聊天、在线讨论、协作等功能。\n\n## 反馈\n\n您想为 PhysicsNeMo 提出改进建议吗？请使用我们的 [反馈表单](https:\u002F\u002Fdocs.google.com\u002Fforms\u002Fd\u002Fe\u002F1FAIpQLSfX4zZ0Lp7MMxzi3xqvzX4IQDdWbkNh5H_a_clzIhclE2oSBQ\u002Fviewform?usp=sf_link)。\n\n## 许可证\n\nPhysicsNeMo 采用 Apache License 2.0 许可证进行授权。完整的许可证文本请参阅 [LICENSE.txt](.\u002FLICENSE.txt)。此外，NVAIE 提供企业级 SLA、技术支持以及预览版访问权限。","# NVIDIA PhysicsNeMo 快速上手指南\n\nNVIDIA PhysicsNeMo 是一个开源深度学习框架，专为构建、训练和推理物理人工智能（Physics AI）模型而设计。它结合了先进的科学机器学习（SciML）方法，适用于 AI4Science 和工程领域，支持神经算子、图神经网络（GNN）、Transformer 及物理信息神经网络（PINN）等多种架构。\n\n## 环境准备\n\n在开始之前，请确保您的开发环境满足以下要求：\n\n*   **操作系统**: Linux (推荐 Ubuntu 20.04\u002F22.04)\n*   **GPU**: NVIDIA GPU (建议 Ampere 架构或更高版本以获最佳性能)\n*   **CUDA**: 已安装与 PyTorch 版本兼容的 CUDA Toolkit\n*   **Python**: Python 3.9 - 3.11\n*   **前置依赖**:\n    *   PyTorch (最新稳定版)\n    *   NVIDIA Apex (可选，用于混合精度训练加速)\n    *   Git\n\n> **注意**：PhysicsNeMo 深度集成于 PyTorch 生态，熟悉 PyTorch 的用户将能更快上手。\n\n## 安装步骤\n\n### 1. 创建虚拟环境（推荐）\n\n```bash\npython -m venv physicsnemo-env\nsource physicsnemo-env\u002Fbin\u002Factivate\n```\n\n### 2. 安装 PyTorch\n\n请访问 [PyTorch 官网](https:\u002F\u002Fpytorch.org\u002Fget-started\u002Flocally\u002F) 获取适合您环境的安装命令。例如：\n\n```bash\npip install torch torchvision torchaudio --index-url https:\u002F\u002Fdownload.pytorch.org\u002Fwhl\u002Fcu118\n```\n\n*(国内用户若遇网络问题，可尝试使用清华源：`--index-url https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple`)*\n\n### 3. 安装 PhysicsNeMo\n\n目前推荐通过源码安装以获取最新功能（特别是 v2.0 更新）：\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fphysicsnemo.git\ncd physicsnemo\npip install -e .\n```\n\n如果需要安装特定领域的扩展包（如流体力学 CFD 或气象 Earth-2），请参考各子仓库的安装说明。\n\n## 基本使用\n\nPhysicsNeMo 的核心优势在于其模块化的模型库和分布式训练能力。以下是一个使用预置模型架构进行简单初始化的示例。\n\n### 示例：初始化一个傅里叶神经算子 (FNO) 模型\n\n此示例展示如何导入并实例化一个经典的 FNO 模型，这是处理偏微分方程求解的常用架构。\n\n```python\nimport torch\nfrom physicsnemo.models import FNO\n\n# 定义模型参数\nin_channels = 3   # 输入通道数\nout_channels = 2  # 输出通道数\nlayers = 4        # 网络层数\nhidden_size = 64  # 隐藏层维度\n\n# 实例化模型\nmodel = FNO(\n    in_channels=in_channels,\n    out_channels=out_channels,\n    layers=layers,\n    hidden_size=hidden_size\n)\n\n# 将模型移至 GPU\ndevice = torch.device(\"cuda\" if torch.cuda.is_available() else \"cpu\")\nmodel.to(device)\n\n# 准备模拟输入数据 (Batch_Size, Channels, Height, Width)\ndummy_input = torch.randn(4, in_channels, 64, 64).to(device)\n\n# 前向推理\nwith torch.no_grad():\n    output = model(dummy_input)\n\nprint(f\"输入形状：{dummy_input.shape}\")\nprint(f\"输出形状：{output.shape}\")\n```\n\n### 下一步\n\n*   **数据加载**: 使用 `physicsnemo.datapipes` 加载点云、网格等科学数据。\n*   **物理约束**: 利用 `physicsnemo.sym.eq` 模块定义偏微分方程（PDEs）作为损失函数的一部分，构建 PINN。\n*   **分布式训练**: 使用 `physicsnemo.distributed` 模块轻松扩展到多卡或多节点训练。\n\n更多详细教程和案例请参考官方文档：[PhysicsNeMo Documentation](https:\u002F\u002Fdocs.nvidia.com\u002Fdeeplearning\u002Fphysicsnemo\u002Fphysicsnemo-core\u002Findex.html)。","某航空航天工程团队正在开发下一代高超音速飞行器的热防护系统，需要快速预测不同飞行姿态下机身表面的复杂气流与热分布。\n\n### 没有 physicsnemo 时\n- **计算耗时极长**：依赖传统计算流体力学（CFD）仿真，单次高精度模拟需数小时甚至数天，无法支持实时的设计迭代。\n- **纯数据模型不可靠**：若仅使用普通深度学习模型，在缺乏训练数据的极端工况下，预测结果往往违背物理守恒定律（如质量或能量不守恒），导致工程风险。\n- **开发门槛高且分散**：工程师需手动拼接 PyTorch 底层代码来实现物理约束损失函数，难以复用现有的神经算子或图神经网络架构，研发效率低下。\n- **扩展性差**：面对大规模网格数据，现有脚本难以有效利用多 GPU 集群进行并行训练，模型收敛速度慢。\n\n### 使用 physicsnemo 后\n- **实时推理加速**：利用 physicsnemo 预优化的神经算子模型，将原本数小时的仿真过程压缩至秒级，实现了飞行器热场的实时预测。\n- **物理一致性保障**：通过内置的物理信息神经网络（PINN）模块，自动将纳维 - 斯托克斯方程等物理定律融入损失函数，确保即使在数据稀缺区域，预测结果也严格遵循物理规律。\n- **模块化高效开发**：直接调用 physicsnemo.models 中现成的 Transformer 或 GNN 架构，无需从零编写底层逻辑，大幅缩短了从算法验证到部署的周期。\n- **原生 GPU 规模化**：借助其可扩展的 GPU 优化训练库，轻松调度多卡集群处理海量网格数据，显著提升了模型训练速度和精度。\n\nphysicsnemo 通过将深厚的物理知识与前沿深度学习架构无缝融合，让科学家能以数据驱动的方式实现既快又准的科学计算突破。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FNVIDIA_physicsnemo_41cdbf9b.png","NVIDIA","NVIDIA Corporation","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FNVIDIA_7dcf6000.png","",null,"https:\u002F\u002Fnvidia.com","https:\u002F\u002Fgithub.com\u002FNVIDIA",[80,84,88,92],{"name":81,"color":82,"percentage":83},"Python","#3572A5",99.8,{"name":85,"color":86,"percentage":87},"Dockerfile","#384d54",0.1,{"name":89,"color":90,"percentage":91},"Makefile","#427819",0,{"name":93,"color":94,"percentage":91},"Shell","#89e051",2635,632,"2026-04-06T19:28:41","Apache-2.0","Linux","必需 NVIDIA GPU，支持单卡到多节点集群扩展，具体显存大小未说明（取决于模型规模），需安装兼容 PyTorch 的 CUDA 版本","未说明",{"notes":103,"python":101,"dependencies":104},"该工具专为 NVIDIA GPU 优化，基于 PyTorch 构建。支持从单 GPU 到多节点集群的分布式训练。提供针对 CFD、气象气候等领域的专用子模块。文档提到正在更新至 v2.0 版本以简化安装。具体的 Python 版本、CUDA 版本及显存最低要求需参考官方详细安装指南，README 中未列出具体数值。",[105,106],"torch","torch.distributed",[14],[109,110,111,112,113,114],"deep-learning","machine-learning","nvidia-gpu","physics","pytorch","nvidia-warp","2026-03-27T02:49:30.150509","2026-04-07T09:46:43.451615",[118,123,128,133,138,142],{"id":119,"question_zh":120,"answer_zh":121,"source_url":122},21514,"训练 StormCast 扩散模型时，损失函数在数百个 epoch 中几乎保持不变怎么办？","首先确保基础回归模型（UNet）训练良好且损失曲线下降。建议分步进行：先专注于使用 UNet 作为基础回归模型训练扩散组件，以获得合理的单步预测（1-step predictions）。默认配置即为单步预测，无需修改超参数。在单步预测效果合理后，再尝试更长的自回归滚动（autoregressive rollouts）。如果某些变量（如反射率）的预测效果较差且非研究必需，可以考虑将其从训练中移除以优化整体效果。","https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fphysicsnemo\u002Fissues\u002F1097",{"id":124,"question_zh":125,"answer_zh":126,"source_url":127},21515,"DOMINO 模型在版本升级后（如从 1.1.1 到 1.2.0），表面压力（Cp）和壁面剪切应力结果变差且发散，如何解决？","该问题已在后续版本（如 25.08）中得到修复。如果您遇到此类结果显著变差的情况，请尝试升级到最新的可用版本。更新后的版本已恢复正确的预测能力，能够重新生成符合预期的压力分布和剪切应力结果。","https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fphysicsnemo\u002Fissues\u002F1116",{"id":129,"question_zh":130,"answer_zh":131,"source_url":132},21516,"运行 CorrDiff 示例生成图像时遇到 \"Input type (c10::Half) and bias type (float) should be the same\" 错误，如何解决？","此错误通常发生在相关 PR 更新后，回归网络（regression）和扩散网络（diffusion）的权重文件不匹配或过旧。请确保加载的是与该代码版本配套的最新权重文件。同时，注意代码中关于 `torch.cuda.amp.autocast` 的弃用警告，建议在代码中将 `amp.autocast` 替换为 `torch.amp.autocast('cuda', ...)` 以兼容新版本 PyTorch。","https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fphysicsnemo\u002Fissues\u002F874",{"id":134,"question_zh":135,"answer_zh":136,"source_url":137},21517,"DOMINO 在多 GPU 并行训练时的性能瓶颈在哪里？如何优化？","性能瓶颈通常在于 I\u002FO，但这可能包含部分 GPU 预处理时间，因此具有误导性。目前基于“仅表面”（surface-only）数据的性能约为每步 1.3 秒。切换到更高性能的 GPU（如从 L40\u002FL4 升级到 H100）通常会带来显著的速度提升，但具体幅度取决于数据集特性。建议关注后续支持多 GPU 体积训练（multi-GPU volume training）的分支更新以获得更好的扩展性。","https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fphysicsnemo\u002Fissues\u002F1057",{"id":139,"question_zh":140,"answer_zh":141,"source_url":122},21518,"StormCast 扩散模型默认是训练用于单步预测还是多步预测？需要修改配置吗？","默认行为就是针对单步预测（1-step predictions）进行训练的。您不需要修改配置目录中的任何超参数来确保这种行为。只有在您需要执行更长的自回归滚动预测时，才需要在获得良好的单步预测结果后进行额外的配置调整。",{"id":143,"question_zh":144,"answer_zh":145,"source_url":137},21519,"DOMINO 模型在单 GPU 上运行时，如何处理大量采样点以避免内存溢出并提高速度？","使用较新的硬件（如 NVIDIA L4 或 H100）不仅能加快训练时间，还能更好地管理大量采样点下的显存占用。对于大规模采样点，确保使用适合的计算资源和优化的数据加载策略。如果当前显存不足，可考虑减少单次处理的采样点数量或利用模型表面的稀疏性进行优化。",[147,152,157,162,167,172,177,182,187,192,197,202,207,212,217,222,227],{"id":148,"version":149,"summary_zh":150,"released_at":151},127509,"v2.0.0","PhysicsNeMo 通用发布 v2.0.0\n\n📝 NVIDIA PhysicsNeMo v2.0 对所有功能进行了重大重构，安装和与外部包的集成更加简便。更多详情请参阅[迁移指南](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fphysicsnemo\u002Fblob\u002Fmain\u002Fv2.0-MIGRATION-GUIDE.md)！\n\n### 新增内容\n\n- 重构了 `physicsnemo.diffusion.preconditioners` 模块中的扩散预条件器，基于一个新的抽象基类 `BaseAffinePreconditioner`，用于实现采用仿射变换的预条件方案。现有预条件器（`VPPrecond`、`VEPrecond`、`iDDPMPrecond`、`EDMPrecond`）均已根据这一新接口重新实现。\n- 新增模块 `physicsnemo.experimental.nn.symmetry`，该模块实现了能够保持二维和三维旋转等变性的构建模块，采用基于网格的布局以支持高效的 GPU 并行化，并侧重于紧凑的 `einsum` 操作。\n\n### 变更内容\n\n- PhysicsNemo v2.0 对工具进行了重大重组。请查阅 v2.0-MIGRATION-GUIDE.md，了解具体变更及其原因。\n- DiT（扩散 Transformer）已从 `physicsnemo.experimental.models.dit` 移至 `physicsnemo.models.dit`。\n\n### 修复内容\n\n- 修正了 Lennard-Jones 示例中的形状不匹配错误。\n\n### 依赖项\n\n- 现在通过独立的 `cu12` 和 `cu13` 附加组件来选择 CUDA 后端，而非硬编码为 CUDA 13。功能附加组件（如 `nn-extras`、`utils-extras` 等）现已与 CUDA 版本无关，可与任一后端组合使用，例如：`pip install \"nvidia-physicsnemo[cu13,nn-extras]\"`。若未指定 `cu12` 或 `cu13`，则将从 PyPI 安装默认构建版本的 PyTorch（目前在 Linux 上为 CUDA 12.8）。若使用 `uv` 进行开发，请运行 `uv sync --extra cu13`（或 `--extra cu12`）以选择后端。\n\n### 贡献者\n\n我们衷心感谢所有提交问题、提出功能建议、提供修复以及更新文档的贡献者——正是你们的反馈帮助我们不断改进 PhysicsNeMo，使其惠及整个社区！特别鸣谢以下按字母顺序排列的 PR 提交者：\n\n@jleinonen @dran-dev @aayushg55 @saikrishnanc-nv @jeis4wpi @albertocarpentieri @paveltomin @weilr @giprayogo @tonishi-nv @younes-abid @dakhare-creator @Alexey-Kamenev\n\n非常感谢大家 :heart: — 我们由衷地感激您的贡献，并期待未来能继续收到您的支持！","2026-03-10T23:47:04",{"id":153,"version":154,"summary_zh":155,"released_at":156},127510,"v1.3.0","PhysicsNeMo 通用发布 v1.3.0\n\n### 新增功能\n\n- 在 `physicsnemo.examples.weather` 中的天气示例中添加了专家混合模型。\n  **⚠️警告：** 使用的是实验性的 DiT 模型，未来可能会有 API 变更。\n  在 `physicsnemo.experimental.models.dit` 中对 DiT 架构进行了一些修改。\n  在 `physicsnemo.models.diffusion.layers` 中为 PositionalEmbedding 添加了可学习的选项。\n- 为 StormCast 示例增加了提前期感知的训练支持。\n- 在 `physicsnemo.utils.neighbors` 中添加了一种设备感知的 kNN 方法。该方法能够根据设备自动调度到合适的优化库，支持 CPU 或 GPU，并且与 `torch.compile` 兼容。\n- 对 DoMINO 数据管道进行了额外的测试。\n- 示例：新增了一个使用扩散模型进行全波形反演的示例，路径为 `examples\u002Fgeophysics\u002Fdiffusion_fwi`。\n- 域并行：域并行现在可用于 kNN、radius_search 和 `torch.nn.functional.pad`。\n- 统一了碰撞建模的配方，支持 Transolver 和 MeshGraphNet，以及三种瞬态求解方案。\n- 在 `stochastic_sampler` 中添加了一个检查，以帮助处理具有特定 `.forward()` 签名的 `EDMPrecond` 模型。\n- 在 `physicsnemo.active_learning` 命名空间下添加了用于构建主动学习工作流的抽象接口。在 `examples\u002Factive_learning` 中提供了一个初步示例，说明如何组合和定义一个主动学习工作流。`moons` 示例则提供了一个最小化的（教学性）组合，旨在展示如何定义工作流中的必要部分。\n\n### 变更内容\n\n- 将 Stokes MGN 示例迁移到 PyTorch Geometric。\n- 将 Lennard Jones 示例迁移到 PyTorch Geometric。\n- 将 `physicsnemo.utils.sdf.signed_distance_field` 迁移至仅返回张量的静态接口。现在它也支持分布式网格和输入场。\n- 对 DiTBlock 进行了重构，使其更加模块化。\n- 为 DiTBlock 添加了 NATTEN 2D 邻域注意力后端。\n- 将血流示例迁移到 PyTorch Geometric。\n- 对 DoMINO 模型代码和示例进行了重构，以优化性能并提高可读性。\n- 将 HydroGraphNet 示例迁移到 PyTorch Geometric。\n- 支持保存和加载嵌套的 `physicsnemo.Module`。现在可以使用 `m = Module(submodule, ...)` 创建嵌套模块，并通过 `Module.save` 和 `Module.from_checkpoint` 进行保存和加载。\n  **⚠️警告：** 模块必须是 `physicsnemo.Module`，而不是 `torch.nn.Module`。\n- 支持在实验性 DiT 架构中传递自定义的分词器、反分词器以及注意力模块。\n- 改进了 Transolver 训练配方的检查点保存和归一化配置。\n\n### 修复内容\n\n- 将 U-Net 中的 `skip_scale` 设置为 Python 浮点数，以确保编译正常运行。\n- 确保在 `physicsnemo.utils.neighbors` 中正确处理流依赖关系。\n- 修复了 X-MGN 配方中连续运行 `combine_stl_solids.py` 脚本时文件处理不正确的问题。","2025-11-18T06:50:15",{"id":158,"version":159,"summary_zh":160,"released_at":161},127511,"v1.2.0","PhysicsNeMo 通用发布 v1.2.0\n\n### 新增功能\n\n- 扩散 Transformer (DiT) 模型。DiT 模型可通过 `physicsnemo.experimental.models.dit.DiT` 访问。**⚠️警告：** 实验性功能，未来可能会发生 API 变更。\n- 改进了扩散模型和扩散工具的文档。\n- 提供安全的 API，允许通过 `Module.from_checkpoint(\"chkpt.mdlus\", override_args=set(...))` 覆盖保存在检查点文件中的 `__init__` 参数。\n- PyTorch Geometric MeshGraphNet 后端。\n- DoMINO 中新增功能，可接受任意数量的 `scalar` 或 `vector` 全局参数，并使用 `class ParameterModel` 进行编码。\n- TopoDiff 模型及示例。\n- 增加了 DoMINO 模型返回体邻域的功能。\n- 在 DoMINO 配方中新增引入物理残差损失的功能。\n- 扩散模型、指标和工具：实现了基于 EDM 的扩散模型的 Student-t 分布（t-EDM）。该功能改编自论文 [Heavy-Tailed Diffusion Models, Pandey 等](https:\u002F\u002Farxiv.org\u002Fabs\u002F2410.14171>)。其中包括一个新的 EDM 预条件器 (`tEDMPrecondSuperRes`)、一个损失函数 (`tEDMResidualLoss`) 以及 corrdiff 中的一个新选项 `diffusion_step`。&#9888;&#65039; 这是一项实验性功能，可通过 `physicsnemo.experimental` 模块访问；它也可能在未事先通知的情况下发生 API 变更。\n- 将 Ruff 版本从 0.0.290 升级到 0.12.5。用 `ruff-format` 替代 Black。\n- Domino 的改进，包括 Unet 注意力模块和用户配置。\n- 用于建模结构变形的混合 MeshGraphNet。\n- 在 `transolver` 模型中启用了 TransformerEngine 后端。\n- 外部空气动力学 x-meshgraphnet 示例的推理代码。\n- 新增外部空气动力学示例：在 DrivaerML 表面数据的不规则网格数据上训练 `transolver`。\n- 新增外部空气动力学示例，用于微调预训练模型。\n\n### 变更内容\n\n- 扩散工具：`physicsnemo.utils.generative` 重命名为 `physicsnemo.utils.diffusion`。\n- 扩散模型：在 CorrDiff 模型包装器（`EDMPrecondSuperResolution` 和 `UNet`）中，`profile_mode` 和 `amp_mode` 参数无法通过 `from_checkpoint` 覆盖。它们现在是属性，可以在模型实例化*之后*动态更改，例如 `model.amp_mode = True` 和 `model.profile_mode = False`。\n- 更新了 healpix 数据模块，使其为测试数据加载器使用正确的 `DistributedSampler` 目标。\n- 现有的基于 DGL 的涡脱落示例已更名为 `vortex_shedding_mgn_dgl`。新增了使用 PyTorch Geometric 的 `vortex_shedding_mgn` 示例。\n- HEALPixLayer 现在可以根据需要使用 earth2grid 的 HEALPix 填充操作。\n- 将涡脱落简化网格示例迁移到 PyTorch Geometric。\n- CorrDiff 示例：修复了训练回归 `UNet` 时的错误。\n- 扩散模型：修复了非正方形图像上梯度检查点相关的问题。\n- 扩散模型","2025-08-25T18:31:41",{"id":163,"version":164,"summary_zh":165,"released_at":166},127512,"v1.1.1","PhysicsNeMo（核心）正式发布 v1.1.1（v1.1.0 的补丁版）\n\n### 修复\n\n- 修复了对确定性采样器二阶修正的意外更改","2025-06-16T19:59:55",{"id":168,"version":169,"summary_zh":170,"released_at":171},127513,"v1.1.0","PhysicsNeMo（核心）正式发布 v1.1.0\n\n### 新增功能\n\n- 新增基于 ReGen 分数的数据同化示例\n- 面向基于补丁的扩散模型的通用补丁 API\n- 为 CorrDiff SongUNet 模型引入新的位置嵌入选择策略\n- 添加多存储客户端，支持检查点在对象存储之间的存取\n\n### 变更内容\n\n- 简化 CorrDiff 配置文件，并更新默认值\n- 重构 CorrDiff 的损失函数和采样器，以使用补丁 API\n- 支持非正方形图像及补丁在基于补丁的扩散中的应用\n- 更新 ERA5 数据下载示例，使其符合当前文件格式规范，并将全局统计量的计算范围限定于训练集\n- 支持训练自定义 StormCast 模型，并对 StormCast 进行多项其他改进\n- 更新 CorrDiff 训练代码，支持多轮补丁迭代以分摊回归成本，并引入 `torch.compile` 的使用\n- 重构 `physicsnemo\u002Fmodels\u002Fdiffusion\u002Flayers.py`，优化数据类型转换流程，在自动混合精度模式下避免不必要的类型转换\n- 重构 Conv2d 层，实现卷积与偏置相加的融合\n- 重构 GroupNorm、UNetBlock、SongUNet 和 SongUNetPosEmbd，以支持 Apex GroupNorm 的使用、激活函数与 GroupNorm 的融合，以及 AMP 工作流\n- 更新 SongUNetPosEmbd，避免对 `pos_embd` 进行不必要的主机到设备内存拷贝\n- 更新 `from_checkpoint` 函数，以兼容 Apex 优化检查点与非优化检查点之间的转换\n- 重构 CorrDiff NVTX 注释工作流，使其可配置\n- 重构 `ResidualLoss`，支持通过补丁累积训练来分摊回归成本\n- 显式处理球查询和 SDF 的 Warp 设备\n- 合并 SongUNetPosLtEmb 与 SongUNetPosEmb，并增加对批量大于 1 的支持\n- 为 `positional_embedding_selector` 增加提前期嵌入支持，实现概率变量的任意位置设置\n- 实现无交叉熵损失的提前期感知回归\n- 将 PyTorch 最低版本从 2.0.0 提升至 2.4.0，以尽可能缩小 `physicsnemo.distributed` 功能的支持范围。\n\n### 依赖项\n\n- 将 `nvidia.dali` 设为可选依赖项","2025-06-10T20:36:16",{"id":173,"version":174,"summary_zh":175,"released_at":176},127514,"v1.0.1","PhysicsNeMo（核心）正式发布 v1.0.1\n\n### 新增\n\n- 添加了版本检查，以确保分布式工具和 ShardTensor 与旧版 PyTorch 的兼容性。\n\n### 修复\n\n- 修复了在加载 PhysicsNeMo 检查点时出现的 `EntryPoint` 错误。","2025-03-25T23:57:27",{"id":178,"version":179,"summary_zh":180,"released_at":181},127515,"v1.0.0","PhysicsNeMo（核心）正式发布 v1.0.0\n\n### 新增功能\n\n- DoMINO 模型架构、数据管道及训练配方\n- 增加矩阵分解方案以改进图分区\n- FIGConvNet 示例中新增对 DrivAerML 数据集的支持\n- 提供基于预训练模型检查点的 DoMINO 重训练配方\n- 新增使用 ShardTensor 的领域并行性原型支持\n- 通过 DistributedManager 启用 DeviceMesh 初始化\n- 新增数据中心 CFD 用例\n- 在 physicsnemo 中添加留置式性能分析工具，便于在代码库的各个层面轻松启用 torch\u002Fpython\u002Fnsight 性能分析\n\n### 变更\n\n- 重构 StormCast 训练示例\n- 对 DoMINO 模型及训练示例进行增强并修复了若干 bug\n- 增强 DoMINO 模型的入口速度参数化能力\n- 将无量纲化处理从 domino 数据管道移至 domino 示例中的数据管道\n- 更新 `physicsnemo.launch.logging` 中的工具函数，避免不必要的 `wandb` 和 `mlflow` 导入\n- 将 Lagrangian-MGN 示例迁移到基于实验的 Hydra 配置\n- 使 `MeshDatapipe` 中的数据缓存功能可选\n- 移除对旧版 `importlib_metadata` 库的使用\n\n### 已弃用\n\n- ProcessGroupConfig 标记为未来将被弃用，取而代之的是 DeviceMesh。\n\n### 修复\n\n- 更新单元测试，当所需依赖项不存在时跳过相关测试\n- 修复 domino 训练示例中数据处理脚本的 bug\n- 修复 NCCL_ASYNC_ERROR_HANDLING 弃用警告\n\n### 依赖项\n\n- 移除 numpy 依赖的版本上限\n- 将 pytz 和 nvtx 调整为可选依赖\n- 更新 Dockerfile 的基础镜像\n- 引入多存储客户端（MSC）作为可选依赖\n- 引入 `wrapt` 作为可选依赖，用于使用 ShardTensor 的自动领域并行性时","2025-03-18T20:24:55",{"id":183,"version":184,"summary_zh":185,"released_at":186},127516,"v0.9.0","Modulus（核心）正式发布 v0.9.0\n\n## 新增\n\n- FIGConvUNet 模型及示例。\n- Transolver 模型。\n- XAeroNet 模型。\n- 将 CorrDiff-GEFS-HRRR 模型集成到 CorrDiff 中，配备考虑预报时效的 SongUNet 以及交叉熵损失函数。\n\n## 变更\n\n- 重构了 EDMPrecondSRV2 预条件器，并修复了与元数据相关的 bug。\n- 扩展了检查点工具，使其能够存储元数据。\n- 修正了 Transolver 模型所用日志记录函数的导出缺失问题。","2024-11-27T19:04:30",{"id":188,"version":189,"summary_zh":190,"released_at":191},127517,"v0.8.0","Modulus（核心）正式发布 v0.8.0\n\n## 新增功能\n\n- 用于 GraphCast\u002FGenCast 的图变换器处理器。\n- 从符号距离场生成 STL 文件的实用工具。\n- 面向 CAE 和 CFD 领域的指标，如积分、阻力以及湍流不变量和谱。\n- 向 StaticCapture 工具集添加了梯度裁剪功能。\n- 双步幅多尺度 MeshGraphNet 示例。\n\n## 变更\n\n- 重构了 CorrDiff 训练流程，以提升易用性。\n- 修复了数据管道中余弦天顶角工具的时区计算问题。","2024-09-24T17:10:48",{"id":193,"version":194,"summary_zh":195,"released_at":196},127518,"v0.7.0","Modulus（核心）正式发布 v0.7.0\n\n## 新增功能\n\n- 通过 Wandb 实现 CorrDiff 的代码日志记录。\n- 为 CorrDiff 添加了数据增强流水线。\n- 将回归输出作为 CorrDiff 的额外条件输入。\n- 为 CorrDiff 引入可学习的位置嵌入。\n- 支持基于补丁的 CorrDiff 训练和生成（仅限随机采样）。\n- 启用 CorrDiff 多 GPU 生成。\n- 用于流体数据超分辨率的扩散模型（CMU 贡献）。\n- Virtual Foundry GraphNet。\n- 用于全球天气预报模型的合成数据加载器，已在 GraphCast 上演示。\n- 排序的经验累积分布函数 CRPS 算法。\n- 在 ERA5 HDF5 数据加载器中支持历史数据、余弦天顶角以及降尺度\u002F升尺度操作。\n- 提供一个示例，展示如何在浅水方程数据集上训练 GraphCast 的“张量并行”版本。\n- 3D UNet。\n- AeroGraphNet 示例：在 Ahmed 体和 DrivAerNet 数据集上训练 MeshGraphNet。\n- Warp SDF 流程。\n- DLWP HEALPix 模型。\n- Pangu Weather 模型。\n- Fengwu 模型。\n- SwinRNN 模型。\n- 调制 AFNO 模型。\n\n## 变更\n\n- 查询未定义的进程组时，抛出 `ModulusUndefinedGroupError` 异常。\n- 修复了 `examples\u002Fcfd\u002Fswe_nonlinear_pino` 中关于 `modulus` 损失函数的索引错误。\n- 增加对 `DistributedManager` 未初始化使用情况的防护。\n\n## 移除\n\n- 从部署镜像中移除 mlflow。\n\n## 修复\n\n- 修复了用于分布式消息传递的图结构划分逻辑中的 bug。\n- 修复了 `EDMv1` 和 `EDMv2` 的 corrdiff 扩散训练中的若干 bug。\n\n## 依赖项更新\n\n- 将 DALI 更新至兼容 CUDA 12 的版本。\n- 将最低 Python 版本更新至 3.10。","2024-07-23T23:25:12",{"id":198,"version":199,"summary_zh":200,"released_at":201},127519,"v0.6.0","Modulus (core) general release v0.6.0\r\n\r\n## Added\r\n\r\n- Added citation file\r\n- Link to the CWA dataset\r\n- ClimateDatapipe: an improved datapipe for HDF5\u002FNetCDF4 formatted climate data\r\n- Performance optimizations to CorrDiff\r\n- Physics-Informed Nonlinear Shallow Water Equations example\r\n- Warp neighbor search routine with a minimal example\r\n- Strict option for loading Modulus checkpoints\r\n- Regression only or diffusion only inference for CorrDiff\r\n- Support for organization level model files on NGC file system\r\n- Physics-Informed Magnetohydrodynamics example\r\n\r\n## Changed\r\n\r\n- Updated Ahmed Body and Vortex Shedding examples to use Hydra config\r\n- Added more config options to FCN AFNO example\r\n- Moved posiitonal embedding in CorrDiff from the dataloader to network architecture\r\n\r\n## Deprecated\r\n\r\n- `modulus.models.diffusion.preconditioning.EDMPrecondSR`. Use `EDMPecondSRV2` instead\r\n\r\n## Removed\r\n\r\n- Pickle dependency for CorrDiff\r\n\r\n## Fixed\r\n\r\n- Consistent handling of single GPU runs in DistributedManager\r\n- Output location of objects downloaded with NGC file system\r\n- Bug in scaling the conditional input in CorrDiff deterministic sampler\r\n\r\n## Dependencies\r\n\r\n- Updated DGL build in Dockerfile\r\n- Updated default base image\r\n- Moved Onnx from optional to required dependencies\r\n- Optional Makani dependency required for SFNO model","2024-04-17T22:45:14",{"id":203,"version":204,"summary_zh":205,"released_at":206},127520,"v0.5.0","Modulus (core) general release v0.5.0\r\n\r\n## Added\r\n\r\n- Distributed process group configuration mechanism.\r\n- DistributedManager utility to instantiate process groups based on a process group config.\r\n- Helper functions to facilitate distributed training with shared parameters.\r\n- Brain anomaly detection example.\r\n- Updated Frechet Inception Distance to use Wasserstein 2-norm with improved stability.\r\n- Molecular Dynamics example.\r\n- Improved usage of GraphPartition, added more flexible ways of defining a partitioned graph.\r\n- Physics-Informed Stokes Flow example.\r\n\r\n## Changed\r\n\r\n- MLFLow logging such that only proc 0 logs to MLFlow.\r\n- FNO given separate methods for constructing lift and spectral encoder layers.\r\n- \r\n## Removed\r\n\r\n- The experimental SFNO\r\n\r\n## Dependencies\r\n\r\n- Removed experimental SFNO dependencies\r\n- Added CorrDiff dependencies (cftime, einops, pyspng)\r\n- Made tqdm a required dependency","2024-01-26T01:13:55",{"id":208,"version":209,"summary_zh":210,"released_at":211},127521,"v0.4.0","Modulus (core) general release v0.4.0\r\n\r\n## Added\r\n\r\n- Added Stokes flow dataset\r\n- An experimental version of SFNO to be used in unified training recipe for weather models.\r\n- Added distributed FFT utility.\r\n- Added ruff as a linting tool.\r\n- Ported utilities from Modulus Launch to main package.\r\n- EDM diffusion models and recipes for training and sampling.\r\n- NGC model registry download integration into package\u002Ffilesystem.\r\n- Added distributed process group configuration mechanism.\r\n- Added DistributedManager utility to instantiate process groups based on thier process group config.\r\n\r\n## Changed\r\n\r\n- The AFNO input argument `img_size` to `inp_shape`.\r\n- Integrated the network architecture layers from Modulus-Sym.\r\n\r\n## Fixed\r\n\r\n- Fixed modulus.Module `from_checkpoint` to work from custom model classes.\r\n\r\n## Security\r\n\r\n- Updated the base container to PyTorch 23.10.","2023-11-20T18:48:50",{"id":213,"version":214,"summary_zh":215,"released_at":216},127522,"v0.3.0","Modulus (core) general release v0.3.0\r\n\r\n## Added\r\n\r\n- Added distributed utilities to create process groups and orthogonal process groups\r\n- Added distributed AFNO model implementation\r\n- Added distributed utilities for communication of buffers of varying size per rank\r\n- Added instructions for docker build on ARM architecture\r\n- Added batching support and fix the input time step for the DLWP wrapper\r\n- Improved model checkpointing functionality with new '.mdlus' file type \r\n\r\n## Changed\r\n\r\n- Updating file system cache location to modulus folder\r\n\r\n## Fixed\r\n\r\n- Fixed modulus uninstall in CI docker image\r\n\r\n## Security\r\n\r\n- Handle the tar ball extracts in a safer way.\r\n\r\n## Dependencies\r\n\r\n- Updated the base container to latest PyTorch 23.07\r\n- Update DGL version\r\n- Updated require installs for python wheel\r\n- Added optional dependency list for python wheel","2023-09-21T17:57:00",{"id":218,"version":219,"summary_zh":220,"released_at":221},127523,"v0.2.1","Modulus (core) hotfix release v0.2.1\r\n\r\n## Fixed\r\n\r\n- Added a workaround fix for the CUDA graphs error in multi-node runs\r\n\r\n## Security\r\n\r\n- Update certifi package version","2023-08-09T01:12:07",{"id":223,"version":224,"summary_zh":225,"released_at":226},127524,"v0.2.0","Modulus (core) general release v0.2.0\r\n\r\n## Added\r\n- Added a CHANGELOG.md\r\n- Added build support for internal DGL\r\n- 4D Fourier Neural Operator model\r\n- Ahmed body dataset\r\n\r\n## Changed\r\n- DGL install changed from pypi to source\r\n- Updated SFNO to add support for super resolution, flexible checkpoining, etc.\r\n\r\n## Fixed\r\n- Fixed issue with torch-harmonics version locking\r\n- Fixed the Modulus editable install\r\n- Fixed AMP bug in static capture\r\n\r\n## Security\r\n- Fixed security issues with subprocess and urllib in filesystem.py\r\n\r\n## Dependencies\r\n- Updated the base container to latest PyTorch base container which is based on torch 2.0\r\n- Container now supports CUDA 12, Python 3.10","2023-08-07T16:31:14",{"id":228,"version":229,"summary_zh":230,"released_at":231},127525,"v0.1.0","Modulus (core) general release v0.1.0\r\n\r\n(Initial OSS release)","2023-05-08T17:44:24"]