[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-jiazhihao--TASO":3,"tool-jiazhihao--TASO":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 真正成长为懂上",159636,2,"2026-04-17T23:33:34",[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 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108322,"2026-04-10T11:39:34",[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},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[52,13,15,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":32,"last_commit_at":59,"category_tags":60,"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":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":75,"owner_location":75,"owner_email":76,"owner_twitter":75,"owner_website":75,"owner_url":77,"languages":78,"stars":102,"forks":103,"last_commit_at":104,"license":105,"difficulty_score":106,"env_os":107,"env_gpu":108,"env_ram":107,"env_deps":109,"category_tags":114,"github_topics":115,"view_count":32,"oss_zip_url":75,"oss_zip_packed_at":75,"status":17,"created_at":119,"updated_at":120,"faqs":121,"releases":156},8948,"jiazhihao\u002FTASO","TASO","The Tensor Algebra SuperOptimizer for Deep Learning","TASO（深度学习张量代数超级优化器）是一款专为深度神经网络设计的自动化工具，旨在通过智能重构计算图来显著提升模型推理速度。它主要解决了现有深度学习框架中图优化能力有限的问题，能够自动发现并应用复杂的人工难以察觉的等价变换，从而在保持模型精度完全不变的前提下，挖掘出更高效的执行方案。实测显示，在 NVIDIA V100 等硬件上，TASO 可将端到端推理性能提升高达 3 倍。\n\n这款工具特别适合深度学习研究人员、算法工程师以及系统开发者使用。无论是需要部署预训练模型的生产环境，还是探索新型网络架构的科研场景，TASO 都能提供强大支持。其核心亮点在于构建了基于代价的搜索算法与自动验证机制，能够在巨大的潜在计算图空间中精准定位最优解。此外，TASO 具备极佳的兼容性，支持直接优化 ONNX、TensorFlow 和 PyTorch 格式的模型，并提供简洁的 Python 接口供用户自定义架构。用户只需几行代码即可完成从加载、优化到导出全流程，让高性能模型部署变得更加轻松高效。","# TASO: The Tensor Algebra SuperOptimizer for Deep Learning\n\nTASO optimizes the computation graphs of DNN models using automatically generated and verified graph transformations.\nFor an arbitrary DNN model, TASO uses the auto-generated graph transformations to build a large search space of potential computation graphs that are equivalent to the original DNN model.\nTASO employs a cost-based search algorithm to explore the space, and automatically discovers highly optimized computation graphs.\nTASO outperforms the graph optimizers in existing deep learning frameworks by [up to 3x](http:\u002F\u002Ftheory.stanford.edu\u002F~aiken\u002Fpublications\u002Fpapers\u002Fsosp19.pdf).\n\u003Cdiv align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fjiazhihao_TASO_readme_77c7e83135c6.png\">\n  End-to-end inference performance comparison on a NVIDIA V100 GPU.\n\u003C\u002Fdiv>\n\n## Install TASO\n\nSee [instructions](INSTALL.md) to install TASO from source.\nWe also provide prebuilt [docker images](https:\u002F\u002Fgithub.com\u002Fjiazhihao\u002FTASO\u002Fblob\u002Fmaster\u002FINSTALL.md) with all dependencies pre-installed.\n\n## Use TASO\n\nTASO can directly optimize any pre-trained DNN models in [ONNX](https:\u002F\u002Fonnx.ai), [TensorFlow](https:\u002F\u002Fwww.tensorflow.org\u002Fguide\u002Fsaved_model), and [PyTorch](https:\u002F\u002Fpytorch.org\u002Fdocs\u002Fstable\u002Fonnx.html) graph formats.\nTASO also provides a Python interface for optimizing arbitrary DNN architectures.\nTASO supports exporting the optimized computation graphs to ONNX, which can be directly used as inputs by most existing deep learning frameworks.\n\n### Optimize ONNX Models\n\nTASO can directly optimize pre-trained ONNX models, and this can be done in just a few lines of Python code.\nThe following code snippet shows how to load a pre-trained DNN model from ONNX, optimize the model, and save the optimized model into a ONNX file.\n```python\nimport taso\nimport onnx\n\nold_model = taso.load_onnx(\"\u002Fpath\u002Fto\u002Fload\u002Fonnx\u002Fmodel\")\ntaso_graph = taso.optimize(old_model)\nnew_model = taso.export_onnx(taso_graph)\nonnx.save(new_model, \"\u002Fpath\u002Fto\u002Fsave\u002Fnew\u002Fonnx\u002Fmodel\")\n```\nThe optimized model has the same accuracy as the original and can be directly used by existing deep learning frameworks.\nSome original and TASO-optimized ONNX files are available in the `onnx` folder.\n\u003C!-- The following figure shows the end-to-end inference performance comparison on a NVIDIA V100 GPU. -->\n\n### Optimize TensorFlow Models\n\nTASO can optimize TensorFlow models by converting the model to ONNX using [tf2onnx](https:\u002F\u002Fgithub.com\u002Fonnx\u002Ftensorflow-onnx).\n\n* First, install `tf2onnx` from PyPi as follows or [from source](https:\u002F\u002Fgithub.com\u002Fonnx\u002Ftensorflow-onnx).\n```\npip install -U tf2onnx\n```\n\n* Second, convert a TensorFlow model to ONNX using `tf2onnx`.\n```\npython -m tf2onnx.convert \\\n       --saved-model \u002Fpath\u002Fto\u002Ftensorflow\u002Fsaved\u002Fmodel \\\n       --output \u002Fpath\u002Fto\u002Fonnx\u002Fmodel\u002Ffile\n```\n\n* Third, use TASO to optimize the model in ONNX by following the [above instructions](https:\u002F\u002Fgithub.com\u002Fjiazhihao\u002FTASO#optimize-onnx-models).\n\n### Optimize PyTorch Models\n\nPyTorch has built-in support for ONNX as a part of the [torch.onnx](https:\u002F\u002Fpytorch.org\u002Fdocs\u002Fmaster\u002Fonnx.html) package.\nTASO can directly optimize PyTorch models in the ONNX format.\n\n### Optimize Arbitrary DNN Models using the Python Interface\n\nTASO can also optimize arbitrary DNN architectures using the TASO Python interface. \nThe following code snippet builds the left-most DNN graph depicted in the figure. TASO automatically performs a series of non-trivial transformations, and eventually discovers the right-most DNN graph, which is 1.3x faster on a V100 GPU. More DNN examples are available in the `examples` folder.\n\n\u003Cdiv align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fjiazhihao_TASO_readme_68bafc59660b.png\">\n\u003C\u002Fdiv>\n\n```python\nimport taso\nimport onnx\n\n#Build DNN model\ngraph = taso.new_graph()\ninput = graph.new_input(dims=(1,128,56,56))\nw1 = graph.new_weight(dims=(128,128,3,3))\nw2 = graph.new_weight(dims=(128,128,1,1))\nw3 = graph.new_weight(dims=(128,128,3,3))\nleft = graph.conv2d(input=input, weight=w1, strides=(1,1), padding=\"SAME\", activation=\"RELU\")\nleft = graph.conv2d(input=left, weight=w3, strides=(1,1), padding=\"SAME\")\nright = graph.conv2d(input=input, weight=w2, strides=(1,1), padding=\"SAME\", activation=\"RELU\")\noutput = graph.add(left, right)\noutput = graph.relu(output)\n\n#Optimize DNN model\nnew_graph = taso.optimize(graph)\nonnx_model = taso.export_onnx(new_graph)\nonnx.save(onnx_model, \"\u002Fpath\u002Fto\u002Fsave\u002Fnew\u002Fonnx\u002Fmodel\")\n```\n\n## Publication\n* Zhihao Jia, Oded Padon, James Thomas, Todd Warszawski, Matei Zaharia, and Alex Aiken. [TASO: Optimizing Deep Learning Computation with Automated Generation of Graph Substitutions](https:\u002F\u002Fcs.stanford.edu\u002F~zhihao\u002Fpapers\u002Fsosp19.pdf). In Proceedings of the Symposium on Operating Systems Principles (SOSP), Ontario, Canada, October 2019.\n\n* Zhihao Jia, James Thomas, Todd Warszawski, Mingyu Gao, Matei Zaharia, and Alex Aiken. [Optimizing DNN Computation with Relaxed Graph Substitutions](https:\u002F\u002Ftheory.stanford.edu\u002F~aiken\u002Fpublications\u002Fpapers\u002Fsysml19b.pdf). In Proceedings of the Conference on Systems and Machine Learning (SysML), Palo Alto, CA, April 2019.\n\n","# TASO：面向深度学习的张量代数超级优化器\n\nTASO 使用自动生成并经过验证的图变换来优化深度神经网络（DNN）模型的计算图。\n对于任意 DNN 模型，TASO 利用自动生成的图变换构建一个庞大的搜索空间，其中包含与原始 DNN 模型等价的潜在计算图。\nTASO 采用基于代价的搜索算法来探索这一空间，并自动发现高度优化的计算图。\nTASO 的性能优于现有深度学习框架中的图优化器，最高可提升至 [3 倍](http:\u002F\u002Ftheory.stanford.edu\u002F~aiken\u002Fpublications\u002Fpapers\u002Fsosp19.pdf)。\n\u003Cdiv align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fjiazhihao_TASO_readme_77c7e83135c6.png\">\n  在 NVIDIA V100 GPU 上的端到端推理性能对比。\n\u003C\u002Fdiv>\n\n## 安装 TASO\n\n请参阅 [安装说明](INSTALL.md)，以从源代码安装 TASO。\n我们还提供了预构建的 [Docker 镜像](https:\u002F\u002Fgithub.com\u002Fjiazhihao\u002FTASO\u002Fblob\u002Fmaster\u002FINSTALL.md)，其中已预先安装所有依赖项。\n\n## 使用 TASO\n\nTASO 可直接优化以 [ONNX](https:\u002F\u002Fonnx.ai)、[TensorFlow](https:\u002F\u002Fwww.tensorflow.org\u002Fguide\u002Fsaved_model) 和 [PyTorch](https:\u002F\u002Fpytorch.org\u002Fdocs\u002Fstable\u002Fonnx.html) 图格式表示的任何预训练 DNN 模型。\nTASO 还提供了一个 Python 接口，用于优化任意 DNN 架构。\nTASO 支持将优化后的计算图导出为 ONNX 格式，该格式可直接作为大多数现有深度学习框架的输入。\n\n### 优化 ONNX 模型\n\nTASO 可直接优化预训练的 ONNX 模型，只需几行 Python 代码即可完成。\n以下代码片段展示了如何从 ONNX 加载预训练的 DNN 模型、对其进行优化，并将优化后的模型保存为 ONNX 文件。\n```python\nimport taso\nimport onnx\n\nold_model = taso.load_onnx(\"\u002Fpath\u002Fto\u002Fload\u002Fonnx\u002Fmodel\")\ntaso_graph = taso.optimize(old_model)\nnew_model = taso.export_onnx(taso_graph)\nonnx.save(new_model, \"\u002Fpath\u002Fto\u002Fsave\u002Fnew\u002Fonnx\u002Fmodel\")\n```\n优化后的模型与原始模型具有相同的精度，可直接被现有的深度学习框架使用。\n`onnx` 文件夹中提供了一些原始及经 TASO 优化的 ONNX 文件。\n\u003C!-- 下图展示了在 NVIDIA V100 GPU 上的端到端推理性能对比。 -->\n\n### 优化 TensorFlow 模型\n\nTASO 可通过使用 [tf2onnx](https:\u002F\u002Fgithub.com\u002Fonnx\u002Ftensorflow-onnx) 将 TensorFlow 模型转换为 ONNX 格式来进行优化。\n\n* 首先，按照以下方式或从 [源代码](https:\u002F\u002Fgithub.com\u002Fonnx\u002Ftensorflow-onnx) 安装 `tf2onnx`：\n```\npip install -U tf2onnx\n```\n\n* 其次，使用 `tf2onnx` 将 TensorFlow 模型转换为 ONNX 格式：\n```\npython -m tf2onnx.convert \\\n       --saved-model \u002Fpath\u002Fto\u002Ftensorflow\u002Fsaved\u002Fmodel \\\n       --output \u002Fpath\u002Fto\u002Fonnx\u002Fmodel\u002Ffile\n```\n\n* 最后，按照 [上述说明](https:\u002F\u002Fgithub.com\u002Fjiazhihao\u002FTASO#optimize-onnx-models) 使用 TASO 对 ONNX 格式的模型进行优化。\n\n### 优化 PyTorch 模型\n\nPyTorch 内置了对 ONNX 的支持，可通过 [torch.onnx](https:\u002F\u002Fpytorch.org\u002Fdocs\u002Fmaster\u002Fonnx.html) 包实现。\nTASO 可直接优化以 ONNX 格式表示的 PyTorch 模型。\n\n### 使用 Python 接口优化任意 DNN 模型\n\nTASO 还可以通过其 Python 接口优化任意 DNN 架构。\n以下代码片段构建了图中所示的最左侧 DNN 计算图。TASO 自动执行一系列复杂的变换，最终发现最右侧的 DNN 计算图，其在 V100 GPU 上的速度提升了 1.3 倍。更多 DNN 示例可在 `examples` 文件夹中找到。\n\n\u003Cdiv align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fjiazhihao_TASO_readme_68bafc59660b.png\">\n\u003C\u002Fdiv>\n\n```python\nimport taso\nimport onnx\n\n# 构建 DNN 模型\ngraph = taso.new_graph()\ninput = graph.new_input(dims=(1,128,56,56))\nw1 = graph.new_weight(dims=(128,128,3,3))\nw2 = graph.new_weight(dims=(128,128,1,1))\nw3 = graph.new_weight(dims=(128,128,3,3))\nleft = graph.conv2d(input=input, weight=w1, strides=(1,1), padding=\"SAME\", activation=\"RELU\")\nleft = graph.conv2d(input=left，weight=w3，strides=(1,1)，padding=\"SAME\")\nright = graph.conv2d(input=input，weight=w2，strides=(1,1)，padding=\"SAME\"，activation=\"RELU\")\noutput = graph.add(left，right)\noutput = graph.relu(output)\n\n# 优化 DNN 模型\nnew_graph = taso.optimize(graph)\nonnx_model = taso.export_onnx(new_graph)\nonnx.save(onnx_model，\"\u002Fpath\u002Fto\u002Fsave\u002Fnew\u002Fonnx\u002Fmodel\")\n```\n\n## 出版物\n* 贾志浩、奥德·帕东、詹姆斯·托马斯、托德·瓦尔沙夫斯基、马泰伊·扎哈里亚和亚历克斯·艾肯。[TASO：利用图替换的自动化生成优化深度学习计算](https:\u002F\u002Fcs.stanford.edu\u002F~zhihao\u002Fpapers\u002Fsosp19.pdf)。载于操作系统原理研讨会（SOSP）论文集，加拿大安大略省，2019 年 10 月。\n\n* 贾志浩、詹姆斯·托马斯、托德·瓦尔沙夫斯基、高明宇、马泰伊·扎哈里亚和亚历克斯·艾肯。[利用松弛的图替换优化 DNN 计算](https:\u002F\u002Ftheory.stanford.edu\u002F~aiken\u002Fpublications\u002Fpapers\u002Fsysml19b.pdf)。载于系统与机器学习会议（SysML）论文集，美国加利福尼亚州帕洛阿尔托市，2019 年 4 月。","# TASO 快速上手指南\n\nTASO (The Tensor Algebra SuperOptimizer) 是一款专为深度学习设计的计算图超级优化器。它通过自动生成和验证的图变换技术，自动探索等效的计算图空间，从而发现比现有框架（如 TensorFlow、PyTorch 内置优化器）性能高出多达 3 倍的高效计算图。\n\n## 环境准备\n\n*   **操作系统**: Linux (推荐 Ubuntu 18.04 或更高版本)\n*   **硬件要求**: NVIDIA GPU (测试环境为 V100，支持 CUDA)\n*   **前置依赖**:\n    *   Python 3.x\n    *   CMake, GCC\u002FG++\n    *   ONNX, Protobuf\n    *   (可选) Docker：如果你希望避免手动配置依赖，官方提供了预装所有依赖的 Docker 镜像。\n\n> **提示**：国内用户建议使用清华源或阿里源加速 `pip` 和 `apt` 包的安装。\n\n## 安装步骤\n\n你可以选择从源码编译或使用预构建的 Docker 镜像。\n\n### 方式一：使用 Docker（推荐，最快捷）\n直接拉取包含所有依赖的镜像，无需手动配置环境：\n```bash\ndocker pull jiazhihao\u002Ftaso:latest\ndocker run --gpus all -it jiazhihao\u002Ftaso:latest \u002Fbin\u002Fbash\n```\n\n### 方式二：从源码安装\n如果需要在本地环境部署，请参照以下步骤：\n\n1. 克隆仓库：\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fjiazhihao\u002FTASO.git\ncd TASO\n```\n\n2. 安装依赖并编译（详细步骤请参考项目根目录下的 `INSTALL.md`）：\n```bash\n# 示例：安装 Python 依赖\npip install -r requirements.txt\n\n# 构建项目\nmkdir build && cd build\ncmake ..\nmake -j$(nproc)\n```\n\n## 基本使用\n\nTASO 支持直接优化 **ONNX**、**TensorFlow** 和 **PyTorch** 模型。核心工作流是：加载模型 -> 执行优化 -> 导出为 ONNX 格式（可直接被主流框架加载推理）。\n\n### 场景 1：优化现有的 ONNX 模型\n这是最简单的用法，只需几行代码即可完成优化。\n\n```python\nimport taso\nimport onnx\n\n# 1. 加载预训练的 ONNX 模型\nold_model = taso.load_onnx(\"\u002Fpath\u002Fto\u002Fload\u002Fonnx\u002Fmodel\")\n\n# 2. 执行 TASO 优化\ntaso_graph = taso.optimize(old_model)\n\n# 3. 导出优化后的模型为 ONNX 格式\nnew_model = taso.export_onnx(taso_graph)\nonnx.save(new_model, \"\u002Fpath\u002Fto\u002Fsave\u002Fnew\u002Fonnx\u002Fmodel\")\n```\n*注：优化后的模型精度与原模型保持一致，可直接用于推理。*\n\n### 场景 2：优化 TensorFlow 或 PyTorch 模型\nTASO 原生支持 ONNX 格式。对于 TF 或 PyTorch 模型，需先转换为 ONNX，再按上述步骤优化。\n\n**TensorFlow 转换步骤：**\n1. 安装转换工具：\n```bash\npip install -U tf2onnx\n```\n2. 转换为 ONNX：\n```bash\npython -m tf2onnx.convert \\\n       --saved-model \u002Fpath\u002Fto\u002Ftensorflow\u002Fsaved\u002Fmodel \\\n       --output \u002Fpath\u002Fto\u002Fonnx\u002Fmodel\u002Ffile\n```\n3. 使用 TASO 优化生成的 ONNX 文件（参考场景 1）。\n\n**PyTorch 转换步骤：**\n利用 `torch.onnx` 将模型导出为 ONNX，随后同样参考场景 1 进行优化。\n\n### 场景 3：使用 Python API 构建并优化自定义架构\n你也可以直接使用 TASO 的 Python 接口定义网络结构，让 TASO 自动寻找最优算子组合。\n\n```python\nimport taso\nimport onnx\n\n# 构建 DNN 模型\ngraph = taso.new_graph()\ninput = graph.new_input(dims=(1,128,56,56))\nw1 = graph.new_weight(dims=(128,128,3,3))\nw2 = graph.new_weight(dims=(128,128,1,1))\nw3 = graph.new_weight(dims=(128,128,3,3))\n\n# 定义网络层\nleft = graph.conv2d(input=input, weight=w1, strides=(1,1), padding=\"SAME\", activation=\"RELU\")\nleft = graph.conv2d(input=left, weight=w3, strides=(1,1), padding=\"SAME\")\nright = graph.conv2d(input=input, weight=w2, strides=(1,1), padding=\"SAME\", activation=\"RELU\")\noutput = graph.add(left, right)\noutput = graph.relu(output)\n\n# 优化模型\nnew_graph = taso.optimize(graph)\n\n# 导出结果\nonnx_model = taso.export_onnx(new_graph)\nonnx.save(onnx_model, \"\u002Fpath\u002Fto\u002Fsave\u002Fnew\u002Fonnx\u002Fmodel\")\n```","某自动驾驶团队在将研发阶段的复杂感知模型部署到车载 NVIDIA V100 计算平台时，面临推理延迟过高导致实时性不足的严峻挑战。\n\n### 没有 TASO 时\n- 依赖框架自带的默认图优化器，无法识别深层网络中复杂的算子融合机会，导致大量冗余计算未被消除。\n- 人工尝试重写模型结构以追求极致性能，不仅耗时数周，还极易引入逻辑错误，破坏原本经过验证的模型精度。\n- 面对庞大的潜在优化组合空间，缺乏自动搜索机制，只能凭经验进行局部调整，最终推理速度距离硬件理论上限差距巨大。\n- 不同框架（如 PyTorch 转 ONNX）间的算子映射效率低下，转换后的模型往往比原生训练环境慢 30% 以上。\n\n### 使用 TASO 后\n- TASO 利用自动生成的等价图变换规则，深度挖掘并重组计算图，自动发现了人工难以察觉的高效算子融合方案。\n- 仅需几行 Python 代码加载预训练的 ONNX 模型，TASO 即可在保持模型精度完全不变的前提下，自动输出优化后的新图。\n- 基于成本的搜索算法在巨大的解空间中全局寻优，成功将关键感知模块的端到端推理延迟降低了 2.5 倍，满足实时控制需求。\n- 无缝支持从 TensorFlow 或 PyTorch 导出的模型，消除了跨框架部署的性能损耗，让团队能专注于算法迭代而非底层调优。\n\nTASO 通过自动化超优化技术，在不牺牲精度的基础上释放了硬件极限性能，将原本需要专家数周的手工调优工作缩短为分钟级的自动执行。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fjiazhihao_TASO_5d0dc4a1.png","jiazhihao","Zhihao Jia","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fjiazhihao_ddd14ab1.jpg",null,"zhihao@cs.stanford.edu","https:\u002F\u002Fgithub.com\u002Fjiazhihao",[79,83,87,91,95,99],{"name":80,"color":81,"percentage":82},"C++","#f34b7d",66,{"name":84,"color":85,"percentage":86},"Python","#3572A5",20.6,{"name":88,"color":89,"percentage":90},"Cuda","#3A4E3A",11.9,{"name":92,"color":93,"percentage":94},"CMake","#DA3434",1,{"name":96,"color":97,"percentage":98},"Dockerfile","#384d54",0.3,{"name":100,"color":101,"percentage":98},"Shell","#89e051",742,93,"2026-04-13T19:23:41","Apache-2.0",4,"未说明","需要 NVIDIA GPU（文中测试环境为 V100），具体显存大小和 CUDA 版本未在文档中明确说明",{"notes":110,"python":107,"dependencies":111},"该工具支持优化 ONNX、TensorFlow 和 PyTorch 格式的模型。对于 TensorFlow 和 PyTorch 模型，需先转换为 ONNX 格式后再由 TASO 优化。官方推荐使用预构建的 Docker 镜像以解决所有依赖问题，具体安装步骤需参考 INSTALL.md 文件。",[112,113],"onnx","tf2onnx (用于 TensorFlow 模型转换)",[14],[116,117,118],"deep-learning","deep-neural-networks","inference-optimization","2026-03-27T02:49:30.150509","2026-04-18T14:25:53.244652",[122,127,132,137,142,146,151],{"id":123,"question_zh":124,"answer_zh":125,"source_url":126},40145,"加载 ONNX 模型时出现 'AssertionError: Internal error when reording ONNX operators' 错误怎么办？","该错误通常是因为 ONNX 模型中使用了 TASO 尚未完全支持的算子（例如 ResNet50 主分支版本使用 'Sum' 代替 'Add' 进行元素级加法）。维护者已添加了对 'Sum' 算子的支持（提交记录 fed32e9cf）。解决方法是更新 TASO 代码到最新版本并重新运行。如果问题依旧，请检查模型是否包含其他非标准算子。","https:\u002F\u002Fgithub.com\u002Fjiazhihao\u002FTASO\u002Fissues\u002F30",{"id":128,"question_zh":129,"answer_zh":130,"source_url":131},40146,"在 Docker 容器中运行 TASO Python 测试时提示 'ModuleNotFoundError: No module named taso.core' 如何解决？","这通常是因为缺少 Cython 依赖。虽然安装 TASO Python 包时可能只返回警告而非错误，但必须安装 Cython 才能正确编译核心模块。请运行以下命令验证并安装：\n1. `pip install cython`\n2. 确认版本（例如 0.29.14）。\n安装后重新编译项目或重启容器即可解决。","https:\u002F\u002Fgithub.com\u002Fjiazhihao\u002FTASO\u002Fissues\u002F5",{"id":133,"question_zh":134,"answer_zh":135,"source_url":136},40147,"可以在没有 GPU 的机器上优化模型，然后部署到有 GPU 的生产环境吗？","不建议这样做。TASO 可能会针对不同的 GPU 后端（如不同型号的 NVIDIA 显卡）采用不同的图优化策略。为了确保最佳性能，应该在与生产环境相同的 GPU 硬件上运行 TASO 进行优化。如果在开发机（如 1080）优化而生产环境是 2080，可能会导致性能差异或兼容性问题。","https:\u002F\u002Fgithub.com\u002Fjiazhihao\u002FTASO\u002Fissues\u002F16",{"id":138,"question_zh":139,"answer_zh":140,"source_url":141},40148,"遇到 'Unrecognized attribute: split for operator Split' 的 ONNX 校验错误怎么办？","这是由于 ONNX 版本不兼容导致的。某些较新版本的 ONNX（如 1.8.0）生成的属性在旧版检查器中无法识别，或者 TASO 输出的格式与新版检查器冲突。解决方案是将 ONNX 版本降级到 1.6.0。可以使用命令：`pip install onnx==1.6.0`。此外，使用项目提供的官方 Docker 容器也可以避免此类环境配置问题。","https:\u002F\u002Fgithub.com\u002Fjiazhihao\u002FTASO\u002Fissues\u002F75",{"id":143,"question_zh":144,"answer_zh":145,"source_url":141},40149,"运行 nasrnn 示例时出现 'Cuda failure: 700' 错误如何处理？","该 CUDA 错误（代码 700）通常与特定的 CUDA\u002FcuDNN 版本组合或环境配置有关。用户反馈表明，切换到项目提供的官方 Docker 容器可以解决此问题，因为容器内预配置了经过验证的依赖版本。如果坚持从源码安装，请确保 CUDA (如 10.1) 和 cuDNN (如 7.6.5) 版本与 TASO 兼容，或尝试调整环境配置。",{"id":147,"question_zh":148,"answer_zh":149,"source_url":150},40150,"为什么 substitution.h 中存在内置的 GraphXfers（如 conv+bn->conv），它们不能自动生成吗？","这些内置替换规则（特别是涉及 BatchNorm 的）是临时解决方案。因为在之前的 TASO 版本中尚未实现 BatchNorm 算子，但已有相关用例需求，所以手动添加了这些内置规则。一旦 BatchNorm 被正式加入生成器（generator），这些硬编码的内置替换将被自动生成的规则取代并移除。","https:\u002F\u002Fgithub.com\u002Fjiazhihao\u002FTASO\u002Fissues\u002F77",{"id":152,"question_zh":153,"answer_zh":154,"source_url":155},40151,"TASO 不支持哪些 ONNX 或 TensorFlow 算子（如 StridedSlice, TopKV2 等）？","早期版本中，StridedSlice、NonMaxSuppressionV2、Fill、CropAndResize、TopKV2 等算子可能不受支持。对于 TopKV2、ResizeNearestNeighbor 和 Fill，升级 OPSET 版本通常可以将其成功转换为标准的 ONNX 算子。对于 StridedSlice，由于其逻辑复杂且常涉及 0 维输出，处理方式较为困难，部分情况可能需要用常量替换或等待 TASO 原生支持 0 维张量。建议优先关注 NonMaxSuppressionV2 等关键算子的支持进展。","https:\u002F\u002Fgithub.com\u002Fjiazhihao\u002FTASO\u002Fissues\u002F15",[]]