[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-MegEngine--MegEngine":3,"tool-MegEngine--MegEngine":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 真正成长为懂上",158594,2,"2026-04-16T23:34:05",[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":67,"readme_en":68,"readme_zh":69,"quickstart_zh":70,"use_case_zh":71,"hero_image_url":72,"owner_login":64,"owner_name":73,"owner_avatar_url":74,"owner_bio":75,"owner_company":76,"owner_location":76,"owner_email":77,"owner_twitter":76,"owner_website":78,"owner_url":79,"languages":80,"stars":117,"forks":118,"last_commit_at":119,"license":120,"difficulty_score":32,"env_os":121,"env_gpu":122,"env_ram":123,"env_deps":124,"category_tags":128,"github_topics":129,"view_count":32,"oss_zip_url":76,"oss_zip_packed_at":76,"status":17,"created_at":138,"updated_at":139,"faqs":140,"releases":169},8278,"MegEngine\u002FMegEngine","MegEngine","MegEngine 是一个快速、可拓展、易于使用且支持自动求导的深度学习框架","MegEngine 是一款由旷视科技开源的深度学习框架，旨在为开发者提供从模型训练到终端部署的一站式解决方案。它核心解决了传统框架中训练与推理环境割裂、显存占用过高以及跨平台部署困难等痛点。\n\n与其他框架不同，MegEngine 最大的亮点在于“训推一体”架构。用户只需构建一个模型，即可同时完成训练和推理任务，支持动态形状处理和量化操作，无需在不同框架间转换模型，既保证了精度又提升了效率。在硬件资源受限的场景下，其独有的 DTR（动态显存优化）算法可将 GPU 显存占用降低至原来的三分之一，配合推下式内存规划器，让大模型在低配设备上运行成为可能。此外，MegEngine 具备强大的跨平台能力，支持 x86、Arm、CUDA 等多种架构，并兼容 Linux、Windows、Android、iOS 甚至可信执行环境（TEE），确保模型能高效落地于各类终端。\n\n这款工具非常适合人工智能算法工程师、科研人员以及需要将深度学习模型部署到边缘设备或移动端的开发者使用。无论是进行前沿算法研究，还是追求极致的工程化落地，MegEngine 都能凭借其对底层硬件的精细控制和友好的开发体验，帮助用户轻松构","MegEngine 是一款由旷视科技开源的深度学习框架，旨在为开发者提供从模型训练到终端部署的一站式解决方案。它核心解决了传统框架中训练与推理环境割裂、显存占用过高以及跨平台部署困难等痛点。\n\n与其他框架不同，MegEngine 最大的亮点在于“训推一体”架构。用户只需构建一个模型，即可同时完成训练和推理任务，支持动态形状处理和量化操作，无需在不同框架间转换模型，既保证了精度又提升了效率。在硬件资源受限的场景下，其独有的 DTR（动态显存优化）算法可将 GPU 显存占用降低至原来的三分之一，配合推下式内存规划器，让大模型在低配设备上运行成为可能。此外，MegEngine 具备强大的跨平台能力，支持 x86、Arm、CUDA 等多种架构，并兼容 Linux、Windows、Android、iOS 甚至可信执行环境（TEE），确保模型能高效落地于各类终端。\n\n这款工具非常适合人工智能算法工程师、科研人员以及需要将深度学习模型部署到边缘设备或移动端的开发者使用。无论是进行前沿算法研究，还是追求极致的工程化落地，MegEngine 都能凭借其对底层硬件的精细控制和友好的开发体验，帮助用户轻松构建高性能的 AI 应用。","# MegEngine\n\n\u003Cp align=\"center\">\n  \u003Cimg width=\"202\" height=\"118\" src=\"logo.svg\">\n\u003C\u002Fp>\n\u003Ch3> \u003Ca href=\"https:\u002F\u002Fwww.megengine.org.cn\u002Fdoc\u002Fstable\u002Fen\u002Fuser-guide\u002Findex.html\"> Documentation \u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fwww.megengine.org.cn\u002Fdoc\u002Fstable\u002Fzh\u002Fuser-guide\u002Findex.html\"> 中文文档 \u003C\u002Fa> \u003C\u002Fh3>\n\n[![](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FEnglish-%E4%B8%AD%E6%96%87-green.svg)](README_CN.md) [![](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FWebsite-MegEngine-green.svg)](https:\u002F\u002Fmegengine.org.cn\u002F) [![](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-Apache%202.0-green.svg)](LICENSE) [![](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FChat-on%20QQ-green.svg?logo=tencentqq)](https:\u002F\u002Fjq.qq.com\u002F?_wv=1027&k=jJcBU1xi) [![](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDiscuss-on%20Zhihu-8A2BE2.svg?labelColor=00BFFF&logo=zhihu)](https:\u002F\u002Fwww.zhihu.com\u002Fpeople\u002Fmegengine-bot)\n\nMegEngine is a fast, scalable, and user friendly deep learning framework with 3 key features.\n\n* **Unified framework for both training and inference**\n    * Quantization, dynamic shape\u002Fimage pre-processing, and even derivation with a single model.\n    * After training, put everything into your model to inference on any platform with speed and precision. Check [here](https:\u002F\u002Fwww.megengine.org.cn\u002Fdoc\u002Fstable\u002Fzh\u002Fuser-guide\u002Fmodel-development\u002Ftraced_module\u002Findex.html) for a quick guide.\n* **The lowest hardware requirements**\n    * The memory usage of the GPU can be reduced to one-third of the original memory usage when [DTR algorithm](https:\u002F\u002Fwww.megengine.org.cn\u002Fdoc\u002Fstable\u002Fzh\u002Fuser-guide\u002Fmodel-development\u002Fdtr\u002Findex.html) is enabled.\n    * Inference models with the lowest memory usage by leveraging our Pushdown memory planner.\n* **Inference efficiently on all platforms**\n    * Inference with speed and high-precision on x86, Arm, CUDA, and RoCM.\n    * Supports Linux, Windows, iOS, Android, TEE, etc.\n    * Optimize performance and memory usage by leveraging our [advanced features](https:\u002F\u002Fwww.megengine.org.cn\u002Fdoc\u002Fstable\u002Fzh\u002Fuser-guide\u002Fdeployment\u002Flite\u002Fadvance\u002Findex.html).\n\n------\n\n## Installation\n\n**NOTE:** MegEngine now supports Python installation on Linux-64bit\u002FWindows-64bit\u002FMacOS(CPU-Only)-10.14+\u002FAndroid 7+(CPU-Only) platforms with Python from 3.6 to 3.9. On Windows 10 you can either install the Linux distribution through [Windows Subsystem for Linux (WSL)](https:\u002F\u002Fdocs.microsoft.com\u002Fen-us\u002Fwindows\u002Fwsl) or install the Windows distribution directly. Many other platforms are supported for inference.\n\n### Binaries\n\nTo install the pre-built binaries via pip wheels:\n\n```bash\npython3 -m pip install --upgrade pip\npython3 -m pip install megengine -f https:\u002F\u002Fmegengine.org.cn\u002Fwhl\u002Fmge.html\n```\n\n## Building from Source\n\n* CMake build details. please refer to [BUILD_README.md](scripts\u002Fcmake-build\u002FBUILD_README.md)\n* Python binding build details, Please refer to [BUILD_PYTHON_WHL_README.md](scripts\u002Fwhl\u002FBUILD_PYTHON_WHL_README.md)\n\n## How to Contribute\n\n* MegEngine adopts [Contributor Covenant](https:\u002F\u002Fcontributor-covenant.org) as a guideline to run our community. Please read the [Code of Conduct](CODE_OF_CONDUCT.md).\n* Every contributor of MegEngine must sign a [Contributor License Agreement (CLA)](CONTRIBUTOR_LICENSE_AGREEMENT.md) to clarify the intellectual property license granted with the contributions.\n* You can help to improve MegEngine in many ways:\n    * Write code.\n    * Improve [documentation](https:\u002F\u002Fgithub.com\u002FMegEngine\u002FDocs).\n    * Answer questions on [MegEngine Forum](https:\u002F\u002Fdiscuss.megengine.org.cn), or Stack Overflow.\n    * Contribute new models in [MegEngine Model Hub](https:\u002F\u002Fgithub.com\u002Fmegengine\u002Fhub).\n    * Try a new idea on [MegStudio](https:\u002F\u002Fstudio.brainpp.com).\n    * Report or investigate [bugs and issues](https:\u002F\u002Fgithub.com\u002FMegEngine\u002FMegEngine\u002Fissues).\n    * Review [Pull Requests](https:\u002F\u002Fgithub.com\u002FMegEngine\u002FMegEngine\u002Fpulls).\n    * Star MegEngine repo.\n    * Cite MegEngine in your papers and articles.\n    * Recommend MegEngine to your friends.\n    * Any other form of contribution is welcomed.\n\nWe strive to build an open and friendly community. We aim to power humanity with AI.\n\n## How to Contact Us\n\n* Issue: [github.com\u002FMegEngine\u002FMegEngine\u002Fissues](https:\u002F\u002Fgithub.com\u002FMegEngine\u002FMegEngine\u002Fissues)\n* Email: [megengine-support@megvii.com](mailto:megengine-support@megvii.com)\n* Forum: [discuss.megengine.org.cn](https:\u002F\u002Fdiscuss.megengine.org.cn)\n* QQ Group: 1029741705\n\n## Resources\n\n- [MegEngine](https:\u002F\u002Fmegengine.org.cn)\n- [MegStudio](https:\u002F\u002Fstudio.brainpp.com)\n- mirror repo\n   - OPENI: [openi.org.cn\u002FMegEngine](https:\u002F\u002Fwww.openi.org.cn\u002Fhtml\u002F2020\u002FFramework_0325\u002F18.html)\n   - Gitee: [gitee.com\u002FMegEngine\u002FMegEngine](https:\u002F\u002Fgitee.com\u002FMegEngine\u002FMegEngine)\n\n\n## License\n\nMegEngine is licensed under the Apache License, Version 2.0\n\n## Citation\nIf you use MegEngine in your publication,please cite it by using the following BibTeX entry.\n\n```\n@Misc{MegEngine,\n  institution = {megvii},\n  title =  {MegEngine:A fast, scalable and easy-to-use deep learning framework},\n  howpublished = {\\url{https:\u002F\u002Fgithub.com\u002FMegEngine\u002FMegEngine}},\n  year = {2020}\n}\n```\n\nCopyright (c) 2014-2021 Megvii Inc. All rights reserved.\n","# MegEngine\n\n\u003Cp align=\"center\">\n  \u003Cimg width=\"202\" height=\"118\" src=\"logo.svg\">\n\u003C\u002Fp>\n\u003Ch3> \u003Ca href=\"https:\u002F\u002Fwww.megengine.org.cn\u002Fdoc\u002Fstable\u002Fen\u002Fuser-guide\u002Findex.html\"> 文档 \u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fwww.megengine.org.cn\u002Fdoc\u002Fstable\u002Fzh\u002Fuser-guide\u002Findex.html\"> 中文文档 \u003C\u002Fa> \u003C\u002Fh3>\n\n[![](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FEnglish-%E4%B8%AD%E6%96%87-green.svg)](README_CN.md) [![](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FWebsite-MegEngine-green.svg)](https:\u002F\u002Fmegengine.org.cn\u002F) [![](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-Apache%202.0-green.svg)](LICENSE) [![](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FChat-on%20QQ-green.svg?logo=tencentqq)](https:\u002F\u002Fjq.qq.com\u002F?_wv=1027&k=jJcBU1xi) [![](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDiscuss-on%20Zhihu-8A2BE2.svg?labelColor=00BFFF&logo=zhihu)](https:\u002F\u002Fwww.zhihu.com\u002Fpeople\u002Fmegengine-bot)\n\nMegEngine 是一个快速、可扩展且用户友好的深度学习框架，具有三大核心特性。\n\n* **训练与推理一体化框架**\n    * 量化、动态形状\u002F图像预处理，甚至只需一个模型即可完成自动微分。\n    * 训练完成后，将所有内容整合到您的模型中，即可在任何平台上以速度和精度进行推理。请参阅[此处](https:\u002F\u002Fwww.megengine.org.cn\u002Fdoc\u002Fstable\u002Fzh\u002Fuser-guide\u002Fmodel-development\u002Ftraced_module\u002Findex.html)获取快速指南。\n* **最低的硬件需求**\n    * 启用[DTR算法](https:\u002F\u002Fwww.megengine.org.cn\u002Fdoc\u002Fstable\u002Fzh\u002Fuser-guide\u002Fmodel-development\u002Fdtr\u002Findex.html)后，GPU内存占用可降低至原来的三分之一。\n    * 通过我们的Pushdown内存规划器，实现内存占用最低的推理模型。\n* **高效跨平台推理**\n    * 在x86、Arm、CUDA和RoCM等平台上实现高速、高精度推理。\n    * 支持Linux、Windows、iOS、Android、TEE等多种平台。\n    * 利用我们的[高级功能](https:\u002F\u002Fwww.megengine.org.cn\u002Fdoc\u002Fstable\u002Fzh\u002Fuser-guide\u002Fdeployment\u002Flite\u002Fadvance\u002Findex.html)，优化性能和内存使用。\n\n------\n\n## 安装\n\n**注意：** MegEngine 现已支持在 Linux-64位、Windows-64位、macOS（仅CPU）10.14及以上版本以及 Android 7及以上版本（仅CPU）上通过 Python 3.6 至 3.9 进行安装。在 Windows 10 上，您可以通过[Windows Subsystem for Linux (WSL)](https:\u002F\u002Fdocs.microsoft.com\u002Fen-us\u002Fwindows\u002Fwsl) 安装 Linux 发行版，也可以直接安装 Windows 版本。此外，还支持许多其他平台的推理。\n\n### 二进制包\n\n通过 pip 轮子安装预编译的二进制文件：\n\n```bash\npython3 -m pip install --upgrade pip\npython3 -m pip install megengine -f https:\u002F\u002Fmegengine.org.cn\u002Fwhl\u002Fmge.html\n```\n\n## 从源码构建\n\n* CMake 构建详情，请参阅 [BUILD_README.md](scripts\u002Fcmake-build\u002FBUILD_README.md)\n* Python 绑定构建详情，请参阅 [BUILD_PYTHON_WHL_README.md](scripts\u002Fwhl\u002FBUILD_PYTHON_WHL_README.md)\n\n## 如何贡献\n\n* MegEngine 采用 [Contributor Covenant](https:\u002F\u002Fcontributor-covenant.org) 作为社区运行准则。请阅读 [行为准则](CODE_OF_CONDUCT.md)。\n* 所有贡献者都必须签署 [贡献者许可协议 (CLA)](CONTRIBUTOR_LICENSE_AGREEMENT.md)，以明确贡献所授予的知识产权许可。\n* 您可以通过多种方式帮助改进 MegEngine：\n    * 编写代码。\n    * 改进[文档](https:\u002F\u002Fgithub.com\u002FMegEngine\u002FDocs)。\n    * 在[MegEngine 论坛](https:\u002F\u002Fdiscuss.megengine.org.cn)或 Stack Overflow 上解答问题。\n    * 在[MegEngine Model Hub](https:\u002F\u002Fgithub.com\u002Fmegengine\u002Fhub)中贡献新模型。\n    * 在[MegStudio](https:\u002F\u002Fstudio.brainpp.com)上尝试新想法。\n    * 报告或调查[漏洞和问题](https:\u002F\u002Fgithub.com\u002FMegEngine\u002FMegEngine\u002Fissues)。\n    * 审核[拉取请求](https:\u002F\u002Fgithub.com\u002FMegEngine\u002FMegEngine\u002Fpulls)。\n    * 为 MegEngine 仓库点赞。\n    * 在您的论文和文章中引用 MegEngine。\n    * 向朋友推荐 MegEngine。\n    * 欢迎任何形式的贡献。\n\n我们致力于打造开放友好的社区，旨在用人工智能赋能人类。\n\n## 如何联系我们\n\n* 问题：[github.com\u002FMegEngine\u002FMegEngine\u002Fissues](https:\u002F\u002Fgithub.com\u002FMegEngine\u002FMegEngine\u002Fissues)\n* 邮箱：[megengine-support@megvii.com](mailto:megengine-support@megvii.com)\n* 论坛：[discuss.megengine.org.cn](https:\u002F\u002Fdiscuss.megengine.org.cn)\n* QQ 群：1029741705\n\n## 资源\n\n- [MegEngine](https:\u002F\u002Fmegengine.org.cn)\n- [MegStudio](https:\u002F\u002Fstudio.brainpp.com)\n- 镜像仓库\n   - OPENI：[openi.org.cn\u002FMegEngine](https:\u002F\u002Fwww.openi.org.cn\u002Fhtml\u002F2020\u002FFramework_0325\u002F18.html)\n   - Gitee：[gitee.com\u002FMegEngine\u002FMegEngine](https:\u002F\u002Fgitee.com\u002FMegEngine\u002FMegEngine)\n\n\n## 许可证\n\nMegEngine 采用 Apache License, Version 2.0 许可证。\n\n## 引用\n如果您在出版物中使用 MegEngine，请使用以下 BibTeX 条目进行引用。\n\n```\n@Misc{MegEngine,\n  institution = {megvii},\n  title =  {MegEngine：一个快速、可扩展且易于使用的深度学习框架},\n  howpublished = {\\url{https:\u002F\u002Fgithub.com\u002FMegEngine\u002FMegEngine}},\n  year = {2020}\n}\n```\n\n版权所有 © 2014-2021 巨量科技有限公司。保留所有权利。","# MegEngine 快速上手指南\n\nMegEngine（天枢）是一款由旷视科技开源的快速、可扩展且易用的深度学习框架。其核心优势在于**训练推理一体化**、**极低的硬件资源占用**以及**全平台高效推理**。\n\n## 1. 环境准备\n\n在开始之前，请确保您的开发环境满足以下要求：\n\n*   **操作系统**：\n    *   Linux (64-bit)\n    *   Windows 10 (64-bit，支持直接安装或通过 WSL)\n    *   macOS 10.14+ (仅支持 CPU)\n    *   Android 7+ (仅支持 CPU，主要用于推理)\n*   **Python 版本**：3.6 - 3.9\n*   **硬件加速**（可选）：\n    *   NVIDIA GPU (需安装对应版本的 CUDA)\n    *   AMD GPU (需安装 RoCM)\n    *   若无独立显卡，框架可自动使用 CPU 运行。\n\n## 2. 安装步骤\n\n推荐使用官方提供的国内镜像源进行安装，以获得更快的下载速度。\n\n### 方式一：通过 pip 安装预编译包（推荐）\n\n打开终端或命令行工具，执行以下命令：\n\n```bash\n# 升级 pip 工具\npython3 -m pip install --upgrade pip\n\n# 安装 MegEngine（自动匹配国内镜像源）\npython3 -m pip install megengine -f https:\u002F\u002Fmegengine.org.cn\u002Fwhl\u002Fmge.html\n```\n\n> **注意**：Windows 用户若遇到权限问题，可在命令后添加 `--user` 参数，或使用管理员身份运行命令行。\n\n### 方式二：源码编译（高级用户）\n\n如需自定义编译选项或使用最新开发版代码，请参考官方构建文档：\n*   CMake 构建详情：[BUILD_README.md](scripts\u002Fcmake-build\u002FBUILD_README.md)\n*   Python 绑定构建详情：[BUILD_PYTHON_WHL_README.md](scripts\u002Fwhl\u002FBUILD_PYTHON_WHL_README.md)\n\n## 3. 基本使用\n\nMegEngine 提供了类似 PyTorch 的动态图接口，易于上手。以下是一个最简单的线性回归训练示例：\n\n```python\nimport megengine as mge\nimport megengine.module as M\nimport megengine.functional as F\nfrom megengine import autodiff as ad\n\n# 1. 定义模型\nclass LinearRegression(M.Module):\n    def __init__(self):\n        super().__init__()\n        self.fc = M.Linear(1, 1)\n\n    def forward(self, x):\n        return self.fc(x)\n\nmodel = LinearRegression()\n\n# 2. 准备数据 (简单示例数据)\ndata = mge.tensor([[1.0], [2.0], [3.0], [4.0]])\nlabel = mge.tensor([[2.0], [4.0], [6.0], [8.0]])\n\n# 3. 定义优化器\noptimizer = ad.SGD(model.parameters(), lr=0.01)\n\n# 4. 定义训练过程\ndef train_step(x, y):\n    with ad.enable_grad():\n        pred = model(x)\n        loss = F.mean((pred - y) ** 2)\n    \n    grads = ad.grad(loss, model.parameters())\n    optimizer.step(grads)\n    return loss\n\n# 5. 执行训练\nfor epoch in range(100):\n    loss = train_step(data, label)\n    if epoch % 10 == 0:\n        print(f\"Epoch {epoch}, Loss: {loss.numpy()}\")\n\nprint(\"Training finished!\")\n```\n\n### 核心特性提示\n*   **训练推理一体**：训练完成后，可直接使用 `TracedModule` 将模型转换为推理模式，无需重新编写代码即可部署。\n*   **显存优化**：若在显存受限的设备上运行大模型，可启用 DTR 算法大幅降低显存占用。","某自动驾驶初创团队正在开发一款需在嵌入式设备（如 NVIDIA Jetson）上实时运行的行人检测系统，面临从模型训练到端侧部署的严峻挑战。\n\n### 没有 MegEngine 时\n- **流程割裂严重**：训练使用 PyTorch，部署需转换为 TensorRT 或 ONNX，转换过程中算子不支持导致精度丢失，且需维护两套代码逻辑。\n- **显存资源瓶颈**：在有限的嵌入式 GPU 显存中，复杂模型常因显存溢出（OOM）无法运行，被迫削减网络层数牺牲检测精度。\n- **多平台适配困难**：针对不同芯片（x86 服务器训练、Arm 端侧推理）需编写大量底层优化代码，开发周期长达数周。\n- **量化部署繁琐**：训练后量化（PTQ）需额外工具链支持，动态形状处理复杂，难以在保证速度的同时维持高置信度检测结果。\n\n### 使用 MegEngine 后\n- **训推一体无缝衔接**：利用“统一框架”特性，同一套模型代码可直接用于训练和部署，支持自动求导与量化感知训练，消除转换误差。\n- **显存占用大幅降低**：启用 DTR 算法和 Pushdown 内存规划器，将 GPU 显存占用降至原来的三分之一，成功在低配设备上运行高精度大模型。\n- **跨平台高效推理**：凭借原生支持的 Arm、CUDA 及多种操作系统，无需修改核心代码即可在服务器与嵌入式端高效运行，部署时间缩短至几天。\n- **动态场景灵活应对**：内置动态形状与图像预处理功能，结合高精度量化工具，轻松应对不同分辨率输入，实现速度与精度的最佳平衡。\n\nMegEngine 通过训推一体化架构与极致的内存优化，帮助团队在资源受限的边缘设备上实现了高精度模型的快速落地。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMegEngine_MegEngine_8f3fce65.png","旷视天元 MegEngine","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FMegEngine_9b737f92.png","",null,"megengine@megvii.com","https:\u002F\u002Fmegengine.org.cn","https:\u002F\u002Fgithub.com\u002FMegEngine",[81,85,89,93,97,101,104,108,111,114],{"name":82,"color":83,"percentage":84},"C++","#f34b7d",80.5,{"name":86,"color":87,"percentage":88},"Cuda","#3A4E3A",9.6,{"name":90,"color":91,"percentage":92},"Python","#3572A5",7.4,{"name":94,"color":95,"percentage":96},"C","#555555",1.7,{"name":98,"color":99,"percentage":100},"CMake","#DA3434",0.4,{"name":102,"color":103,"percentage":100},"Shell","#89e051",{"name":105,"color":106,"percentage":107},"Starlark","#76d275",0,{"name":109,"color":110,"percentage":107},"HTML","#e34c26",{"name":112,"color":113,"percentage":107},"Makefile","#427819",{"name":115,"color":116,"percentage":107},"Dockerfile","#384d54",4806,548,"2026-04-10T02:11:51","Apache-2.0","Linux, Windows, macOS","非必需（支持 CPU 模式）。若使用 GPU，支持 NVIDIA (CUDA) 和 AMD (RoCM)。开启 DTR 算法可将显存占用降至原来的三分之一。","未说明",{"notes":125,"python":126,"dependencies":127},"macOS 版本仅支持 CPU；Android 7+ 版本仅支持 CPU。Windows 用户可直接安装或通过 WSL (Linux 子系统) 安装。推理阶段支持 x86, Arm, CUDA, RoCM 架构及 Linux, Windows, iOS, Android, TEE 等平台。","3.6 - 3.9",[],[14],[130,131,132,133,134,135,136,137],"deep-learning","machine-learning","megengine","tensor","autograd","python","gpu","numpy","2026-03-27T02:49:30.150509","2026-04-17T08:23:10.157986",[141,146,151,156,161,165],{"id":142,"question_zh":143,"answer_zh":144,"source_url":145},37067,"在 Ubuntu 上编译 MegEngine 时遇到报错，如何解决？","首先尝试更新 GCC 版本到 7.7 或更高（建议升级到 8.4+）。如果问题依旧，请检查 CUDA、cuDNN、TensorRT 等依赖库的版本是否与 MegEngine 兼容。此外，确保按照官方文档步骤正确安装 llvm、swig 等依赖。若仍无法解决，可对比本地与服务器环境的中间文件差异，或尝试在纯净环境中重新编译。","https:\u002F\u002Fgithub.com\u002FMegEngine\u002FMegEngine\u002Fissues\u002F97",{"id":147,"question_zh":148,"answer_zh":149,"source_url":150},37068,"下载第三方依赖库时使用 gitclone 镜像导致编译失败怎么办？","不建议使用 gitclone 等镜像服务下载 third_party 依赖库，因为这可能导致 commit hash 不匹配从而引发同步问题。请直接使用原始 GitHub 地址（如 https:\u002F\u002Fgithub.com\u002FMegEngine\u002FMegRay.git）进行克隆，以确保依赖库版本一致。","https:\u002F\u002Fgithub.com\u002FMegEngine\u002FMegEngine\u002Fissues\u002F191",{"id":152,"question_zh":153,"answer_zh":154,"source_url":155},37069,"如何在树莓派 (Raspberry Pi) 上构建 Python wheel 包并解决权限错误？","在 Docker 容器中构建时出现 'Permission denied' 错误，通常是因为文件权限问题。建议使用干净的 Raspbian 64 位系统，手动安装已构建好的 MegEngine wheel 包，而不是直接在容器内修改权限。同时，确保安装的 Python 依赖包版本与维护者测试环境一致（如 numpy 1.23.1, opencv-python 4.6.0.66 等），以避免兼容性错误。","https:\u002F\u002Fgithub.com\u002FMegEngine\u002FMegEngine\u002Fissues\u002F472",{"id":157,"question_zh":158,"answer_zh":159,"source_url":160},37070,"交叉编译 load_and_run 时报 'signal 11 (segmentation fault)' 错误如何解决？","该错误通常由内存（DDR）不足引起，而非存储空间不足。解决方案包括：1. 创建至少 8GB 的 swap 分区以补充内存；2. 使用单线程编译（命令：ninja -j1），因为默认 ninja 会使用 CPU 核心数 +2 的线程数，容易耗尽内存；3. 确保 GCC 工具链版本不低于 6.5（推荐下载 Linaro 或 ARM GNU 工具链）。","https:\u002F\u002Fgithub.com\u002FMegEngine\u002FMegEngine\u002Fissues\u002F480",{"id":162,"question_zh":163,"answer_zh":164,"source_url":155},37071,"YOLOX 模型转换后，如何使用 Python 接口进行推理？","如果使用 Python 接口进行推理，不需要使用 .mge 模型文件。请直接参考 YOLOX 仓库的 README 中 'demo' 部分，使用 .pkl 权重文件运行。命令示例：python tools\u002Fdemo.py image -n yolox-tiny -c \u002Fpath\u002Fto\u002Fyolox_tiny.pkl --path assets\u002Fdog.jpg ...。只有在需要使用 C++\u002FC 接口时才需使用 .mge 模型文件。",{"id":166,"question_zh":167,"answer_zh":168,"source_url":150},37072,"CPU C++ 加载模型失败的可能原因有哪些？","如果在特定环境下加载模型失败但无法复现，首先检查是否修改了依赖库的下载路径（如使用镜像源），这可能导致版本不一致。其次，确认 Python 环境与 C++ 编译环境的 MegEngine 版本完全匹配（例如都使用 release-1.4 分支）。若问题持续，建议在未修改任何配置的原始环境下重新安装依赖并测试。",[170,175,180,185,190,195,200,205,210,215,220,225,230,235,240,245,250,255,259,263],{"id":171,"version":172,"summary_zh":173,"released_at":174},297510,"v1.13.4","# MegBrain\n\n### Bug修复\n\n#### 通用组件\n* 修复在开启 CD4 + FP16 的转储功能时，clip 阶段图优化异常，以及 MIN 操作相关 bug 导致转储出错的问题。\n* 修复当 MegEngine 张量类型为 bool 时，索引操作无法正确定位地址的问题。\n\n#### XLA\n* 修复多机训练时设备设置错误的问题。\n\n#### CUDA\n* 修复因缺少一个 void ** 的强制转换而导致无法通过编译的问题。\n\n\n### 新特性\n#### Python API\n* 添加 FillPoly 算子。\n* 增加 erf 接口。\n\n#### CUDA\n* 增加对 Hopper 系列 GPU 的支持。\n\n\n#### 通用组件\n* 修复在 io16xc32 模式下 reduce 算子无法执行的问题。\n\n#### XLA\n* XLA 增加对 FP16 数据类型的支持。\n* 新增支持 xla 打包的脚本，自 v8.20.3（包含）及以后可用以下方式安装 xla：megbrain[xla]==8.20.3+cu111。\n\n#### Dataloader\n* Dataloader 支持 CUDA 数据转换。\n\n\n### Bug修复\n#### 通用组件\n* 修复了在启用 CD4 + FP16 转储功能时，clip 阶段图优化异常，以及 MIN 操作相关 bug 导致转储出错的问题。\n* 修复了当 MegEngine 张量类型为 bool 时，索引操作无法正确定位地址的问题。\n\n#### XLA\n* 修复了多机训练过程中设备设置错误的问题。\n\n#### CUDA\n* 修复了因缺少 void ** 类型强制转换而导致编译失败的问题。\n\n\n### 新特性\n#### Python API\n* 添加 FillPoly 算子。\n* 增加 erf 接口。\n\n#### CUDA\n* 增加对 Hopper 系列 GPU 的支持。\n\n\n#### 通用组件\n* 修复了在 io16xc32 模式下 reduce 算子无法执行的问题。\n\n#### XLA\n* XLA 增加了对 FP16 数据类型的支持。\n* 新增了支持 xla 打包的脚本，从 v8.20.3（含）开始，可以通过以下方式安装 xla：megbrain[xla]==8.20.3+cu111。\n\n#### Dataloader\n* Dataloader 支持 CUDA 数据转换。","2024-04-30T08:30:54",{"id":176,"version":177,"summary_zh":178,"released_at":179},297511,"v1.13.3","# MegEngine\n## 亮点\n* 新增支持寒武纪思元系列 AI 芯片训练和推理。\n\n## 已知问题\n* 当开启 CD4 + FP16 的 dump 功能时，clip 阶段的图优化出现异常，MIN 操作相关的 bug 导致 dump 出错，预计将在 v1.13.4 版本中修复。\n\n\n### Bug 修复\n#### 第三方硬件\n* 修复了 rocm 编译失败的问题。\n* 修复了在寒武纪 590 上无法找到 checksum_kernel_union4 内核的问题。\n\n\n#### 通用组件\n* 修复了 trace 模式下 reshape 算子不支持 int64 类型形状输入的问题。\n* 修复了 tile 算子 workspace 计算错误的问题。\n* 修复了由于 NHWCD4 优化 pass 处理错误导致 seg transformer 模型无法 dump 的问题。\n* 修复了 megfile 版本依赖固定的问题。\n* 修复了 module_stats 函数在计算 traced_module 模型参数量和计算量时报错的问题。\n* 优化了异步执行出错时的报错信息，为用户提供进一步定位问题的方法。\n* 在 graph 执行出错抛出异常前提供了更多的错误信息。\n* 修复了因缺少头文件 limits 而引发的编译错误。\n\n\n#### 发版流程\n* 修复了在不带 MGE_WITH_CUSTOM_OP 编译参数时，megbrain cuda 后端编译失败的问题。\n\n\n#### XLA\n* 修复了 xla 显存占用不稳定的问题。\n* 修复了 XLA 中出现的 indexing 错误。\n* 修复了 XLA 无法 Trace GradManager Callback 的问题；同时修复了 XLA 无法 Trace 带有 property 装饰的 module 的问题。\n\n\n#### CUDA\n* 暂时关闭了两个调用 cudnn-v8 的算法（AlgoCUDNNConvV8，AlgoCUDNNConvBiasActivationV8），以修复计算结果的对分问题。\n* 修复已知问题，正式支持 cuda11.8。\n\n\n#### 文档\n* 修复了 megengine 中 _mgb.so 文件丢失的问题。\n\n\n\n\n### 新特性\n#### Python API\n* 新增 einsum 算子。\n* 增加对 exponential opr 的支持。\n* 增加对多项式分布采样的支持。\n* 增加对 Remap 算子的支持。\n* 增加对 GaussianBlur 算子的支持。\n\n\n#### 第三方硬件\n* 寒武纪平台支持 neuware 1.13.0 版本。\n* 支持寒武纪平台的训练和推理。\n\n\n#### 通用组件\n* 增加对 dilate 算子的支持。\n* 修复了 ohos thread local 存在的内存泄漏问题。\n\n\n#### XLA\n* xla 后端添加 fake_quant、tqt 算子。\n* 在 xla 中支持 linspace、stack、resize、resize backward 算子。\n* 支持 XLA 后端添加 lsq 算子。\n\n\n### 改进\n#### Dataloader\n* 将 datamonitor 中统计的 dataset 和 transform 时间修改为一个 batch 的总时间，使其与 collator time 和 ipc time 统计口径保持一致。\n\n\n\n# MegEngine Lite\n### Bug 修复\n#### 文档\n* 修复了 lite 中 get_elem_size 方法文档描述与实现不一致的问题。 \n\n# MegEngine\n## 亮点\n* 新增支持寒武纪 MLU 系列 AI 芯片的训练和推理。\n\n## 已知问题\n* 当开启 CD4 + FP16 的 dump 功能时，clip 阶段的图优化出现异常，MIN 操作相关的 bug 导致 dump 出错。预计将在下一个新版本（MegBrain v8.20.4）中修复。\n\n\n### Bug 修复\n#### 第三方硬件\n* 修复了 rocm 编译失败的问题。\n* 修复了在寒武纪 590 上无法找到 checksum_kernel_union4 内核的问题。\n\n\n#### 通用组件\n* 修复了 trace 模式下 reshape 算子不支持 int64 类型形状输入的 bug。\n* 修复了 tile 算子 workspace 计算错误的问题。\n* 修复了由于 NHWCD4 优化 pass 处理错误导致 seg transformer 模型无法 dump 的问题。\n* 修复了 megfile 版本依赖固定的问题。\n* 修复了 module_stats 函数在计算 traced_module 模型参数量和计算量时报错的问题。\n* 优化了异步执行出错时的报错信息，为用户提供进一步定位问题的方法。\n* 在 graph 执行出错抛出异常前提供了更多错误信息。\n* 修复了因缺少头文件 \"limits\" 而引发的编译错误。\n\n\n#### 发版流程\n* 修复了 megbrain cuda 后端在不带 MGE_WITH_CUSTOM_OP 编译参数时编译失败的问题。\n\n\n#### XLA\n* 修复了 xla 显存占用不稳定的问题。\n* 修复了 XLA 中出现的 indexing 错误。\n* 修复了 XLA 无法 Trace GradManager Callback 的问题；同时修复了 XLA 无法 Trace 带有 property 装饰的 module 的问题。\n\n\n#### CUDA\n* 暂时关闭了两个调用 cudnn-v8 的算法（AlgoCUDNNConvV8，AlgoCUDNNConvBiasActivationV8），以修复计算结果的对分问题。\n* 修复已知问题，正式支持 cuda11.8。\n\n\n#### 文档\n* 修复了 megengine 中 _mgb.so 文件丢失的问题。\n\n\n\n\n### 新特性\n#### Python API\n* 新增 einsum 算子。\n* 增加对 exponential opr 的支持。\n* 增加对多项式分布采样的支持。\n* 增加对 Remap 算子的支持。\n* 增加对 GaussianBlur 算子的支持。\n\n\n#### 第三方硬件\n* 寒武纪平台支持 neuware 1.13.0 版本。\n* 支持寒武纪平台的训练和推理。\n\n\n#### 通用组件\n* 增加对 dilate 算子的支持。\n* 修复了 ohos thread local 存在的内存泄漏问题。\n\n\n#### XLA\n* xla 后端添加 fake_quant、tqt 算子。\n* 在 xla 中支持 linspace、stack、resize、resize backward 算子。\n* 支持 XLA 后端添加 lsq 算子。\n\n\n### 改进\n#### Dataloader\n* 将 datamonitor 中统计的 dataset 和 transform 时间修改为一个 batch 的总时间，使其与 collator time 和 ipc time 统计口径保持一致。","2023-12-21T06:58:29",{"id":181,"version":182,"summary_zh":183,"released_at":184},297512,"v1.13.2","# MegEngine\n## 亮点\n* 支持 CUDA 11.8 正式版本，已知问题请参见已知问题。\n* MegEngine-XLA 发布正式版，经 XLA 优化后，在 CUDA 11.8\u002FCuDNN 8.6.0 上，基于 BaseCls\u002FBasicDet 的典型网络可获得 10%~90% 的速度提升。\n\n## 已知问题\n* 使用 TensorRT 进行推理时，CUDA 11.8 可能会出现资源析构异常的问题。\n\n### Bug修复\n#### Python API\n* 修复 arange 函数无法将设备设置为 CPU 的问题。\n\n#### 第三方硬件\n* 修复多模型多线程环境下，Atlas 报告事件资源不足的问题。\n* 修复 Atlas 同步时需要激活 atlas_env 的问题；修复由于 tensordesc 未释放导致的内存泄漏问题；修复 aclInit 重复调用的问题。\n\n#### 通用组件\n* 修复自定义算子实现内置算子时静态变量初始化顺序错误的问题。\n* 修复 Megengine 包含 setenv 依赖，导致在 Android 环境下存在内存踩踏风险的问题。\n\n#### XLA\n* 修复 XLA 使用时显存增大、找不到 ptxas 以及 rng 种子设置不正确的问题。\n\n#### ARM\n* 将 NDK 版本升级至 r25c，以解决旧版 NDK 下 armv7 开启 `-D_FORTIFY_SOURCE=2` 不生效的问题；修复 conv_backdata 算子访存越界问题；优化编译速度，Android 设备编译可提速 30%。\n\n### 新特性\n#### Python API\n* 增加 Python 侧的高维排序支持。\n* 添加 flip、rotate、resize、rot90 算子。\n\n#### 周边工具\n* 支持以 MegBrain v8.14 的前向兼容方式导出模型。\n\n#### 通用组件\n* 添加 where 算子的内核实现。\n\n#### XLA\n* XLA 支持 partial_trace 函数在输入形状变化时回退到原始 Python 函数；partial_trace 支持将 all_reduce 等集合通信算子编译到 XLA 可执行文件中，以提升 XLA trace 模型性能；partial_trace 支持 trace、optimizer._update，并加速 optimizer step 方法。\n\n#### CUDA\n* 添加三种 mixup 的 GPU 实现（cutmix、fmix、mixup）。\n* 新增对 cropandpad 算子的支持。\n* 增加 elemwise uint16 数据类型计算的支持。\n\n#### Dataloader\n* 新增 DataLoader 对数据各阶段处理的监控功能，通过环境变量 os.environ[‘MGE_DATA_MONITOR’] =‘1’ 打开此功能。当 num_workers = 0 时，可获取拉取数据时间 dataset_time、数据转换时间 transform_time、拼 batch 时间 collate_time；当 num_workers > 0 时，在上述指标基础上，还可获取进程间通信时间 IPC_time。\n\n### 改进\n#### 文档\n* 优化现有 API 的 docstring。\n\n# MegEngine Lite\n### Bug修复\n#### 通用组件\n* 修复调用 get_io_tensor 获取设备类型时概率性出错的问题。\n\n# MegEngine\n## 已知问题\n* CUDA 11.8 在使用 TensorRT 进行推理时可能会遇到资源销毁异常；\n* 训练基准测试 avg_cpu_usage 指标较前两个版本平均上升了 32.4%；\n\n### Bug修复\n#### Python API\n* 修复 arange 函数无法将设备设置为 CPU 的 bug。\n\n#### 第三方硬件\n* 修复因 tensordesc 未释放导致的内存泄漏问题；修复同步时需激活 atlas_env 的问题；修复 aclInit 重复调用的问题。\n\n#### 通用组件\n* 修复自定义算子实现内置算子时静态变量初始化顺序错误的问题。\n* 修复 Megengine 使用 setenv 可能在 Android 系统中引发内存踩踏风险的问题。\n\n#### XLA\n* 修复使用 XLA 时显存增加、无法找到 ptxas 以及 rng 种子设置不正确的问题。\n\n#### ARM\n* 将 NDK 版本升级至 r25c，以解决旧版 NDK 下 armv7 开启 `-D_FORTIFY_SOURCE=2` 无效的问题；修复 conv_backdata 算子访存越界问题；优化编译速度，Android 设备编译可提速 30%。\n\n\n### 新特性\n#### Python API\n* 在 Python 侧新增高维排序支持。\n* 添加 fli","2023-10-23T07:32:40",{"id":186,"version":187,"summary_zh":188,"released_at":189},297513,"v1.13.1","# MegEngine\n## 亮点\n* 此版本及后续版本将不再支持 cuda10.1。\n\n### Bug修复\n#### 第三方工具\n* 支持 Atlas 输入 batch 为静态而输出 batch 为动态的情况；修复在多模型多线程的情况下 Atlas 报 event 资源不够的问题。\n\n#### 通用组件\n* 优化 device 检查错误时的报错信息，使其更明确。\n* 修复 ConvLike 和 AxisAddRemove 的组合对 shape 错误处理导致报错的问题。\n\n#### 混合精度\n* 修复部分算子显示指定输入为 nchw format，例如 inp=tensor(a, format=\"nchw\")，时出错的问题。\n\n\n\n### 新特性\n#### Python API\n* 增加对 cross 算子的支持。\n* 增加对高斯、泊松、拉普拉斯噪声算子(AdditiveGaussianNoise、AdditivePoissonNoise、AdditiveLaplaceNoise) 的支持。\n\n#### 通用组件\n* 添加 emboss, sharpen, linearcontrast 算子。\n\n#### XLA\n* 添加 normalization 相关算子的 XLA lowering rule（目前支持batch norm， layer norm，group norm，instance norm）。\n* 添加 sort\u002Fargsort\u002FtopK 等排序相关算子的 XLA lowering rule。\n\n\n\n### 改进\n#### 文档\n* 添加 复数、添加 DLPack 相关接口的使用说明。\n\n\n# MegEngine Lite\n### Bug 修复\n#### 周边工具\n* 修复 MegEngine Lite 调用 get_io_tensor 时概率性获取到错误 device 类型的问题。\n\n\n# MegEngine\n## 亮点\n* 本版本及后续版本不再支持 CUDA 10.1。\n\n### Bug修复\n#### 第三方工具\n* 支持 Atlas 输入 batch 为静态而输出 batch 为动态的情况，并修复多模型多线程场景下 Atlas 报告事件资源不足的问题。\n\n#### 通用组件\n* 优化设备检查错误时的错误信息，使其更加清晰。\n* 修复 Convlike 和 Axisaddremove 组合导致形状错误处理报错的问题。\n\n#### 混合精度\n* 修复部分算子在指定输入格式为 NCHW（如 inp=tensor(a, format=\"NCHW\")）时出现的错误。\n\n\n\n### 新特性\n#### Python API\n* 新增 cross 算子。\n* 支持高斯、拉普拉斯和泊松噪声算子。\n\n#### 通用组件\n* 新增 emboss、sharpen 和 linearcontrast 算子。\n\n#### XLA\n* 新增归一化操作的 XLA 降级规则。\n* 新增排序、argsort 和 topK 等排序相关算子的 XLA 降级规则。\n\n\n\n### 改进\n#### 文档\n* 为复数相关 API 和 DLPack 接口添加文档注释。\n\n\n# MegEngine Lite\n### Bug 修复\n#### 周边工具\n* 修复 MegEngine Lite 在调用 get_io_tensor 时可能出现获取到错误设备类型的问题。","2023-08-25T09:26:40",{"id":191,"version":192,"summary_zh":193,"released_at":194},297514,"v1.13.0","# MegEngine\n## 亮点\n* MegEngine 支持在 Trace 后的图使用 XLA 进行编译优化并执行，在 cuda11.8\u002Fcudnn8.6.0 上典型分类网络可获得 10%~80% 的速度提升。此特性为试验性特性。关于此功能更多信息请参考[文档链接]( https:\u002F\u002Fwww.megengine.org.cn\u002Fdoc\u002Fmaster\u002Fzh\u002Fuser-guide\u002Fmodel-development\u002Fjit\u002Fxla.html)\n* 后续版本将不再支持 cuda10.1。\n\n\n### Bug修复\n#### 数据加载器\n* 优化数据加载器的报错机制，避免数据加载器工作进程闪退及卡死的情况。\n* 消除 pyarrow.SerializationContext() 的未来警告，提升使用体验。\n* 修复 pyarrow 版本高于 1.12 时反复出现警告的问题。\n\n\n#### 第三方硬件\n* 支持 Atlas 在启用 AIPP 后输入格式可以为多种类型（NHWC、NCHW、NC1HWC0）。\n\n\n#### 通用组件\n* 修复切片操作中起始位置为负数时索引结果错误的问题。\n* 修复由于 ArgSpec 中的参数类型信息被序列化导致的 TracedModule 兼容性问题。\n\n\n### 新特性\n#### Python API\n* 支持 MegEngine 张量与 DLPack 之间的相互转换。\n* interpolate 算子新增三线性模式。\n\n\n#### CUDA\n* 添加 CUDA\u002F朴素 MHA 代理实现。\n\n\n#### 通用组件\n* jit.trace 支持无主机模式，目前主要用途是接入其他深度学习编译器（例如 XLA）。当 without host 为 True 时，被 Trace 包装的函数经过编译后不会再执行函数原始的 Python 代码，也不会检查算子序列是否与 Trace 记录的序列一致。使用时需要您保证被 Trace 部分完全静态。\n* 支持外部框架张量与 MGE 张量进行计算，例如 mge.tensor(torch.tensor)+mge.tensor 即可获取两者的相加结果。\n\n#### XLA\n* 实现 MGE 算子到 XLA HLO IR 的降级规则，支持在 MegEngine 中编译并调用 XLA。","2023-07-19T10:24:47",{"id":196,"version":197,"summary_zh":198,"released_at":199},297515,"v1.12.4","# MegEngine\n## 亮点\n* 训练端默认开启 CUDA_MODULE_LOADING，节省了 fatbin 加载带来的 CUDA 显存开销（对于 cuda 版本为118及以上的包有效），您将有更多的显存可以使用。（使用的 kernel 种类越少，节省效果越明显，最多可为您节省 900MB 显存）\n* 包括此版本在内的近两个版本（v1.12.4，v1.13）会保持对 cuda10.1、cuda11.4 的支持，后续将不再支持 cuda10.1，请您知晓～\n### Bug修复\n#### Python API\n* 修复了 F.flatten 和 Tensor.flatten 签名未对齐的问题，目前两者均统一为 flatten(start_axis, end_axis)。\n* python 层 multiheadattention functional\u002Fmodule 接口格式修改，用于后续进一步解决原始接口中存在的不能给出中间的 attn matrix、qkvo projection bias 不可组合等问题。\n* c++ 层 multiheadattention functional\u002Fmodule 接口格式修改，用于后续进一步解决原始接口中存在的不能给出中间的 attn matrix、qkvo projection bias 不可组合等问题。\n\n\n#### Dataloader\n* 修复 dataloader 中读取系统内存大小后未关闭相关文件导致的 warning。\n\n\n#### 通用组件\n* 修复 trace 时如果 tarced_function 的 return 是复杂嵌套类型，报错信息不直观的问题。\n* 修复 gitlab 登录 windows 环境打印的错误信息乱码问题。\n* 修复了开启 DTR 情况下多卡训练概率性崩溃的问题。\n\n\n#### 周边工具\n* 完善 windows 平台下 whl 包的环境依赖。\n\n\n#### ARM\n* 修复了 macos aarch64 下开启 fp16 编译失败的问题。\n\n#### 文档\n* 修复 readme 的拼写错误。\n\n\n### 新特性\n#### Python API\n* profiler 为 functional 添加 scope，用于记录其调用的层次结构（目前支持 functional\u002Fmodule scope）。 \n\n#### CUDA\n* 新增对 aarch64 下 cuda11.8 的编译支持。\n* 支持并完善 windows cuda118 工具链。\n* 训练侧默认开启 CUDA_MODULE_LOADING，节省了 fatbin 加载带来的 CUDA 显存开销（对于 cuda 版本为118及以上的包有效），您将有更多的显存可以使用。\n\n\n\n#### 通用组件\n* profiler 新增了两个指标，以帮助您更直观地获取当前模型训练的性能指标（具体可见MR内容）。gpu 忙碌比：gpu_usage_ratio，gpu 训练时间占整体训练时间的比例；model.step 时间占比：train_time_ratio，实际用于训练的时间（各 epoch 的第一个 step 开始到最后一个 step 结束的时间之和）占整体训练时间的比例。\n* 完善 unsupported opr 的报错 log，便于您直接获取到所输入的模型中具体没有实现的 opr 信息。\n* 加入对复数的支持，包括四则运算、求导、拆包、打包等基本运算（新增 op： F.polar，F.imag，F.real，F.complex；添加了复数支持的旧 op：add，sub，mul，negate，reshape）\n\n\n\n### 改进\n#### 通用组件\n* 完善 symbolic trace 中部分不能通过静态推导值的 tensor 调用 numpy 方法时的报错信息，使之更完整合理。\n\n#### 量化\n* 量化添加对 linear_bn，linear_bn_relu 的支持。\n\n\n# MegEngine\n## 亮点\n* 训练端默认开启 CUDA_MODULE_LOADING，以节省 fatbin 加载带来的 CUDA 显存开销（适用于 cuda 版本为118及以上的情况），从而为您提供更多可用显存。（使用的 kernel 类型越少，节省效果越显著，最多可为您节省 900MB 显存）\n* 近两个版本（V1.12.4、V1.13），包括本版本，将继续支持 CUDA10.1 和 CUDA11.4。未来将不再支持 CUDA10.1，请知悉～\n\n\n### Bug修复\n#### Python API\n* 修复了 F.flatten 和 Tensor.flatten 的签名不对齐问题。目前两者已统一为 flatten(start_axis, end_axis)。\n* 对 python 层 multiheadattention 的 functional\u002Fmodule 接口格式进行调整，旨在进一步解决原接口中无法输出中间注意力矩阵、qkvo 投影偏置不可组合等问题。\n* 对 C++ 层 multiheadattention 的 functional\u002Fmodule 接口格式进行调整，同样是为了进一步解决原接口中无法输出中间注意力矩阵、qkvo 投影偏置不可组合等问题。","2023-06-08T10:48:00",{"id":201,"version":202,"summary_zh":203,"released_at":204},297516,"v1.12.3","# MegEngine\n## 亮点\n* 添加 general_norm 算子，支持对指定轴进行 norm 操作。例如 shape=[1,3,256,256]，给定 list [0,3]，表明对第 0 维和第 3 维进行 norm。\n* 新增 multiattention 的 cuda 后端实现。\n\n### Bugfix\n#### CUDA\n* 修复 MegEngine CUDA 在 ubuntu 22.04 上构建失败的问题。\n* 修正在 mali 2.0 驱动上开启 ION 后部分模型会 crash 的问题。\n* 修复部分用户环境无法识别 CUDA 卡的问题。\n\n#### 量化\n* 修复 lsq fakequant 无法从普通 observe 获取量化参数的问题。\n\n#### 通用组件\n* 修复 logsigmoid 在某些情况下反向会溢出的问题。\n* 修复 float16 winograd f43 分块的计算错误问题。\n* 修复在开启 sublinear 后并未节省内存的问题。\n* 修复多线程加载模型时概率性 crash 的 bug。\n* 修复因 ParameterizedDType 初始化存在 race condition 导致的模型推理崩溃的 bug。\n* 修复 imperative runtime 退出时析构顺序问题导致程序Segmentation fault 的 bug。\n* 修复 DeformableConv 在 cpu backend 下不支持 algorithms 接口的问题。\n* 完善 trace 在没有输出情况下的报错信息，使其更加友好。\n* 修复 GeneralNorm 的weight、bias参数对初始化时机敏感的问题，以确保其在调用forward前被正确attach。\n* 完善 trace 输入非法时的报错信息，使其更友好；修复 jit.dump 导出模型可能出现（例如调用apply_on_var_node 构造包含多个 operator node 子图的算子时） OpNode 和 VarNode 名字重复的问题。 \n* 修复分布式训练由于多 stream 内存管理导致的内存泄露问题。\n\n\n### 新特性\n#### CUDA\n* 添加 general_norm 算子，支持对指定轴进行 norm 操作。例如 shape=\\[1,3,256,256]，给定 list\\[0,3]，表明对第 0 维和第 3 维进行 norm。\n* 新增 multiattention 的 cuda 后端实现。\n\n#### 通用组件\n* 增加 elemwise 操作数为 None 时的合理报错信息。\n* profiler 增加记录 python 和 dispatcher 调用栈的功能。\n* 在 Lite::TensorBatchCollector 中增加通过 id 获取对应 tensor 的接口。\n* 优化 PyMegEngineLite 开发体验: 编译完成后直接执行 PYTHONPATH=lite\u002Fpylite:$PYTHONPATH python3 就可以开始使用 MegEngineLite python 接口。\n\n\n### 改进\n#### 文档\n* readme 中添加编译工具链选择的相关内容。\n* 修正 api 文档的一些错误内容。\n\n\n\n# MegEngine Lite\n### Bugfix\n#### 通用组件\n* 修复 MegEngineLite load and run 中 lar fitting 模式不支持 ioc16 的问题。\n* MegEngineLite python3 支持从网络接口文件加载模型（目前支持 oss 直接读取与 fileobject 的方式）。\n\n\n# MegEngine\n## 亮点\n\n### Bugfix\n#### Python API\n* 修复 general-norm 中始终为真的断言问题。\n\n#### CUDA\n* 修复 ubuntu 22.04 下主机端构建失败的问题。\n* 修复部分用户环境无法识别 CUDA 卡的问题。\n\n#### 量化\n* 修复 lsq fakequant 无法从普通 observe 获取量化参数的问题。\n\n#### 通用组件\n* 修复 logsigmoid 在某些情况下反向传播时会溢出的问题。\n* 修复 winograd (f16) f43 分块计算错误。\n* 修复开启 sublinear 后未节省内存的问题。\n* 修复多线程加载模型时概率性崩溃的漏洞。\n* 修复 ParameterizedDType 初始化时出现竞争条件导致模型推理崩溃的问题。\n* 修复 imperative runtime 退出时析构顺序不当引发程序段错误的漏洞。\n* 修复 DeformableConv 核心在 CPU 后端不支持 algorithms 接口的问题。\n* 改进 trace 错误提示信息，当用户调用 trace 函数但无输出时，错误提示将更加友好。\n* 修复 GeneralNorm 参数获取问题，确保其在调用 forward 之前已正确绑定。\n* 改进非法输入时的错误提示信息，使其更加友好；修复 jit.dum","2023-04-21T10:33:31",{"id":206,"version":207,"summary_zh":208,"released_at":209},297517,"v1.12.2","# MegEngine\n## 亮点\n* ARM CPU FP16 推理性能大幅提升，以 vgg16 模型为例，在 mi9 设备上耗时由 481.252ms 减少为 168.300ms。在 dump 的时候加上 --enable-ioc16 即可。\n* 新增对 CUDA118_CUDNN860_TRT8531 构建的支持。\n* 添加 ConcatDataset 数据类型用于合并多个现有数据集，相关文档见 [ConcatDataset](https:\u002F\u002Fwww.megengine.org.cn\u002Fdoc\u002Fstable\u002Fzh\u002Freference\u002Fapi\u002Fmegengine.data.dataset.ConcatDataset.html#megengine.data.dataset.ConcatDataset) 。\n\n\n### Bug修复\n#### 发版流程\n* 修复 split 在未指定输出 shape 时 dump 失败的问题。\n\n#### Python API\n* 修复 indexing 操作 （getitem） start 为空，step 为负数时崩溃的 bug（例如a[::-1]）。\n* 修复 indexing 操作（setitem）dtype promotion 行为与 numpy 不一致的 bug。\n\n#### CUDA\n* 修复 TRT 加载出错或运行出错时，日志未显示 error 信息的 bug。\n\n#### ARM\n* 修复 thread_local 在 android 平台存在内存泄漏问题。\n\n#### 通用组件\n* 将 tensor 的 dtype 属性和 np.dtype 对齐。\n* 修复 channel wise conv channel padding 时，pass 出错的问题。\n* 修复 cpp 为 opt 版本时，MGB_USE_MEGDNN_DBG不生效的问题，修复前此 env 仅在 python whl 版本和 c++ debug 版本可用，修复后在任何版本都生效。\n* 修复开启 no_profile_when_shape_change 选项时 cudnn 概率性选不中算法的问题。\n* 修复 nchw44 布局的 channel padding pass 中 reduce axis 为负数时发生的crash。\n* 修复开启 DTR 时，使用 stack\u002Fconcat 算子程序崩溃的问题\n* 修复在 c++ 模型上做图手术后部分 op（ConvTranspose，MatrixMul）参数信息丢失的问题。\n* 修复 traced module 部分 api（topk，arange, full, linspace, conv_transpose2d\u002F3d, quantized.convtranspose2d）的兼容性问题，以解决新版本（v8.19.1）无法 load 历史版本 .tm 模型的问题。\n* 修复 TracedModule 的 BackwardFoldScale pass 上可能（受模型复杂程度影响）会出现的死循环问题。\n\n\n### 新特性\n#### Dataloader\n* 添加 ConcatDataset 数据类型用于合并多个现有数据集。\n\n#### Python API\n* 添加 `F.nn.instance_norm` 接口。\n\n#### CUDA\n* 新增对 CUDA118_CUDNN860_TRT8531 构建以及 Nvidia 4X sm_89 卡的支持。\n\n#### ARM\n* 新增 fp16 hybird direct 卷积。\n* 新增 conv1x1 对fp16 nchw88 的支持。\n* 添加 ARM CPU 平台的 Float16 NCHW88 Winograd 算法，提升 Float16 计算性能，以 Vgg16 模型为例，耗时由481.252ms减少为168.300ms。\n* 新增 Float16 MK8 8x8 matmul 算法。\n\n#### 通用组件\n* megengine 算子支持 shape 中包含0的 tensor 作为输入。\n\n#### 分布式训练\n* 移除分布式训练的 shared memory 后端。\n\n\n### 改进\n#### 通用组件\n* 对部署在 dlopen\u002Fdlclose 的用户场景，建议开启编译链接 c++_shared。内部 megvii3 用户，BUILD 目标配置 is_linking_system_dynamic_library = True；CMake 用户：编译参数追加 EXTRA_CMAKE_ARGS 包含 -DANDROID_STL=c++_shared 配置，比如编译 android 版本可执行EXTRA_CMAKE_ARGS=\\\" -DANDROID_STL=c++_shared\\\"  .\u002Fscripts\u002Fcmake-build\u002Fcross_build_android_arm_inference.sh。\n\n#### ARM\n* 优化 ARM FP16 gevm 性能（在 aarch64 的不同 shape 上对 gflops 指标进行测试，95% 的 shape 有11%～156% 不等的性能提升）。\n\n\n\n# MegEngine Lite\n### Bugfix\n#### 通用组件\n* 修复 lite io 接口设置多输出模型的 output 属性不生效问题。\n* Load and run 支持对 mgv2 格式模型的自动识别，修复了使用 megenginelite 接口进行推理导致的一些优化选项无法使用的问题，目前接口推理采用 megengine。\n\n### New Features\n#### 通用组件\n* load_and_run 支持在线 float32 转 float16（通过 --enable-ioc16 开启）。\n\n\n\n\n# MegEngine\n### Bug fixes\n#### Release Process\n* Fix the problem that dump fails when split does not specify an output shape。\n\n#### Python API\n* Fix the bug that the indexing operation (getitem) crashes when the start is empty and the step is negative (e.g.  a[::-1])。\n* Fix the bug that the behavior of indexing operation (setitem) dtype promotion is inconsistent with numpy。\n\n#### CUDA\n* Fix the bug that the log d","2023-03-03T02:31:39",{"id":211,"version":212,"summary_zh":213,"released_at":214},297518,"v1.12.1","# MegEngine\n\n### Bug修复\n\n#### Dataloader\n* 修复 1.12.0 版本中 Dataloader 无法将 Infinite 作为输入的问题。\n\n#### CUDA\n* 修复当 cuda\u002Fcudnn 头文件位于 CPATH 中，且 MGE_WITH_CUDA=OFF 时的编译错误。\n\n#### 通用组件\n* 在 Android 构建时将 C++ 标准显式调整为 C++17，以解决第三方通过 add_custom_command 调用 MegEngine 构建时无法编译 libion 的问题；修复 load_and_run --iter 0 时日志乱码的问题。\n* 修复在开启 no_profiling_on_shape_change 时，因错误重置低比特量化 Tensor 的 layout 导致的报错。\n* 修复动态 shape 子张量通道填充的断言错误。\n\n\n# MegEngine\n### Bugfix\n#### Dataloader\n* 修复 v8.19.0 版本中 Dataloader 无法将 Infinite 作为输入的问题。\n#### CUDA\n* 修复当 cuda\u002Fcudnn 头文件位于 CPATH 中，且 MGE_WITH_CUDA=OFF 时的编译错误。\n#### 通用组件\n* 将 Android 构建时的 C++ 标准配置为 C++17，以解决通过 add_custom_command 调用 MegEngine 构建时构建失败的问题；在使用 load_and_run 并设置 iter 0 时，不再打印 lar 摘要日志。\n* 修复在启用 no_profiling_on_shape_change 时，因错误重置低比特量化 Tensor 布局而导致的 bug。\n* 修复子张量通道填充的断言问题。\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002FMegEngine\u002FMegEngine\u002Fcompare\u002Fv1.12.0...v1.12.1","2023-01-18T09:41:58",{"id":216,"version":217,"summary_zh":218,"released_at":219},297519,"v1.12.0","# MegEngine\n## 亮点\n* 针对 BaseDet 中一些 host bound 严重的算子进行了优化，整体模型较上个版本相比 fp32 下平均提速 12%，fp16 下平均提速 19%，其中包含 group_norm 算子的网络显存降低 20%，在与 cvpack2 中有对应 pytorch 模型的网络相比，速度差距在 2% 以内，基本与 pytorch 对应的模型持平。\n* 修改 「descending」 默认值为 true 以符合惯常情况下大家对 topK 的定义，topk 默认行为由升序改为降序。\n* 增加了对 python 3.10 的支持。\n\n\n### Bugfix\n\n#### Dataloader\n* 修复 Infinite sampler 无法获取 batchsize 的问题，并增加了使用示例与参数说明。\n* 修复 ReplacementSampler 设置采样权重后采样结果不符合预期的 bug。\n* 修复 ReplacementSampler 有 weight 时输出的 indices 不符合预期的问题。\n\n\n#### Python API\n* 修复 deconv 与 bn 融合错误的问题。\n* 修复 softmax 在 cpu 上计算结果不正确的问题。\n* 修复 ImageNet 解压路径错误的问题。\n\n#### 量化\n* 修复 matmul 对量化 dtype 推理错误的问题。\n* 禁止模型以非对称 qint8 的量化模式推理，去除 fake_quant_bias 里的 assert 以支持更多 QAT 量化模式。\n\n\n#### CUDA\n* 修复 Region Restricted Conv 不支持输入的 group 维度等于 1 的情形。\n* 修复使用 --copt “-DMEGDNN_DISABLE_FLOAT16=0” 编译选项时，undefined 的报错。 \n\n#### ARM\n* 修复 fallback im2col 算子所需 workspace 比实际需求大的问题。 \n\n#### X86\n* 修复 x86 INT8 matmul 算子在代码重构时性能变差的问题。 \n\n#### 通用组件\n* 无 cuda 环境中开启 subgraph jit 特性可能导致部分 functional API 调用报错，subgraph jit 特性临时改为默认不开启。\n* 修复模型多次初始化时偶发内存用量不一致的问题。\n* 修复 tensor astype 成量化类型时概率性 segmentfault 问题和内存泄露问题。\n* 修复 v1.11.0 及之后的版本 Elemwise multitype 的 loader 和 dumper 函数无法向前兼容的问题。\n* 对 mge(fbs) 格式化，补充 tensor_value_dumper 和 tensor_value_loader 用户接口，方便用户在模型 dump 和 load 阶段自定义一些行为，比如模型的压缩和解压。\n* 修复模型仅能通过 forward 函数进行参数统计导致的参数缺失的问题。\n* 修复 megengine 训练时默认 async_level 情况下的数据竞争导致的运行中随机报错。\n* 修复 load and run jit 设置对非 CUDA 后端无效的问题，增加了 jit 对 CPU 后端的支持。\n* 修复 dump 量化模型时，开启 enable_nchw4\u002F32\u002F64 等选项报 shape 或 channel 不匹配的问题。\n* 调整编译配置，使之对开发者模式更加友好：只需要设置 PYTHONPATH 到 imperative\u002Fpython 即可， 详细参见 scripts\u002Fwhl\u002FBUILD_PYTHON_WHL_README.md。\n* 移除 python3.8 及之后的 SyntaxWarning。\n* 修复 MegEngine 和 python中 mod 计算结果不一致的问题。\n* 修复 symbolic trace时，3维输入的 matmul 输出 shape 计算错误问题。\n* 修复 ConvolutionBackwardData 算子推断 layout 错误导致的概率性训练崩溃 bug。 \n* 加速 reshape、setsubtensor、subtensor、concat、stack 算子。\n* 修复 NormElemwisePass 中 named_args 接口未更新的问题。 \n\n#### 文档\n* 修复 warp_affine 的文档错误。\n\n\n\n### 新特性\n\n#### Python API\n* deconv 支持 fuse bn 操作。 \n\n#### CUDA\n* CUDA 上customop 支持新的 RuntimeArgs 参数。\n* 取消 RegionRestrictedConv mask 类型为 uint8 时输入和输出 tensor size 必须为4的倍数的限制。 \n\n#### ARM\n* ARM 平台支持 fp16 nchw88 im2col 算法，此算法性能较 fp32 nchw44 快2倍左右，主要用于提升 ARM fp16 模型推理速度。\n* 添加 ARM NCHW88 fp16 pooling 算法。 \n\n\n#### 通用组件\n* Region Restricted Conv 支持 bias。\n* nchw44\u002Fnchw88\u002Fnchw44-dot 三种 layout 在 channel 上不满足要求时会 padding channel。\n* 添加 grouonorm 算子。\n* 增加了对 python 3.10 的支持。\n* 为 custom op 新增 cuda 相关的辅助函数，以允许 custom op 异步执行。 \n\n\n\n### 改进\n\n#### Python API\n* 修改 descending 默认值为 true ，topk 默认行为由升序改为降序。 \n\n#### CUDA\n* 完善了 dump 和 load 使用的 tensorrt 版本不一致时的错误信息。 \n\n\n\n# MegEngine Lite\n### Bugfix\n\n#### 通用组件\n* 修复 lite 运行跨 compnode 的模型时 zero copy 不生效的问题。\n* 修复 lite zero copy pass 触发 的 UAF 问题。 \n\n#### 周边工具\n* 修复 load_and_run fitting 模式下 fast-run 不工作的问题。 \n\n\n\n\n\n\n# MegEngine\n### Bugfix\n\n\n#### Dataloader\n* Fixed the problem that Infinite sampler cannot getbatchsize, and added usage e","2022-12-24T11:22:23",{"id":221,"version":222,"summary_zh":223,"released_at":224},297520,"v1.11.1","# MegEngine\r\n### Bugfix\r\n#### 通用组件\r\n* 修改分组卷积计算中通道不匹配时的错误信息，使其更好理解。\r\n#### CUDA\r\n* 修复 import megengine 时，cuda 版本检测时报错信息冗余的问题，使报错信息更加合理。\r\n* 修复了 TRT7 带来的内存泄漏问题。\r\n* 修复了某些情况下找不到  libnvrtc-builtins.so 的问题。\r\n\r\n#### 模型序列化\r\n* 序列化 fbsv2 模型时，用户可配置是否序列化中间 tensor 信息，当不序列化中间 tensor 信息，可以压缩模型大小。\r\n\r\n\r\n#### 周边工具\r\n* 修复 megbrain 访问 redis server 时，对同一个 std::future 反复调用其 get 接口，进而产生的 future_error：no state 问题。\r\n\r\n#### 量化\r\n* 修复 SyncExponentialMovingAverageObserver 在单机场景下不可用的问题。\r\n\r\n#### Python API\r\n* 修复 deconv 的 flops 统计错误的问题。\r\n* 修复 Tensor 值小于 1e-4 时，打印显示为0的问题。\r\n* 增加非 float32 的输入支持，在输入类型不满足要求但仍然是数值时，输出一个元素全为 False 的 bool 类型 Tensor。\r\n\r\n\r\n\r\n\r\n### New Features\r\n* 新增 meshgrid 算子的实现。\r\n\r\n\r\n#### Python API\r\n\r\n#### 通用组件\r\n* 为 conv_transpose 添加output_padding参数，用来控制输出的图像尺寸。\r\n* 将 MegEngine 中使用 flatbuffer 定义的模型格式文件上传到 github 中。\r\n* 新增 warp_affine 算子反向的支持。\r\n\r\n\r\n#### ARM\r\n* 增加 ARM nchw 的 winograd f43 算法的实现，优化 nchw 下 arm 的 部分 conv3*3 的速度，有6%～74%的提升。\r\n* 增加 ARM nchw44 的 winograd f43 实现。\r\n\r\n\r\n### Improvements\r\n\r\n#### ARM\r\n* 优化 arm fp32 的 sigmoid，推理速度有 10% 的性能提升。\r\n\r\n\r\n\r\n#### 文档\r\n* 优化文档中关于 batch_norm 的参数及使用介绍的描述，使之更完整明确。\r\n* 更新 max_pool2d\u002Fcopy 接口文档，使之更完整明确。\r\n* 优化部分 python 接口的 docstring。\r\n\r\n\r\n#### Dataloader\r\n* 优化 dataloader，在 basekps 上的性能平均提高5倍。\r\n\r\n\r\n\r\n\r\n\r\n\r\n# MegEngine\r\n### Bugfix\r\n#### Common components\r\n* Modify the error infomation of group convolution when input channel mismatch more readable.\r\n\r\n\r\n#### CUDA\r\n* Making the error message of cuda version detection more reasonable when importing megengine.\r\n* Fix TRT7 workspace memory leak.\r\n* Fix missing libnvrtc-builtins.so in some environments.\r\n\r\n\r\n#### Model serialization\r\n* When serializing the fbsv2 model, the user can configure whether to serialize the middle_tensor tensor information.\r\n\r\n\r\n#### Peripheral tools\r\n* Fixed the future_error: no state generated by megbrain calling its get interface repeatedly to the same std::future when accessing the redis server.\r\n\r\n#### Quantify\r\n* Fix SyncExponentialMovingAverageObserver is not available in non distributed mode.\r\n\r\n#### Python API\r\n* Fix stats error for deconv flops.\r\n* Fix the problem that the tensor value is printed as 0 when it is less than 1e-4.\r\n* Add non-float32 input support, output a bool type Tensor whose elements are all False when the input type does not meet the requirements but is still numeric.\r\n\r\n\r\n\r\n### New Features\r\n\r\n#### Python API\r\n* Add meshgrid opr.\r\n\r\n\r\n#### Common components\r\n* Add the output_padding parameter for conv_transpose to control the output image size.\r\n* Upload the model format file defined by flatbuffer in MegEngine to github.\r\n* Support the backward of warp_affine operator.\r\n\r\n#### ARM\r\n* Added winograd f43 implementation for ARM nchw.\r\n* Add FP32 winograd F43 NCHW44 algo.\r\n\r\n\r\n\r\n### Improvements\r\n\r\n#### ARM\r\n* Optimize the sigmoid of arm fp32, improve the performance by 10%.\r\n\r\n\r\n#### CUDA\r\n\r\n#### Document\r\n* Optimize the description of the parameters and usage of batch_norm in the document to make it more complete and clear.\r\n* Update the interface document of max_pool2d\u002Fcopy operator.\r\n* Optimize the docstring of some Python API.\r\n\r\n#### Dataloader\r\n* Optimizing dataloader, the performance on basekps is improved by an average of 5 times.\r\n\r\n","2022-11-04T07:45:39",{"id":226,"version":227,"summary_zh":228,"released_at":229},297521,"v1.11.0","# MegEngine\r\n## HighLight\r\n* 新增 CUDA INT4 支持。在 cuda11.4 + cudnn8.2.1 + trt7.2.2.3 + A2 卡上验证，和 Float32 相比，ResNet-50 Acc top1 精度损失 0.993%，速度提升5.8倍（557.969ms ->96.726ms ）; 和 INT8  相比，ResNet-50 Acc top1 精度损失 0.131%，速度提升 1.3 倍(125.76ms -> 96.726ms)。详情参考[MegEngine example](https:\u002F\u002Fgithub.com\u002FMegEngine\u002Fexamples\u002Ftree\u002Fmain\u002Fint4_resnet50_test) 。\r\n尝鲜通道： `python3 -m pip install megengine==1.11.0+cu114 -f https:\u002F\u002Fmegengine.org.cn\u002Fwhl\u002Fmge.html`\r\n* Netron 可以可视化 Traced Module 了！欢迎大家体验： https:\u002F\u002Fnetron.app\u002F\r\n\r\n\r\n### Bugfix\r\n#### 发版流程\r\n* 修复 traced module 中重命名张量导致的错误。\r\n\r\n#### 通用组件\r\n* 修复 fastrun 过程中跳过算法的判定条件。\r\n* 修复 fastrun 过程中显存占用过多触发的 OOM 错误。\r\n* 修复 Windows7 + 32bit + 多线程组合情况下， 进程无法退出问题。\r\n* 修复了参数初始化时 tensor 格式信息丢失的问题。\r\n* 修改 nchw44 broadcast_vec 的场景下的算法选择, 修复 nchw44 的 elemwise 性能缺陷。\r\n* 修复源码污染问题，使得 git status 恢复只显示用户本人的改动信息。\r\n* 优化卷积通道不匹配，Matmul shape 不匹配时的输出信息，使其更好理解。\r\n* 修复读取 persist cache 过程中由于网络原因导致的偶发性数据读取异常问题。\r\n* 修复参数 tensor 初始化中未考虑 DTR 导致的卡死问题。\r\n* 修复 softmax 运行时动态创建 elemwise 等 opr 导致不能开 record2 优化的问题\r\n* 修复 elewise multitype 所引发的前向兼容的问题，使得之前的 load and run 可以正常运行该版本 dump 下来的模型。\r\n* 修复 Repeat 算子无法开启 trace 模式的问题。\r\n* 修复 load_and_run fitting 模式下仅指定输入 shape 或给定输入 batch-size 时设置无效等问题。\r\n* 修复 ReduceMean 不同版本之间以及相同版本的 CPU 与 GPU 之间误差较大的问题。\r\n* 修复 1.10 版本的模型内存占用增大的问题。\r\n\r\n\r\n#### CUDA\r\n* 修复 cutlass 编译 SM86 时间过长或者编译失败问题。\r\n* 更改多卡环境的检测逻辑。取消初始化时对当前所有显卡是否支持 import megengine 的检测与提示，只有当运行时所使用的显卡不支持 import megengine 时才报错。 \r\n* 修复 cudnn8 的编译不通过的问题。\r\n* 修复了 TensorRT8 在编译由于不指定 LIBRARY_PATH 导致失败的问题。\r\n\r\n\r\n#### 周边工具\r\n* 修复 load_and_run 中 record_comp_seq 没有生效的问题。\r\n* 修复[参数和技术量统计工具](https:\u002F\u002Fwww.megengine.org.cn\u002Fdoc\u002Fstable\u002Fzh\u002Fuser-guide\u002Ftools\u002Fstats.html)中由于 long 类型的表示范围限制导致模型计算量的计算不准确的问题。\r\n* 修复 load_and_run  中模型包含测试用例在全局图优化 dump 模型时报错的问题。\r\n* 修复参数量和计算量统计工具 module_stats 重复统计共享权重的问题。 \r\n* 修复 `megengine.tools.network_visualize` 不支持CondTake 导致报错的问题。\r\n* 修复 load and run 设置 multithread 后，没有加速效果的bug。\r\n\r\n#### ROCM\r\n* 修复 ROCM 平台由于缺少 conv bias 的实现导致的卷积算子无法执行的问题。\r\n\r\n#### 分布式训练\r\n* 修复多卡训练时设置 async_level 为0会导致训练卡死的问题。\r\n\r\n\r\n### New Features\r\n\r\n#### Python API\r\n* 新增暴露如下API： is_cambricon_available、is_atlas_available、is_rocm_available、what_is_xpu。\r\n\r\n#### 通用组件\r\n* resize 反向传播支持 fp16 及 nhwc 的数据格式\r\n* CPU 和 CUDA 的 algo policy 的 cache 写入方式改为追加模式  \r\n* elemwise multitype 中添加输出类型为 bool 的 opr，以提升`megengine.functional.isnan`、`megengine.functional.not_equal`、`megengine.functional.less_equal`、`megengine.functional.greater_equal`、`megengine.functional.greater`、`megengine.functional.less`、`megengine.functional.isinf` 、`megengine.functional.equal` 这些 opr 的性能，优化后整体和 pytorch 一致，其中`megengine.functional.isinf` 、`megengine.functional.equal` 优于pytorch表现。\r\n* 增加可以查询whl包中的 trt、cudnn 版本、cuda 版本的接口：`megengine.get_cuda_version`、`megengine.get_cudnn_version`、`megengine.get_tensorrt_version`\r\n* 使用 VF 指令优化 X86 和 RVV 的 GI 直接卷积, winograd 卷积, nchw_nchw44 卷积, 矩阵乘性能。经过验证 ResNet18 在 amax04 有 50ms 性能提升。\r\n矩阵乘：12 Gflops -> 20 Gflops E5-2620 v4 @ 3.0GHz amax, 0.3 Gflops -> 1.2 Gflops @ nezha D1\r\n* GI algo RVV 去掉 FIXLEN 的依赖, 避免 FIXLEN 产生多余的 load\u002Fstore 操作，加速推理过程，RVV 上 resnet18 模型有 5%～10% 的提升。\r\n* 优化 softmax 的实现。在 arm 的设备上，优化后的 softmax 实现相较于之前代理版 softmax 性能提升 10 倍左右。\r\n* 新增支持 TensorRT8 的编译的工具链。\r\n* load_and_run 增加 mdl 模型可用的 optimize_for_inference 优化选项，可以用来实现 optimize-for-inference 的图优化, 如bn融合。\r\n\r\n#### ARM\r\n* 针对 pooling 算子，支持 nchw44 format 下的 reduce 和 elemwise 算子融合。\r\n\r\n#### 第三方硬件\r\n* 优化 X86+RISC-V 的性能，在resnet18 上验证加速 1.1 倍。\r\n\r\n#### 周边工具\r\n* load and run 添加运行时给定 loader init 接口的功能，使业务侧业务的 loader 在修改 init api 名字后指定参数可以继续加载。此功能使用参数：--c-opr-init-interface 。\r\n使用示例：` .\u002Fload_and_run --c-opr-init-interface=\"your_loader_init_API\" `。\r\nc-opr-init-interface 的默认值为 mgb_c_opr_init 。举例在业务中业务可能使用的值为： anc_c_opr_init。\r\n* load_nerwork_and_run 支持权重预处理以及设置warm up iter数。\r\n\r\n#### 发版流程\r\n* 添加 cu114 whl包的生成方式。\r\n\r\n\r\n### Improvements\r\n\r\n#### ARM\r\n* 优化 CPU 上 reduce Opr 在 shape (xxx，xxx, 2\u002F3\u002F4) 的最后维度进行 reduce 时候的前向计算性能，提升约10倍。\r\n\r\n#### CUDA\r\n* 优化 conv2d padding mode 为 reflect 时的性能，大 shape 场景下提升明显，经过验证提升约50%。\r\n\r\n#### 文档\r\n* 优化 functional.vision 模块中 roi_pooling，roi_align，nms，remap，warp_affine，warp_perspective，interpolate 的文档描述。\r\n* 优化 pad 的文档中关于 mode 参数的描述，使之更准确。\r\n* 优化 dataloader、Dataset、MNIST dataset 的文档描述，使之更完整明确。\r\n\r\n\r\n\r\n\r\n# MegEngine Lite\r\n\r\n### Bugfix\r\n* 修复 MegengineLite 的 python 接口中 get_io_tensor、slice 及 concat 接口反复调用导致的内存泄漏问题。\r\n* 修复 lite 中同时开 fast_run 和 nchw44 会挂的问题。\r\n\r\n\r\n### New Features\r\n* MegEngine Lite的 LiteConfig 增加 auto_optimize_inference 选项进行设备检测，可以根据推理时的CPU信息自动设置对应的 layout 优化选项。\r\n* 添加 Lite 中 set_data_by_share 和 set_data_by_copy 接口，当输入是 numpy ndarry 时必须是连续的断言。","2022-09-01T07:55:43",{"id":231,"version":232,"summary_zh":233,"released_at":234},297522,"v1.10.0","# MegEngine\r\n\r\n## HighLight\r\n* MegEngine 模型支持前向兼容性。即新版本的 MegEngine  序列化的模型可以在老版本的 MegEngine 加载。\r\n    * 从该版本及以上的版本，具备向前兼容的能力。\r\n    * 部分场景不具备向前兼容的能力。例如使用了新版本中新增的 opr，此时则不可向前兼容。\r\n* 增加 python3.9 的支持。\r\n\r\n### Know Issue\r\n* v1.10 trace 模式下 sublinear 和静态图 dtr 是失效的。\r\n* 2080ti cuda 上 ResNet50 推理耗时略慢于 v1.9。\r\n* 树莓派上 VGG 推理耗时略慢于v1.9。\r\n\r\n\r\n### Bugfix\r\n#### Python API\r\n* 限制把输入自动转换成 tensor 的场景：仅 elemwise 会自动转换输入为 tensor。\r\n* 修复 `megengine.functional.matmul` 在动态图模式下反传时挂掉的问题。\r\n* 修复 `megengine.functional.transpose` 的 shape 推断错误。\r\n* 修复 conv 反传和 `megengine.random.RNG` 算子中空 tensor 的问题。\r\n* 限制 trace 模式下的 `megengine.functional.concat` 的 apply 时输入是非 tensor 的类型转换。\r\n* 修复 `megengine.functional` 里比较函数结果的 dtype 不为 bool 的问题。\r\n\r\n\r\n#### 混合精度训练\r\n* 修复 v1.9 版本在 BaseCls 上部分网络显存占用增大的问题。\r\n\r\n#### 通用组件\r\n* 修复 fp16 参数使 AMP 不能工作的问题。\r\n* 修复cpuinfo版本，以避免ARM上dlopen时可能造成内存泄露的问题。\r\n* 修复 adaptive_pooling 在推不出 shape 时 ndim 不正确设置的问题。\r\n* 修复 riscv64 gcc 使用大于 O0 的编译优化选项报错的问题。\r\n* 修复异步读写 tensor shape 的错误。\r\n* 修复 advanced indexing 在一个元素被多次取出时的求导错误。\r\n* 修复commit改变会导致大量文件重新编译的问题。\r\n* 修复 fastrun 与 heuristic 混用时缓存混乱的问题。\r\n* 修复某些情况下在 fork 之后，使用 `megengine.get_cuda_compute_capability` 接口获取 cuda 环境报错的问题。\r\n* 修复不能 attach 已经在求导路径上的 Tensor 的问题。\r\n* 修复类似 softmax 等通过其他 Opr 组合完成计算的 Opr 在 midout 之后运行奔溃问题。\r\n* 修复 pooling，matmul 中执行 policy 缺失的问题。\r\n* 修复使用 MegEngineLite 推理，并 reset memory 之后报错的问题，具体为修复 reduce opr 中，当 input 的内存地址发生改变时报错的问题，在实际执行前增加了 update 的功能。\r\n* 修复 path 里不带 nvcc 时使用 jit 相关的函数会挂的问题。\r\n* 修复 reduce 算子在 v1.9 其参数 keepdims 的默认值从 True 修改为 False 后，reduce 前后 dim 维度不一样的问题。\r\n* 修复 layernorm 训练不稳定、normalize 的维度较小时速慢的问题。\r\n\r\n* 修复在极小的概率下 tensor 产生时 shape 信息不全导致获取 shape 时出现卡死的情况。\r\n* 修复在 adaptivate_pooling 中输入 tensor 作为 tshape 时抛出异常的问题。\r\n* 修复 reduce 在 backward 构建反向图时，不参与反向计算，没有梯度时抛出异常的问题。\r\n* 使输入带 axis 选项的 op 都支持负数 axis。\r\n* 修复使用 GraphInference 跑 mge 计算图时出现的内存泄漏的问题\r\n* 修复 fastrun 过程中跳过算法的判定条件。\r\n* 修复 fastrun 过程中显存占用过多触发的 OOM 错误。\r\n* 修复 maximum(x,x) 求导错误的问题。\r\n* 在 cmake中 添加 MGE_WITH_BENCHMARK 选项，允许开启 DNN 中 BENCHMARK 的编译。\r\n* 修复 Function 中的 inplace 操作。\r\n* 修复 broadcast_to 不能被 trace 的问题。\r\n* 使用 tensor 去构造新 tensor 时检查 dtype, device 等其他参数。\r\n\r\n#### 发版流程\r\n* 修复 traced module 中重命名张量导致的错误。\r\n* 修复 traced module 中可能错误抛出异常的问题。\r\n* 修复 traced module 中的兼容性问题\r\n\r\n#### ARM\r\n* 修复 ARM 上执行 NHWCD4 模型的报错信息。\r\n\r\n#### 周边工具\r\n* 修复 load_and_run fitting 模式下用户开启 const_shape 时 shape 变化的模型抛出异常的问题。\r\n* 修复 load_and_run 中 record_comp_seq 没有生效的问题。\r\n* 修复 profile 时 altas 的 event sync 的问题。\r\n\r\n\r\n### New Features\r\n#### Python API\r\n* 移除 Imperative python 接口里的 Symbolvar，并将其功能由 Tensor 实现（兼容之前的 mgo 图手术代码）。\r\n* 新增了支持大 batch size 训练的 lamb 优化器。 \r\n* `megengine.functional.nn.roi_align` 算子支持空 tensor 的输入。\r\n* 添加 swapaxes 接口支持维度交换功能。\r\n\r\n#### 通用组件\r\n* 优化 third_party 的准备工作，增添可选项，改善只训练或者只推理用户的体验。在 cmake 前添加 `EXTRA_CMAKE_ARGS=\"-DMGE_SYNC_THIRD_PARTY=ON\"` ，会自动调整编译所需的 THIRD_PARTY 库。\r\n* 增加检查本机 CUDA 版本和 当前 MegEngine 依赖的 CUDA 版本是否匹配，如果不匹配打印 warning 信息，如下图所示。\r\n* 支持对 uint16 tensor 进行 astype 。\r\n* 在 fastrun  的 profile 模式中添加 warmup，以提高评判的准确。\r\n* MegEngine 模型支持前向兼容性。即新版本的 MegEngine  序列化的模型可以在老版本的 MegEngine 加载。\r\n* 补全 gi 对 risc-v 的支持。\r\n* 增加 python3.9 的支持。\r\n\r\n\r\n#### ARM\r\n* 在 arm_common 中添加了 chanwise 的 9x9点 和 11x11 点积运算；9x9 的情况下有 25% 的无用计算, 11x11 的情况下无用计算只有 8.3%, 在满足对齐的情况下测试 9x9 与 11x11 耗时差距不大， 因此推荐使用 11x11 的版本。\r\n* 在 dnn\u002Fsrc\u002Ffallback\u002Fmatrix_mul 下实现一个 gi 版本的 gemm 非 mk4 的版本。\r\n\r\n#### CUDA\r\n* 支持 int1 conv 的基本实现。\r\n\r\n#### 三方硬件\r\n* 支持 Atlas710 的硬件。\r\n\r\n#### 周边工具\r\n* 优化了 [cmake 编译说明](https:\u002F\u002Fgithub.com\u002FMegEngine\u002FMegEngine\u002Fblob\u002Fmaster\u002Fscripts\u002Fcmake-build\u002FBUILD_README.md) , 如有问题欢迎提交 PR 修改或在[论坛](https:\u002F\u002Fdiscuss.megengine.org.cn\u002F)提出反馈。\r\n* 在 load_and_run 中添加了 fitting 模式接口。\r\n* load_and_run --input 选项新增指定输入 shape 的用法。使用格式：--input=\"data_name:{d0,d1,d2, ...,dn}\" 。\r\n* load_and_run 新增 layout_transform_batch_size 选项，支持指定全局图优化输入的 batch size。\r\n\r\n### Improvements\r\n#### Python API\r\n* 提高 `megengine.functional.nn.pixel_shuffle` 在小 shape 下的性能，可达 500%。\r\n* 提高 `megengine.functional.matmul`  在小 shape 下的性能约 15%。\r\n\r\n\r\n#### 通用组件\r\n* 优化跨 stream 张量复制。\r\n* 优化 adaptive_pooling 实现。imperative 情况下的 `megengine.functional.nn.adaptive_avg_pool2d`  `megengine.functional.nn.adaptive_max_pool2d` 速度提升约 6.5 倍。\r\n* 优化 `megengine.functional.nn.conv_transpose3d` 实现。imperative 情况下的速度提升约 2 倍。\r\n* 优化 pooling 实现。imperative 情况下 `megengine.functional.nn.avg_pool2d`  `megengine.functional.nn.max_pool2d`的速度提升约 5 倍。\r\n* 优化 `megengine.functional.nn.conv_transpose2d ` 实现。imperative 情况下的速度提升约 3 倍。\r\n* 在 heuristic cache 中使用简单构造 key 的方式，获得性能提升。\r\n* 重写 matmul 和 batchmatmul 的自定义求导规则，提升matmul batchmatmul 反向计算速度， 与 1.9 版本相比， vit 模型训练单个迭代训练时间从  354ms 降低到 350ms。 \r\n* 缩小单个 sm cuda 编译时间到原来的 2\u002F3。\r\n\r\n#### CUDA\r\n* 优化大尺寸卷积的 CUDA direct 算法性能，正向的速度达到峰值的 80% 以上。\r\n\r\n\r\n\r\n# MegEngine Lite\r\n### Bugfix\r\n* 修复 lite_shared.dll 没有在install 目录的问题。\r\n* 修复从 numpy 拷贝数据到 device tensor 的错误。\r\n* 修复 cpu:default 下多线程执行，MegEngine Lite 仍使用同一个线程的问题。\r\n* 修复 pylite 中的接口名: set_tensorrt_cache → set_redis_cache\r\n* 修复旧版本load_and_run无法解析历史的打包模型的兼容性问题。\r\n\r\n### New Features\r\n* MegEngine Lite 中添加上传和下载 redis cache 的功能。\r\n*  MegEngine Lite 中增加 LITE_extra_configure 接口，用户可以设置是否使用模型信息进行网络配置。\r\n\r\n\r\n# MegEngine\r\n### ","2022-07-26T04:50:30",{"id":236,"version":237,"summary_zh":238,"released_at":239},297523,"v1.9.1","# MegEngine\r\n\r\n### Bugfix\r\n#### Python API\r\n* 修复 conv 反传和 `megengine.random.RNG` 算子中空 tensor 的问题。\r\n* 限制 trace 模式下的 `megengine.functional.concat` 的 apply 时输入是非 tensor 的类型转换。\r\n\r\n\r\n# MegEngine Lite\r\n### Bugfix\r\n* 修复 cpu:default 下多线程执行，MegEngine Lite 仍使用同一个线程的问题。","2022-06-01T11:22:48",{"id":241,"version":242,"summary_zh":243,"released_at":244},297524,"v1.9.0","# MegEngine\r\n\r\n### Known Issue\r\n* 使用 `megengine.random.RNG` 的输入包含 0 维 tensor 场景，训练会报错。\r\n\r\n### HighLight\r\n* 本次版本性能有较大提升，大部分网络训练提速约 10% ，  host bound 严重的场景如检测模型，QAT 训练等有 20%~40% 的加速。尤其是在小 batch、amp 等情况下有显著提速。在 [BaseCls](https:\u002F\u002Fgithub.com\u002Fmegvii-research\u002Fbasecls) 的多卡训练上验证，平均提速15.4%。\r\n    * 支持在一些算子中，输出张量可以与输入张量共享数据（Memory Forwarding）。此时不会发生数据拷贝，只有当数据是共享的张量发生修改时，才会触发数据拷贝，保证共享这一部分数据的其他张量不会受到影响。涉及到的算子包括：`megengine.functional.transpose`、`megengine.functional.broadcast_to`、`megengine.functional.reshape` 、`megengine.functional.expand_dims `、`megengine.functional.split ` 、张量索引等。这样可以尽可能地减少数据拷贝的过程，性能得到提升。为了防止极端情况下显存异常，提供 `megengine.config.disable_memory_forwarding` 用于禁用这项功能。\r\n\r\n## Notice\r\n* 本次版本对 python3.5 的支持继续维持，从下个版本 MegEngine v1.10（MegBrain v8.17） 开始将停止，请大家注意提前做好准备。\r\n\r\n\r\n### Bug fixes\r\n#### Python API\r\n* 修复使 `@` 运算符与 `megengine.functional.matmul` 的行为一致。\r\n* 修复使用 `megengine.functional.nn.pad` ，输出 Tensor 值可能为全 0 的问题。\r\n* 为 `megengine.functional.nn.remap`  `megengine.data.transform.Resize` 添加 nearnest mode 模式。\r\n\r\n\r\n#### 通用组件\r\n* 修复在混合精度训练时无法使用 `megengine.functional.nn.sync_batch_norm` 的问题。\r\n* 修复全局优化 conv 与两个 nolinear 算子融合时出错的问题。\r\n* 修复不开 fastrun 的情况下大 kernel 卷积速度慢的问题。\r\n* 修复对输入为非 float32 的类型求导时不报错，并且没有梯度的问题。\r\n* 修复分布式训练 RPC 通信 IO 中断问题。\r\n* 修复 BatchNorm 对二阶导的支持问题。\r\n\r\n\r\n### New Features\r\n#### Python API\r\n* `megengine.functional.nn.conv1d` `megengine.functional.nn.conv2d` 增加 padding_mode 参数，支持 zeros、reflect、replicate 模式。\r\n#### CUDA\r\n* 添加大核的 direct conv 实现。\r\n* 添加 implicit bmm 大核 depthwise conv 的实现。\r\n* CUDA 上 resize 的 nearest mode 支持不止 1 和 3 的多通道输入。\r\n#### 通用组件\r\n*  基于业务降噪模型进行关于 cd4 优化，主要是添加 NHWC 和 NHWCD4 两种 format 之间的转换。在业务的降噪模型上验证性能提升 15% 左右。\r\n* 添加 int1 数据类型的支持。\r\n* tensor indexing 中支持 np.newaxis(None) 。\r\n\r\n\r\n### Improvements\r\n#### 通用组件\r\n* 优化性能，大部分网络训练提速约 10% ， host bound严重的 vit、检测模型，在 QAT 场景有 20%~40% 的加速。\r\n* 提升 op dispatch 系统的性能。 修复了 v1.8 使用的新 dispatch 系统存在的性能问题，修复后性能与 v1.7 持平。\r\n* 提升 dispatch 系统 jit trace 性能。性能与 v1.7 相比略有提升。开启 trace 下部分模型训练性能提升如下， ResNet50 提升 0.7% ， ShuffleNet 提升 9%， ATSS 提升 10%。\r\n* subgraph op 支持 shape 推导和 jit fusion 优化，并用 subgraph op 重写了部分由 elemwise 组合成的性能较差的op。优化后 `megengine.functional.nn.hsigmoid`、`megengine.functional.nn.relu6`、`megengine.functional.nn.prelu`、`megengine.module.LeakyReLU`、`megengine.functional.nn.softplus` 、`megengine.functional.nn.logsigmoid`、`megengine.functional.where` 性能在大输入 shape 时与 pytorch 持平。\r\n* 提升batch_norm的性能，小尺寸下提升 4.3 倍。\r\n* 优化 reduce op 性能，速度提升 75%。\r\n#### CUDA\r\n* 融合 conv 和 h_swish，部分模型性能提升。\r\n\r\n\r\n\r\n# MegEngine Lite\r\n### Bug fixes\r\n* lite 修复全局图优化接口 symbolvar 替换不完整导致 cuda 设备上无法使用的问题。 \r\n* 修复 load_and_run lite 模型全局图优化接口与 fast-run 接口使用冲突的问题。\r\n* 修复 load_and_run 使用 “–cuda” 参数时报错的问题\r\n### New Features\r\n* lite-c 接口中添加错误码和全局获取错误码的接口 `LITE_get_last_error_code`。\r\n* lite 增加通过虚拟地址查询物理地址的接口。\r\n* load_and_run 支持 lite 模型全局图优化。\r\n\r\n### Improvements\r\n* 优化 Lite 中 `get_data_by_share`    python 接口的性能。在算法仓的模型中略有性能提升。\r\n\r\n\r\n\r\n\r\n# MegEngine\r\n### Bug fixes\r\n#### Python API\r\n* make operator \"@\" behaves in a way consistent with the behavior of `megengine.functional.matmul` .\r\n* Fix the output tensor of  `megengine.functional.nn.pad` may be all 0 .\r\n* Add the nearNest mode for `megengine.functional.nn.remap` and `megengine.data.transform.Resize` .\r\n\r\n#### Common components\r\n* Fix `megengine.functional.nn.sync_batch_norm` not being available when training with mixed precision.\r\n* Fix bug of fuse conv bias and two nolinear opr.\r\n* Fix the problem of poor performance of the large kernel convolution  without fastrun.\r\n* Fixed bug gm attach non-float type does not report error without gradient.\r\n* Fix  the IO interruption for RPC communication when distributed training.\r\n* Fix BatchNorm support for higher-order differentiation.\r\n\r\n### New Features\r\n#### Python API\r\n*  Add padding_mode parameter，support zeros、reflect、replicate mode for `megengine.functional.nn.conv1d` `megengine.functional.nn.conv2d`.\r\n#### CUDA\r\n* Add implementation of large kernel's direct conv algo.\r\n* Add implementation of large kernel's depthwise conv by  implicit bmm.\r\n* The nearest mode of resize on cuda supports more than 1 and 3 multi-channel inputs.\r\n#### Common components\r\n* Add conversion between NHWC and NHWCD4 formats.\r\n* Add support for int1 dtype.\r\n* Add np.newaxis(None)  for tensor indexing.\r\n \r\n\r\n### Improvements\r\n#### Common components\r\n* Optimized performance, Most networks speed up to 10%, host bound heavy VIT or detection models, QAT scenarios speed up 20% to 40%.\r\n* Improve the performance of the op dispatch system. Fix the performance problems of the new dispatch system in version 1.8. After the repair, the performance is the same as that of version 1.7.\r\n* Improve the jit trace performance of the dispatch system. The performance is slightly improved compared to the 1.7 version.\r\nWhen trace is enabled, the training performance of some models is improved as follows, resnet50 0.7%, shufflenet  9%, and atss 10%.\r\n* Subgraph op supports shape infer and jit fusion optimization, and rewrites some ops with it. \r\nPerformance of `megengine","2022-04-18T10:16:35",{"id":246,"version":247,"summary_zh":248,"released_at":249},297525,"v1.8.2","# MegEngine\r\n### Known Issue\r\n训练和推理的GPU显存占用（MiB）各模型有不同程度的增加。\r\n\r\n### New Features\r\n#### CUDA\r\n* 添加大卷积核的 direct conv 实现。\r\n* 添加 implicit bmm 大卷积核  depthwise conv 的实现。\r\n\r\n# MegEngine\r\n### New Features\r\n#### CUDA\r\n* Add implementation of large kernel's direct conv algo.\r\n* Add implementation of large kernel's depthwise conv by  implicit bmm.","2022-03-05T01:46:25",{"id":251,"version":252,"summary_zh":253,"released_at":254},297526,"v1.8.1","# MegEngine \r\n## Notice\r\n从下个版本 MegEngine v1.9 开始将停止对 python3.5 支持，请大家提前做好准备。\r\n## HighLight\r\n* `megengine.functional.topk` 新增「descending」以定义排序行为，本次版本默认为「False」保持从小到大排列，如果未指定则提示warning 信息。在 v1.12 版本将修改「descending」默认值为 true 以符合惯常情况下大家对 topK 的定义，即从选出二维矩阵中 Top-K 个最大元素。\r\n* MegEngine 支持端上训练，使用参考[这里](https:\u002F\u002Fzhuanlan.zhihu.com\u002Fp\u002F444846080)。\r\n\r\n### Bug fixes \r\n#### Python API\r\n* 修复 `megengine.functional.floor_div` 对于异号整数输入的计算错误。\r\n* 使 `megengine.functional.broadcast_to` 接受 None，表示这一维无需进行广播以支持 -1 shape 自动推导。\r\n\r\n#### 发版流程\r\n* 修复 MegEngine v1.7 版本序列化的 TM 模型，由 MegEngine v1.8 版本加载做图手术会失败的问题。\r\n* TracedModule Bug 修复如下。\r\n    * 修复无法序列化第三方后端中 op 的问题。\r\n    * 修复 Input 类型 expr 未绑定 top_graph 的问题。\r\n    * 修复图手术中将 ModuleNode 作为输入时，expr 的插入位置计算错误的问题。\r\n    * 修复 TracedModule 加载 v1.7 及之前含有 ones 或 zeros 的模型无法运行的问题。\r\n    * 修复 TracedModule 在部分情况下递归过深的问题。\r\n    * 修复 TracedModule 无法重复 trace 的问题。\r\n    * 修复 TracedModule 无法正确识别 pad 的问题。\r\n    * 改善 TracedModule 对不合法输入的报错信息。\r\n* 修复同时开全局图优化和 fastrun 时，选中的算法只有 naive 时会报错的问题。\r\n\r\n#### CUDA\r\n* 前置输入 Tensor 太大的判断，优化错误提示信息，避免直接输出 cuDNN 报错。\r\n*  修复 tensorrt 改变 shape 时，output推导错误问题\r\n\r\n#### 通用组件\r\n* 修复 MegDNN fallback 的 ConvBias 算子不可用的问题。\r\n* 修复图优化之后无法正常 fastrun 模型中的 matmul 和 pooling 的问题。\r\n* 修复在低内存环境（8G）无法编译 MegEngine 的问题。\r\n* 修复将较大的 numpy array 转换为 tensor，或将较大的 tensor 转换为 numpy array 时，占用额外内存的问题。\r\n* 增加计算设备上的异步错误的检查与报错。\r\n* 修复了 tensor 的 ndim 未知时 indexing 操作无法被 trace 的问题。\r\n\r\n#### 周边工具\r\n* 修复 load and run 命令行输入的数据无法解析的问题\r\n* 修复 io dump 中 qint4 和 bool 数据类型 dump 错误\r\n* 修复`megengine.utils.module_stats`没有import相关库而无法使用的问题\r\n* 修复 load and run 编译 cuda 时错误。\r\n* 删除 dump_with_testcase 工具。\r\n* 修复 load and run 无法识别用 flatbuffer 序列化模型的问题。\r\n* 修复参数和计算量统计工具 module_stats 接口的 inputs 为 dict 时，无法统计的问题。\r\n* 修复 load and run工具 使用 `--get-static-mem-info`选项， 统计得到的权重信息数据有误的问题。\r\n* 修复 load_and_run 工具中，使用形如 `–input \"ratio:1.0\"` 选项时的参数解析错误。\r\n\r\n\r\n### New Features \r\n#### Python API\r\n*  添加 `megengine.functional.diag` 算子。\r\n\r\n#### 发版流程\r\n* TracedModule 支持在图手术过程中修改 Node 的名字。\r\n* 为 TracedModule 提供一个 enable_expr_checker 开关，以在 trace 时进行更多检查。\r\n\r\n#### ARM\r\n* 优化 Arm 中部分数学计算的实现，性能有微弱的提升\r\n* ARM 后端支持 rnn_cell\u002Flstm_cell\u002Flstm 算子\r\n* 添加 elemwise 部分 case 对多线程的支持，以支持 TS 项目部分模型性能优化。\r\n\r\n#### 第三方硬件\r\n* 增加对寒武纪 MLU270 支持。\r\n* TensorRT Runtime Opr 支持动态 shape 的模型,且可根据输入 shape 主动选择相近「IOptimizationProfile」。\r\n\r\n#### 通用组件\r\n* CPU 支持运行 int4 模型。\r\n* [megengine.functional.nn.remap](https:\u002F\u002Fmegengine.org.cn\u002Fdoc\u002Fstable\u002Fzh\u002Freference\u002Fapi\u002Fmegengine.functional.nn.remap.html?highlight=remap#megengine.functional.nn.remap) 支持 dtype 为 float16 下的求导\r\n* 优化非连续情况下的 typecvt 的性能\r\n* 新增端上训练支持，更多详情查看[这里](https:\u002F\u002Fzhuanlan.zhihu.com\u002Fp\u002F444846080)\r\n* 在 windows 系统上，load_and_run 增加动态链接 MegEngine 支持。\r\n\r\n#### 周边工具\r\n* 新增了 [cmake 格式化工具](https:\u002F\u002Fgit-core.megvii-inc.com\u002Fbrain-sdk\u002FMegBrain\u002F-\u002Fblob\u002Fdev\u002Ftools\u002Fcmakeformat.py)，执行可将 cmake 相关文件进行格式化。\r\n* Custom Op 增加 JIT 构建工具，文档待补充。\r\n* 支持构建 Android whl 包。\r\n\r\n### Improvements\r\n#### Python API\r\n* 优化 `megengine.random.RNG.uniform` API中 low=0 & high=1 的情况下的 elemwise 开销，单算子性能提升约75% 。\r\n\r\n#### CUDA\r\n* 改进 `megengine.functional.nn.softmax` 在 axis 为标量时，CUDA 平台上的性能提升约200%～450%。\r\n* 提高 `megengine.functional.nn.dropout` 在 CUDA 平台上的性能，可提升约 650%。\r\n* 提高 `megengine.functional.nn.layer_norm` 在 CUDA 平台上的性能，可提升约 540%。\r\n\r\n#### ARM\r\n* 当一个 tensor 需要进行 int16\u002Fuint16 → float 的转换，并且转换后的数据进行 Mul\u002FADD 运算时，将多个运算合并为 ElemwiseMultiType，在010项目的 369 号模型验证性能提升约20倍(23512.8us →1208 us)。\r\n\r\n#### 通用组件\r\n* 动态 AMP 性能提升，多个模型验证可提升约1% 。\r\n* 优化 cpu 环境下 jit.trace 的时间。bs 256 、VGG16 模型验证，jit.trace 从约 4 分钟提升至 2 分钟。\r\n* 修复在 cpu 上模型执行速度过慢的问题，在 VGG16 bs 10 验证从 10 分钟提升至约 6s。\r\n\r\n# MegEngine Lite \r\n\r\n### Bug fixes\r\n\r\n* 修复 lite 中 TensorBatchCollector 的 device id 设置错误\r\n* Lite 中空 tensor 的 to_numpy 方法增加输出 Tensor 的数据类型信息\r\n* 修复用户在自定义模型输出空间时部分模型推理失败的问题\r\n* 修复 MegEngine Lite 的 device 配置接口为只设置 xpu 的 device type 为用户指定的 device type 。\r\n* 修复 MegEngine Lite  python 接口在 TensorBatchCollector 的 batch id 出错时没有报错日志输出的问题。\r\n* 修复 MegEngine Lite  开启「record level 2」时报错的问题。\r\n\r\n### New Features\r\n* lite 中增加对寒武纪的支持。\r\n* MegEngineLite 新增一个名为 `get_data_by_share` 的接口。通过调用该接口，用户可以零拷贝地获得一个 lite tensor 的 numpy 对象。\r\n* 增加 cv 的分类与检测的 example 。\r\n* 新增全局图优化支持。\r\n\r\n# MegEngine \r\n\r\n## Notice\r\nDrop support for python3.5 from MegEngine v1.9.\r\n## HighLight\r\n* `megengine.functional.topk` will default to descending order in v1.12. Please specify the \"descending\" argument during the transition period.\r\n* MegEngine support Device Training，you can refer to [here](https:\u002F\u002Fzhuanlan.zhihu.com\u002Fp\u002F444846080).\r\n\r\n### Bug fixes \r\n#### Python API\r\n* Correct behavior of `megengine.functional.floor_div` for integers with opposite sign. \r\n* Allow passing None to megengine.functional.broadcast_to , meaning the corresponding axis should not broadcast.\r\n\r\n#### Release process\r\n* Fix a compatibility issue with TracedModule.\r\n* Fix TracedModule Bug ：\r\n    * Fix the problem that ops in third-party backend such as tensorrt can not be serialized.\r\n    * Fix the problem that input expr bound top_ graph failed.\r\n    * Fix the problem of incorrect calculation of expr insertion position when ModuleNode is used as input o","2022-02-14T07:22:07",{"id":256,"version":257,"summary_zh":76,"released_at":258},297527,"v1.8.1.m1","2022-01-26T02:03:29",{"id":260,"version":261,"summary_zh":76,"released_at":262},297528,"v1.8.0","2022-01-26T02:01:30",{"id":264,"version":265,"summary_zh":76,"released_at":266},297529,"v1.7.2.m1","2021-12-30T09:46:45"]