[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-google-deepmind--graph_nets":3,"tool-google-deepmind--graph_nets":64},[4,17,27,35,43,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},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,3,"2026-04-05T11:01:52",[13,14,15],"开发框架","图像","Agent","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":23,"last_commit_at":24,"category_tags":25,"status":16},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 真正成长为懂上",140436,2,"2026-04-05T23:32:43",[13,15,26],"语言模型",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":23,"last_commit_at":33,"category_tags":34,"status":16},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 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,"2026-04-03T11:11:01",[13,14,15],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":23,"last_commit_at":41,"category_tags":42,"status":16},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[13,26],{"id":44,"name":45,"github_repo":46,"description_zh":47,"stars":48,"difficulty_score":23,"last_commit_at":49,"category_tags":50,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,"2026-04-05T10:45:23",[14,51,52,53,15,54,26,13,55],"数据工具","视频","插件","其他","音频",{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":10,"last_commit_at":62,"category_tags":63,"status":16},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,"2026-04-04T04:44:48",[15,14,13,26,54],{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":69,"readme_en":70,"readme_zh":71,"quickstart_zh":72,"use_case_zh":73,"hero_image_url":74,"owner_login":75,"owner_name":76,"owner_avatar_url":77,"owner_bio":78,"owner_company":79,"owner_location":79,"owner_email":79,"owner_twitter":79,"owner_website":80,"owner_url":81,"languages":82,"stars":91,"forks":92,"last_commit_at":93,"license":94,"difficulty_score":23,"env_os":95,"env_gpu":96,"env_ram":97,"env_deps":98,"category_tags":105,"github_topics":106,"view_count":10,"oss_zip_url":79,"oss_zip_packed_at":79,"status":16,"created_at":114,"updated_at":115,"faqs":116,"releases":147},3806,"google-deepmind\u002Fgraph_nets","graph_nets","Build Graph Nets in Tensorflow","graph_nets 是 DeepMind 开源的一款基于 TensorFlow 和 Sonnet 构建的图网络（Graph Networks）库。它的核心功能是接收包含节点、边及全局属性的图结构数据作为输入，经过计算后输出具有相同结构但属性更新的图。\n\n该工具主要解决了传统深度学习模型难以直接处理非欧几里得空间数据（如社交网络、分子结构、物理系统等）的难题。通过引入关系归纳偏置，graph_nets 让模型能够高效地学习实体间的复杂交互与依赖关系，从而在最短路径查找、排序任务及物理状态预测等场景中表现出色。其独特的亮点在于高度灵活的架构设计：同一套图网络模块无需修改即可应用于多种截然不同的任务，极大地降低了针对不同图结构问题重新设计模型的门槛。\n\ngraph_nets 非常适合人工智能研究人员、算法工程师以及需要处理图结构化数据的开发者使用。无论是希望复现前沿论文成果的研究者，还是试图将图神经网络应用于实际业务场景的工程人员，都能利用它快速搭建、训练并部署模型。库中内置的交互式 Demo 进一步帮助用户直观理解消息传递机制，是探索图深度学习领域的有力助手。","![Graph Nets DeepMind shortest path](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgoogle-deepmind_graph_nets_readme_a8d08bcd381d.gif)\n\n# Graph Nets library\n\n[Graph Nets](https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Fgraph_nets) is DeepMind's library for\nbuilding graph networks in Tensorflow and Sonnet.\n\nContact graph-nets@google.com for comments and questions.\n\n#### What are graph networks?\n\nA graph network takes a graph as input and returns a graph as output. The input\ngraph has edge- (*E* ), node- (*V* ), and global-level (**u**) attributes. The\noutput graph has the same structure, but updated attributes. Graph networks are\npart of the broader family of \"graph neural networks\" (Scarselli et al., 2009).\n\nTo learn more about graph networks, see our arXiv paper: [Relational inductive\nbiases, deep learning, and graph networks](https:\u002F\u002Farxiv.org\u002Fabs\u002F1806.01261).\n\n![Graph network](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgoogle-deepmind_graph_nets_readme_fc8ad7c76059.png)\n\n## Installation\n\nThe Graph Nets library can be installed from pip.\n\nThis installation is compatible with Linux\u002FMac OS X, and Python 2.7 and 3.4+.\n\nThe library will work with both the CPU and GPU version of TensorFlow, but to\nallow for that it does not list Tensorflow as a requirement, so you need to\ninstall Tensorflow separately if you haven't already done so.\n\nTo install the Graph Nets library and use it with TensorFlow 1 and Sonnet 1, run:\n\n(CPU)\n```shell\n$ pip install graph_nets \"tensorflow>=1.15,\u003C2\" \"dm-sonnet\u003C2\" \"tensorflow_probability\u003C0.9\"\n```\n\n(GPU)\n```shell\n$ pip install graph_nets \"tensorflow_gpu>=1.15,\u003C2\" \"dm-sonnet\u003C2\" \"tensorflow_probability\u003C0.9\"\n```\n\nTo install the Graph Nets library and use it with TensorFlow 2 and Sonnet 2, run:\n\n(CPU)\n```shell\n$ pip install graph_nets \"tensorflow>=2.1.0-rc1\" \"dm-sonnet>=2.0.0b0\" tensorflow_probability\n```\n\n(GPU)\n```shell\n$ pip install graph_nets \"tensorflow_gpu>=2.1.0-rc1\" \"dm-sonnet>=2.0.0b0\" tensorflow_probability\n```\n\nThe latest version of the library requires TensorFlow >=1.15. For compatibility with earlier versions of TensorFlow, please install v1.0.4 of the Graph Nets library.\n\n## Usage example\n\nThe following code constructs a simple graph net module and connects it to data.\n\n```python\nimport graph_nets as gn\nimport sonnet as snt\n\n# Provide your own functions to generate graph-structured data.\ninput_graphs = get_graphs()\n\n# Create the graph network.\ngraph_net_module = gn.modules.GraphNetwork(\n    edge_model_fn=lambda: snt.nets.MLP([32, 32]),\n    node_model_fn=lambda: snt.nets.MLP([32, 32]),\n    global_model_fn=lambda: snt.nets.MLP([32, 32]))\n\n# Pass the input graphs to the graph network, and return the output graphs.\noutput_graphs = graph_net_module(input_graphs)\n```\n\n## Demo Jupyter notebooks\n\nThe library includes demos which show how to create, manipulate, and\ntrain graph networks to reason about graph-structured data, on a\nshortest path-finding task, a sorting task, and a physical prediction task.\nEach demo uses the same graph network architecture, which highlights the\nflexibility of the approach.\n\n### Try the demos in your browser in [Colaboratory](https:\u002F\u002Fcolab.research.google.com)\n\nTo try out the demos without installing anything locally, you can run the demos\nin your browser (even on your phone) via a cloud Colaboratory backend. Click a\ndemo link below, and follow the instructions in the notebook.\n\n----------------\n\n#### [Run \"shortest path demo\" in browser](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fdeepmind\u002Fgraph_nets\u002Fblob\u002Fmaster\u002Fgraph_nets\u002Fdemos\u002Fshortest_path.ipynb)\n\nThe \"shortest path demo\" creates random graphs, and trains a graph network to\nlabel the nodes and edges on the shortest path between any two nodes. Over a\nsequence of message-passing steps (as depicted by each step's plot), the\nmodel refines its prediction of the shortest path.\n\n![Shortest path](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgoogle-deepmind_graph_nets_readme_e9f410c67cfa.png)\n\n----------------\n\n#### [Run \"sort demo\" in browser](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fdeepmind\u002Fgraph_nets\u002Fblob\u002Fmaster\u002Fgraph_nets\u002Fdemos\u002Fsort.ipynb)  [(Run TF2 version)](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fdeepmind\u002Fgraph_nets\u002Fblob\u002Fmaster\u002Fgraph_nets\u002Fdemos_tf2\u002Fsort.ipynb)\n\nThe \"sort demo\" creates lists of random numbers, and trains a graph network to\nsort the list. After a sequence of message-passing steps, the model makes an\naccurate prediction of which elements (columns in the figure) come next after\neach other (rows).\n\n![Sort](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgoogle-deepmind_graph_nets_readme_0a66e3a30274.png)\n\n----------------\n\n#### [Run \"physics demo\" in browser](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fdeepmind\u002Fgraph_nets\u002Fblob\u002Fmaster\u002Fgraph_nets\u002Fdemos\u002Fphysics.ipynb)\n\nThe \"physics demo\" creates random mass-spring physical systems, and trains a\ngraph network to predict the state of the system on the next timestep. The\nmodel's next-step predictions can be fed back in as input to create a rollout of\na future trajectory. Each subplot below shows the true and predicted mass-spring\nsystem states over 50 steps. This is similar to the model and experiments in\nBattaglia et al. (2016)'s \"interaction networks\".\n\n![Physics](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgoogle-deepmind_graph_nets_readme_47bcd7899f65.png)\n\n----------------\n\n#### [Run \"graph nets basics demo\" in browser](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fdeepmind\u002Fgraph_nets\u002Fblob\u002Fmaster\u002Fgraph_nets\u002Fdemos\u002Fgraph_nets_basics.ipynb)  [(Run TF2 version)](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fdeepmind\u002Fgraph_nets\u002Fblob\u002Fmaster\u002Fgraph_nets\u002Fdemos_tf2\u002Fgraph_nets_basics.ipynb)\n\nThe \"graph nets basics demo\" is a tutorial containing step by step examples\nabout how to create and manipulate graphs, how to feed them into\ngraph networks and how to build custom graph network modules.\n\n----------------\n\n### Run the demos on your local machine\n\nTo install the necessary dependencies, run:\n\n```shell\n$ pip install jupyter matplotlib scipy\n```\n\nTo try the demos, run:\n\n```shell\n$ cd \u003Cpath-to-graph-nets-library>\u002Fdemos\n$ jupyter notebook\n```\nthen open a demo through the Jupyter notebook interface.\n\n\n## Other graph neural network libraries\n\nCheck out these high-quality open-source libraries for graph neural networks:\n\n* [jraph](https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Fjraph): DeepMind's GNNs\u002FGraphNets library\nfor [JAX](https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fjax).\n\n* [pytorch_geometric](https:\u002F\u002Fgithub.com\u002Frusty1s\u002Fpytorch_geometric): See\n[MetaLayer](https:\u002F\u002Fpytorch-geometric.readthedocs.io\u002Fen\u002Flatest\u002Fmodules\u002Fnn.html#torch_geometric.nn.meta.MetaLayer)\nfor an analog of our Graph Nets interface.\n\n* [Deep Graph Library (DGL)](https:\u002F\u002Fgithub.com\u002Fdmlc\u002Fdgl).\n","![图网络 DeepMind 最短路径](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgoogle-deepmind_graph_nets_readme_a8d08bcd381d.gif)\n\n# 图网络库\n\n[Graph Nets](https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Fgraph_nets) 是 DeepMind 开发的用于在 TensorFlow 和 Sonnet 中构建图神经网络的库。\n\n如有任何意见或问题，请联系 graph-nets@google.com。\n\n#### 什么是图网络？\n\n图网络以图作为输入，并返回一个图作为输出。输入图包含边级（*E*）、节点级（*V*）和全局级（**u**）属性。输出图具有相同的结构，但其属性已被更新。图网络属于更广泛的“图神经网络”家族（Scarselli 等，2009 年）。\n\n如需了解更多关于图网络的信息，请参阅我们的 arXiv 论文：[关系归纳偏置、深度学习与图网络](https:\u002F\u002Farxiv.org\u002Fabs\u002F1806.01261)。\n\n![图网络](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgoogle-deepmind_graph_nets_readme_fc8ad7c76059.png)\n\n## 安装\n\nGraph Nets 库可以通过 pip 安装。\n\n此安装兼容 Linux\u002FMac OS X 以及 Python 2.7 和 3.4 及以上版本。\n\n该库既支持 TensorFlow 的 CPU 版本，也支持 GPU 版本，但由于它并未将 TensorFlow 列为依赖项，因此如果您尚未安装 TensorFlow，则需要单独进行安装。\n\n要安装 Graph Nets 库并将其与 TensorFlow 1 和 Sonnet 1 配合使用，请执行以下命令：\n\n（CPU）\n```shell\n$ pip install graph_nets \"tensorflow>=1.15,\u003C2\" \"dm-sonnet\u003C2\" \"tensorflow_probability\u003C0.9\"\n```\n\n（GPU）\n```shell\n$ pip install graph_nets \"tensorflow_gpu>=1.15,\u003C2\" \"dm-sonnet\u003C2\" \"tensorflow_probability\u003C0.9\"\n```\n\n要安装 Graph Nets 库并将其与 TensorFlow 2 和 Sonnet 2 配合使用，请执行以下命令：\n\n（CPU）\n```shell\n$ pip install graph_nets \"tensorflow>=2.1.0-rc1\" \"dm-sonnet>=2.0.0b0\" tensorflow_probability\n```\n\n（GPU）\n```shell\n$ pip install graph_nets \"tensorflow_gpu>=2.1.0-rc1\" \"dm-sonnet>=2.0.0b0\" tensorflow_probability\n```\n\n最新版本的库要求 TensorFlow ≥1.15。如需与较早版本的 TensorFlow 兼容，请安装 Graph Nets 库的 v1.0.4 版本。\n\n## 使用示例\n\n以下代码构建了一个简单的图网络模块，并将其连接到数据。\n\n```python\nimport graph_nets as gn\nimport sonnet as snt\n\n# 提供您自己的函数来生成图结构化数据。\ninput_graphs = get_graphs()\n\n# 创建图网络。\ngraph_net_module = gn.modules.GraphNetwork(\n    edge_model_fn=lambda: snt.nets.MLP([32, 32]),\n    node_model_fn=lambda: snt.nets.MLP([32, 32]),\n    global_model_fn=lambda: snt.nets.MLP([32, 32]))\n\n# 将输入图传递给图网络，并返回输出图。\noutput_graphs = graph_net_module(input_graphs)\n```\n\n## 演示 Jupyter 笔记本\n\n该库包含演示，展示了如何创建、操作和训练图网络，以处理图结构化数据，任务包括最短路径查找、排序和物理预测。每个演示都使用相同的图网络架构，这突显了该方法的灵活性。\n\n### 在 [Colaboratory](https:\u002F\u002Fcolab.research.google.com) 中通过浏览器试用演示\n\n无需在本地安装任何东西，您就可以通过云端 Colaboratory 后端，在浏览器中（甚至在手机上）运行这些演示。点击下面的演示链接，并按照笔记本中的说明操作。\n\n----------------\n\n#### [在浏览器中运行“最短路径演示”](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fdeepmind\u002Fgraph_nets\u002Fblob\u002Fmaster\u002Fgraph_nets\u002Fdemos\u002Fshortest_path.ipynb)\n\n“最短路径演示”会创建随机图，并训练一个图网络来标记任意两个节点之间最短路径上的节点和边。在一系列消息传递步骤中（如每一步的图表所示），模型会不断优化其对最短路径的预测。\n\n![最短路径](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgoogle-deepmind_graph_nets_readme_e9f410c67cfa.png)\n\n----------------\n\n#### [在浏览器中运行“排序演示”](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fdeepmind\u002Fgraph_nets\u002Fblob\u002Fmaster\u002Fgraph_nets\u002Fdemos\u002Fsort.ipynb)  [（运行 TF2 版本）](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fdeepmind\u002Fgraph_nets\u002Fblob\u002Fmaster\u002Fgraph_nets\u002Fdemos_tf2\u002Fsort.ipynb)\n\n“排序演示”会创建随机数字列表，并训练一个图网络来对列表进行排序。经过一系列消息传递步骤后，模型能够准确预测哪些元素（图中的列）会依次出现在哪些元素之后（行）。\n\n![排序](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgoogle-deepmind_graph_nets_readme_0a66e3a30274.png)\n\n----------------\n\n#### [在浏览器中运行“物理演示”](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fdeepmind\u002Fgraph_nets\u002Fblob\u002Fmaster\u002Fgraph_nets\u002Fdemos\u002Fphysics.ipynb)\n\n“物理演示”会创建随机的质量-弹簧物理系统，并训练一个图网络来预测系统在下一个时间步的状态。模型对未来状态的预测可以作为输入再次反馈，从而生成未来轨迹的展开图。下图中的每个子图显示了真实与预测的质量-弹簧系统状态，共持续 50 步。这类似于 Battaglia 等人（2016 年）的“交互网络”模型及实验。\n\n![物理](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgoogle-deepmind_graph_nets_readme_47bcd7899f65.png)\n\n----------------\n\n#### [在浏览器中运行“图网络基础演示”](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fdeepmind\u002Fgraph_nets\u002Fblob\u002Fmaster\u002Fgraph_nets\u002Fdemos\u002Fgraph_nets_basics.ipynb)  [（运行 TF2 版本）](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fdeepmind\u002Fgraph_nets\u002Fblob\u002Fmaster\u002Fgraph_nets\u002Fdemos_tf2\u002Fgraph_nets_basics.ipynb)\n\n“图网络基础演示”是一个教程，包含逐步示例，介绍如何创建和操作图、如何将它们输入图网络，以及如何构建自定义的图网络模块。\n\n----------------\n\n### 在您的本地机器上运行演示\n\n要安装必要的依赖项，请执行以下命令：\n\n```shell\n$ pip install jupyter matplotlib scipy\n```\n\n要试用演示，请执行以下命令：\n\n```shell\n$ cd \u003Cgraph-nets-library-path>\u002Fdemos\n$ jupyter notebook\n```\n然后通过 Jupyter 笔记本界面打开演示。\n\n## 其他图神经网络库\n\n请查看这些高质量的开源图神经网络库：\n\n* [jraph](https:\u002F\u002Fgithub.com\u002Fdeepmind\u002Fjraph)：DeepMind 针对 [JAX](https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fjax) 的 GNNs\u002FGraphNets 库。\n* [pytorch_geometric](https:\u002F\u002Fgithub.com\u002Frusty1s\u002Fpytorch_geometric)：请参阅 [MetaLayer](https:\u002F\u002Fpytorch-geometric.readthedocs.io\u002Fen\u002Flatest\u002Fmodules\u002Fnn.html#torch_geometric.nn.meta.MetaLayer) 以了解我们 Graph Nets 接口的类似实现。\n* [深度图库 (DGL)](https:\u002F\u002Fgithub.com\u002Fdmlc\u002Fdgl)。","# Graph Nets 快速上手指南\n\n`graph_nets` 是 DeepMind 推出的用于在 TensorFlow 和 Sonnet 中构建图网络（Graph Networks）的开源库。图网络以图为输入，输出具有相同结构但属性更新的图，适用于处理具有关系归纳偏置的数据。\n\n## 环境准备\n\n*   **操作系统**：Linux 或 macOS\n*   **Python 版本**：2.7 或 3.4+\n*   **核心依赖**：\n    *   TensorFlow (CPU 或 GPU 版本，需单独安装)\n    *   Sonnet (DeepMind 基于 TF 的神经网络库)\n    *   TensorFlow Probability\n\n> **注意**：该库未将 TensorFlow 列为强制依赖，以便兼容 CPU\u002FGPU 不同版本，请务必先安装对应版本的 TensorFlow。\n\n## 安装步骤\n\n请根据您的 TensorFlow 版本选择对应的安装命令。建议使用国内镜像源（如清华源）加速下载。\n\n### 方案 A：使用 TensorFlow 1.x 和 Sonnet 1\n\n```shell\n# CPU 版本\npip install graph_nets \"tensorflow>=1.15,\u003C2\" \"dm-sonnet\u003C2\" \"tensorflow_probability\u003C0.9\" -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n\n# GPU 版本\npip install graph_nets \"tensorflow_gpu>=1.15,\u003C2\" \"dm-sonnet\u003C2\" \"tensorflow_probability\u003C0.9\" -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n```\n\n### 方案 B：使用 TensorFlow 2.x 和 Sonnet 2\n\n```shell\n# CPU 版本\npip install graph_nets \"tensorflow>=2.1.0-rc1\" \"dm-sonnet>=2.0.0b0\" tensorflow_probability -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n\n# GPU 版本\npip install graph_nets \"tensorflow_gpu>=2.1.0-rc1\" \"dm-sonnet>=2.0.0b0\" tensorflow_probability -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n```\n\n> 若需兼容旧版 TensorFlow (\u003C1.15)，请安装 `graph_nets` 的 v1.0.4 版本。\n\n## 基本使用\n\n以下示例展示了如何创建一个简单的图网络模块并处理图数据。您需要自行准备生成图结构化数据的函数 `get_graphs()`。\n\n```python\nimport graph_nets as gn\nimport sonnet as snt\n\n# 提供您自己的函数来生成图结构化数据\ninput_graphs = get_graphs()\n\n# 创建图网络模块\n# 这里使用 MLP 作为边、节点和全局属性的更新模型\ngraph_net_module = gn.modules.GraphNetwork(\n    edge_model_fn=lambda: snt.nets.MLP([32, 32]),\n    node_model_fn=lambda: snt.nets.MLP([32, 32]),\n    global_model_fn=lambda: snt.nets.MLP([32, 32]))\n\n# 将输入图传入图网络，获取输出图\noutput_graphs = graph_net_module(input_graphs)\n```\n\n### 进阶体验\n如果您希望直接运行官方提供的演示（如最短路径、排序任务、物理系统预测），无需本地配置即可通过 Google Colab 在浏览器中体验，或本地安装 `jupyter matplotlib scipy` 后运行 `demos` 目录下的 Notebook。","某物流科技公司的算法团队正在开发一个动态路由系统，需要实时计算复杂交通网络中任意两站点间的最优配送路径。\n\n### 没有 graph_nets 时\n- 开发人员需手动编写繁琐的邻接矩阵运算代码来处理节点与边的关系，难以适配动态变化的路网结构。\n- 传统卷积神经网络（CNN）无法直接处理非欧几里得空间的图数据，强行转换会导致拓扑信息丢失，路径预测准确率低下。\n- 每次路网更新（如新增临时封路节点），都需要重新设计输入层架构并大量修改预处理逻辑，迭代周期长达数周。\n- 模型缺乏“消息传递”机制，无法像人类一样通过多步推理逐步修正路径判断，导致长距离路径规划经常出错。\n\n### 使用 graph_nets 后\n- 直接利用 graph_nets 构建标准的图网络模块，天然支持边、节点及全局属性的输入输出，代码量减少 70% 且逻辑清晰。\n- 模型完美保留交通网的拓扑结构，通过内置的消息传递机制精准学习节点间的依赖关系，最短路径识别准确率提升至 98%。\n- 面对路网动态变化，无需调整模型架构，只需传入新的图结构数据即可即时推理，新功能上线时间缩短至 2 天。\n- 借助多步推理能力，模型能模拟类似 Dijkstra 算法的搜索过程，在复杂拥堵场景下也能稳定输出全局最优解。\n\ngraph_nets 将复杂的图结构推理转化为标准化的深度学习流程，让解决物流路径规划等非线性关系问题变得高效且精准。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fgoogle-deepmind_graph_nets_eb71ab80.png","google-deepmind","Google DeepMind","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fgoogle-deepmind_06b1dd17.png","",null,"https:\u002F\u002Fwww.deepmind.com\u002F","https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind",[83,87],{"name":84,"color":85,"percentage":86},"Python","#3572A5",65,{"name":88,"color":89,"percentage":90},"Jupyter Notebook","#DA5B0B",35,5394,779,"2026-04-03T16:45:18","Apache-2.0","Linux, macOS","非必需。支持 CPU 和 GPU 版本。若使用 GPU，需安装 tensorflow_gpu (TF1) 或 tensorflow_gpu (TF2)，具体 CUDA 版本取决于安装的 TensorFlow 版本，README 未指定具体显卡型号和显存大小。","未说明",{"notes":99,"python":100,"dependencies":101},"该库未将 TensorFlow 列为自动安装依赖，需用户手动预先安装对应版本的 TensorFlow（CPU 或 GPU 版）。支持 TensorFlow 1.x (配合 Sonnet 1) 和 TensorFlow 2.x (配合 Sonnet 2) 两套环境。如需运行本地 Demo，还需安装 jupyter, matplotlib, scipy。早期 TensorFlow 版本兼容性需安装 graph_nets v1.0.4。","2.7, 3.4+",[102,103,104],"tensorflow>=1.15,\u003C2 或 tensorflow>=2.1.0-rc1","dm-sonnet\u003C2 或 dm-sonnet>=2.0.0b0","tensorflow_probability\u003C0.9 或 tensorflow_probability",[13],[107,108,109,110,111,112,113],"graph-networks","graphs","deep-learning","neural-networks","tensorflow","sonnet","artificial-intelligence","2026-03-27T02:49:30.150509","2026-04-06T08:08:35.032864",[117,122,127,132,137,142],{"id":118,"question_zh":119,"answer_zh":120,"source_url":121},17437,"如何在 EncodeProcessDecode 模型中传递训练标志（is_training）以区分训练和测试阶段？","虽然 GraphIndependent 的参数是预定义的，但你可以通过检查变量集合来验证模型是否正确构建。使用 `tf.get_collection(tf.GraphKeys.TRAINABLE_VARIABLES)` 列出变量，确保没有重复（例如只看到一个 edge_module 等）。通常不需要为训练和测试创建两个独立的模型对象，而是通过控制噪声添加等逻辑在同一个模型中区分阶段。如果需要更灵活的控制，可以考虑修改 Sonnet 接口或参考官方文档中的最小工作示例。","https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Fgraph_nets\u002Fissues\u002F51",{"id":123,"question_zh":124,"answer_zh":125,"source_url":126},17438,"如何将 Sonnet 的 GRU 或 LSTM 函数用作边（edge）或节点（node）的处理函数？","官方模块目前不直接支持带隐藏状态的循环函数，但可以通过变通方法实现：\n1. 使用 `modules.GraphNetwork` 的代码（约 10 行核心代码），将其分叉（fork）。\n2. 在 EdgeBlock、NodeBlock 和 GlobalBlock 中传入恒等函数（identity functions）。\n3. 在这些块之后立即运行对应的 RNN（LSTM\u002FGRU）。\n4. 确保按块操作：先进行图拓扑聚合，再应用 LSTM，最后让下一块进行各自的聚合。这样可以实现基于图拓扑条件输入的完整 GraphNetwork，同时保留边缘、节点和全局的隐藏状态。","https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Fgraph_nets\u002Fissues\u002F52",{"id":128,"question_zh":129,"answer_zh":130,"source_url":131},17439,"该库是否兼容 TensorFlow 2 (TF2)？如何迁移现有代码？","目前库主要保持对 TF1 的兼容性，但社区正在推动 TF2 的支持。迁移建议如下：\n1. 可以参考社区贡献的 TF2 版本 Notebook，更新导入链接和 imports 使其完全在 TF2 下运行。\n2. 尝试覆盖 `tf.function` 的使用场景。\n3. 对于演示代码（demos），可以仅保留 Python 3 兼容性。\n4. 建议查看名为 \"graph nets basics demo\" 的教程，其中包含了逐步示例，展示如何创建和操作图以及如何构建自定义模块，这有助于理解迁移路径。","https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Fgraph_nets\u002Fissues\u002F115",{"id":133,"question_zh":134,"answer_zh":135,"source_url":136},17440,"运行示例代码时出现 'NameError: name 'get_graphs' is not defined' 错误怎么办？","这个错误通常是因为直接复制了文档片段而没有定义辅助函数，或者混淆了工具函数。解决方法：\n1. 不要直接在 Python 交互式中运行片段，请运行完整的 \"graph nets basics demo\" 教程（可在 Google Colab 中打开）。\n2. 检查是否错误地使用了 `utils_np.data_dicts_to_graphs_tuple`。如果你要将结果对象传递给 TensorFlow，必须确保使用的是 `utils_tf.data_dicts_to_graphs_tuple`。混用这两个工具函数会导致后续步骤出错。","https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Fgraph_nets\u002Fissues\u002F6",{"id":138,"question_zh":139,"answer_zh":140,"source_url":141},17441,"在 TF2 Notebook 中同时使用 nx.draw 和 utils_tf.data_dicts_to_graphs_tuple 导致内核重启（Kernel Restart）如何解决？","这是一个已知的环境兼容性问题，特别是在特定版本的 TensorFlow 和 NetworkX 之间。解决方案：\n1. 升级环境：将 GCP Notebook 或本地环境的 TensorFlow 升级到 2.3 或更高版本（从 2.2.0 升级可解决此问题）。\n2. 如果无法升级，尝试增加机器内存作为临时变通方案。\n3. 确保在 Colab 等环境中测试复现步骤，以确认是否是特定环境配置导致的冲突。","https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Fgraph_nets\u002Fissues\u002F124",{"id":143,"question_zh":144,"answer_zh":145,"source_url":146},17442,"运行测试文件时遇到 'Failed to run optimizer ArithmeticOptimizer, stage RemoveStackStridedSliceSameAxis' 错误如何处理？","该错误通常与特定的 TensorFlow 开发版本（如 1.13.0-dev）或图形优化器有关。虽然这是一个较旧的 Bug 报告，但通用的排查步骤包括：\n1. 检查 TensorFlow 版本，尝试切换到稳定的发布版本而非 dev 版本。\n2. 确认是否在对象检测或其他复杂模型中遇到了类似的 Pack 节点轴属性越界问题。\n3. 如果是在 Docker 环境中，尝试更新 nvidia-docker 或基础镜像以匹配稳定的 TF 版本。由于这是底层优化器错误，通常通过版本回退或升级来解决。","https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Fgraph_nets\u002Fissues\u002F7",[]]