[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-open-mmlab--mmdeploy":3,"tool-open-mmlab--mmdeploy":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",142651,2,"2026-04-06T23:34:12",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107888,"2026-04-06T11:32:50",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[52,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":10,"last_commit_at":59,"category_tags":60,"status":17},4487,"LLMs-from-scratch","rasbt\u002FLLMs-from-scratch","LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目，旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型（LLM）。它不仅是同名技术著作的官方代码库，更提供了一套完整的实践方案，涵盖模型开发、预训练及微调的全过程。\n\n该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型，却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码，用户能够透彻掌握 Transformer 架构、注意力机制等关键原理，从而真正理解大模型是如何“思考”的。此外，项目还包含了加载大型预训练权重进行微调的代码，帮助用户将理论知识延伸至实际应用。\n\nLLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API，而是渴望探究模型构建细节的技术人员而言，这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计：将复杂的系统工程拆解为清晰的步骤，配合详细的图表与示例，让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础，还是为未来研发更大规模的模型做准备",90106,"2026-04-06T11:19:32",[35,15,13,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":67,"readme_en":68,"readme_zh":69,"quickstart_zh":70,"use_case_zh":71,"hero_image_url":72,"owner_login":73,"owner_name":74,"owner_avatar_url":75,"owner_bio":76,"owner_company":77,"owner_location":77,"owner_email":77,"owner_twitter":74,"owner_website":78,"owner_url":79,"languages":80,"stars":121,"forks":122,"last_commit_at":123,"license":124,"difficulty_score":125,"env_os":126,"env_gpu":127,"env_ram":128,"env_deps":129,"category_tags":140,"github_topics":141,"view_count":32,"oss_zip_url":77,"oss_zip_packed_at":77,"status":17,"created_at":152,"updated_at":153,"faqs":154,"releases":186},4753,"open-mmlab\u002Fmmdeploy","mmdeploy","OpenMMLab Model Deployment Framework","MMDeploy 是 OpenMMLab 社区推出的开源深度学习模型部署工具箱，旨在打通从算法训练到实际落地的“最后一公里”。它主要解决了研究人员和开发者在将 PyTorch 模型转化为工业级推理格式时面临的兼容性差、转换流程复杂以及不同硬件后端适配困难等痛点。\n\n这款工具非常适合算法工程师、嵌入式开发人员以及希望将 AI 模型应用于生产环境的科研人员使用。无论是需要在服务器端利用 TensorRT 加速，还是在移动端通过 NCNN 运行，亦或是在边缘设备上借助 OpenVINO 部署，MMDeploy 都能提供统一且高效的解决方案。\n\n其核心技术亮点在于对 OpenMMLab 全家桶（如 MMDetection、MMSegmentation 等）模型的全面原生支持，能够无缝衔接最新的 2.0 版本代码库。MMDeploy 内置了强大的模型转换引擎，支持一键将训练好的模型导出为 ONNX、TensorRT、NCNN、OpenVINO 等多种主流推理格式。此外，配套的 Deploee 平台还提供了超过 2300 种预转换模型及真实硬件性能剖析功能，帮助用户在部署前即可评估模型在不同设备上","MMDeploy 是 OpenMMLab 社区推出的开源深度学习模型部署工具箱，旨在打通从算法训练到实际落地的“最后一公里”。它主要解决了研究人员和开发者在将 PyTorch 模型转化为工业级推理格式时面临的兼容性差、转换流程复杂以及不同硬件后端适配困难等痛点。\n\n这款工具非常适合算法工程师、嵌入式开发人员以及希望将 AI 模型应用于生产环境的科研人员使用。无论是需要在服务器端利用 TensorRT 加速，还是在移动端通过 NCNN 运行，亦或是在边缘设备上借助 OpenVINO 部署，MMDeploy 都能提供统一且高效的解决方案。\n\n其核心技术亮点在于对 OpenMMLab 全家桶（如 MMDetection、MMSegmentation 等）模型的全面原生支持，能够无缝衔接最新的 2.0 版本代码库。MMDeploy 内置了强大的模型转换引擎，支持一键将训练好的模型导出为 ONNX、TensorRT、NCNN、OpenVINO 等多种主流推理格式。此外，配套的 Deploee 平台还提供了超过 2300 种预转换模型及真实硬件性能剖析功能，帮助用户在部署前即可评估模型在不同设备上的表现，极大降低了部署门槛并提升了开发效率。","\u003Cdiv align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fopen-mmlab_mmdeploy_readme_279c1e2832cd.png\" width=\"450\"\u002F>\n  \u003Cdiv>&nbsp;\u003C\u002Fdiv>\n  \u003Cdiv align=\"center\">\n    \u003Cb>\u003Cfont size=\"5\">OpenMMLab website\u003C\u002Ffont>\u003C\u002Fb>\n    \u003Csup>\n        \u003Ca href=\"https:\u002F\u002Fopenmmlab.com\">\n        \u003Ci>\u003Cfont size=\"4\">HOT\u003C\u002Ffont>\u003C\u002Fi>\n      \u003C\u002Fa>\n    \u003C\u002Fsup>\n    &nbsp;&nbsp;&nbsp;&nbsp;\n    \u003Cb>\u003Cfont size=\"5\">OpenMMLab platform\u003C\u002Ffont>\u003C\u002Fb>\n    \u003Csup>\n      \u003Ca href=\"https:\u002F\u002Fplatform.openmmlab.com\">\n        \u003Ci>\u003Cfont size=\"4\">TRY IT OUT\u003C\u002Ffont>\u003C\u002Fi>\n      \u003C\u002Fa>\n    \u003C\u002Fsup>\n  \u003C\u002Fdiv>\n  \u003Cdiv>&nbsp;\u003C\u002Fdiv>\n\n[![docs](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fdocs-latest-blue)](https:\u002F\u002Fmmdeploy.readthedocs.io\u002Fen\u002Flatest\u002F)\n[![badge](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fworkflows\u002Fbuild\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Factions)\n[![codecov](https:\u002F\u002Fcodecov.io\u002Fgh\u002Fopen-mmlab\u002Fmmdeploy\u002Fbranch\u002Fmain\u002Fgraph\u002Fbadge.svg)](https:\u002F\u002Fcodecov.io\u002Fgh\u002Fopen-mmlab\u002Fmmdeploy)\n[![license](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fopen-mmlab\u002Fmmdeploy.svg)](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Ftree\u002Fmain\u002FLICENSE)\n[![issue resolution](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fissues-closed-raw\u002Fopen-mmlab\u002Fmmdeploy)](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fissues)\n[![open issues](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fissues-raw\u002Fopen-mmlab\u002Fmmdeploy)](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fissues)\n\nEnglish | [简体中文](README_zh-CN.md)\n\n\u003C\u002Fdiv>\n\n\u003Cdiv align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fopenmmlab.medium.com\u002F\" style=\"text-decoration:none;\">\n    \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fopen-mmlab_mmdeploy_readme_da7ddf22a241.png\" width=\"3%\" alt=\"\" \u002F>\u003C\u002Fa>\n  \u003Cimg src=\"https:\u002F\u002Fuser-images.githubusercontent.com\u002F25839884\u002F218346358-56cc8e2f-a2b8-487f-9088-32480cceabcf.png\" width=\"3%\" alt=\"\" \u002F>\n  \u003Ca href=\"https:\u002F\u002Fdiscord.gg\u002FraweFPmdzG\" style=\"text-decoration:none;\">\n    \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fopen-mmlab_mmdeploy_readme_6342e5371027.png\" width=\"3%\" alt=\"\" \u002F>\u003C\u002Fa>\n  \u003Cimg src=\"https:\u002F\u002Fuser-images.githubusercontent.com\u002F25839884\u002F218346358-56cc8e2f-a2b8-487f-9088-32480cceabcf.png\" width=\"3%\" alt=\"\" \u002F>\n  \u003Ca href=\"https:\u002F\u002Ftwitter.com\u002FOpenMMLab\" style=\"text-decoration:none;\">\n    \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fopen-mmlab_mmdeploy_readme_04c3beda0b07.png\" width=\"3%\" alt=\"\" \u002F>\u003C\u002Fa>\n  \u003Cimg src=\"https:\u002F\u002Fuser-images.githubusercontent.com\u002F25839884\u002F218346358-56cc8e2f-a2b8-487f-9088-32480cceabcf.png\" width=\"3%\" alt=\"\" \u002F>\n  \u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002Fopenmmlab\" style=\"text-decoration:none;\">\n    \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fopen-mmlab_mmdeploy_readme_204fe79b5a90.png\" width=\"3%\" alt=\"\" \u002F>\u003C\u002Fa>\n\u003C\u002Fdiv>\n\n## Highlights\n\nThe MMDeploy 1.x has been released, which is adapted to upstream codebases from OpenMMLab 2.0. Please **align the version** when using it.\nThe default branch has been switched to `main` from `master`. MMDeploy 0.x (`master`) will be deprecated and new features will only be added to MMDeploy 1.x (`main`) in future.\n\n| mmdeploy | mmengine |   mmcv   |  mmdet   | others |\n| :------: | :------: | :------: | :------: | :----: |\n|  0.x.y   |    -     | \\\u003C=1.x.y | \\\u003C=2.x.y | 0.x.y  |\n|  1.x.y   |  0.x.y   |  2.x.y   |  3.x.y   | 1.x.y  |\n\n[deploee](https:\u002F\u002Fplatform.openmmlab.com\u002Fdeploee\u002F) offers over 2,300 AI models in ONNX, NCNN, TRT and OpenVINO formats. Featuring a built-in list of real hardware devices, deploee enables users to convert Torch models into any target inference format for profiling purposes.\n\n## Introduction\n\nMMDeploy is an open-source deep learning model deployment toolset. It is a part of the [OpenMMLab](https:\u002F\u002Fopenmmlab.com\u002F) project.\n\n\u003Cdiv align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fopen-mmlab_mmdeploy_readme_a4ec4099b2cd.png\">\n\u003C\u002Fdiv>\n\n## Main features\n\n### Fully support OpenMMLab models\n\nThe currently supported codebases and models are as follows, and more will be included in the future\n\n- [mmpretrain](docs\u002Fen\u002F04-supported-codebases\u002Fmmpretrain.md)\n- [mmdet](docs\u002Fen\u002F04-supported-codebases\u002Fmmdet.md)\n- [mmseg](docs\u002Fen\u002F04-supported-codebases\u002Fmmseg.md)\n- [mmagic](docs\u002Fen\u002F04-supported-codebases\u002Fmmagic.md)\n- [mmocr](docs\u002Fen\u002F04-supported-codebases\u002Fmmocr.md)\n- [mmpose](docs\u002Fen\u002F04-supported-codebases\u002Fmmpose.md)\n- [mmdet3d](docs\u002Fen\u002F04-supported-codebases\u002Fmmdet3d.md)\n- [mmrotate](docs\u002Fen\u002F04-supported-codebases\u002Fmmrotate.md)\n- [mmaction2](docs\u002Fen\u002F04-supported-codebases\u002Fmmaction2.md)\n\n### Multiple inference backends are available\n\nThe supported Device-Platform-InferenceBackend matrix is presented as following, and more will be compatible.\n\nThe benchmark can be found from [here](docs\u002Fen\u002F03-benchmark\u002Fbenchmark.md)\n\n\u003Cdiv style=\"width: fit-content; margin: auto;\">\n\u003Ctable>\n  \u003Ctr>\n    \u003Cth>Device \u002F \u003Cbr> Platform\u003C\u002Fth>\n    \u003Cth>Linux\u003C\u002Fth>\n    \u003Cth>Windows\u003C\u002Fth>\n    \u003Cth>macOS\u003C\u002Fth>\n    \u003Cth>Android\u003C\u002Fth>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Cth>x86_64 \u003Cbr> CPU\u003C\u002Fth>\n    \u003Ctd>\n        \u003Csub>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Factions\u002Fworkflows\u002Fbackend-ort.yml\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Factions\u002Fworkflow\u002Fstatus\u002Fopen-mmlab\u002Fmmdeploy\u002Fbackend-ort.yml\">\u003C\u002Fa>\u003C\u002Fsub> \u003Csub>onnxruntime\u003C\u002Fsub> \u003Cbr>\n        \u003Csub>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Factions\u002Fworkflows\u002Fbackend-pplnn.yml\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Factions\u002Fworkflow\u002Fstatus\u002Fopen-mmlab\u002Fmmdeploy\u002Fbackend-pplnn.yml\">\u003C\u002Fa>\u003C\u002Fsub> \u003Csub>pplnn\u003C\u002Fsub> \u003Cbr>\n        \u003Csub>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Factions\u002Fworkflows\u002Fbackend-ncnn.yml\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Factions\u002Fworkflow\u002Fstatus\u002Fopen-mmlab\u002Fmmdeploy\u002Fbackend-ncnn.yml\">\u003C\u002Fa>\u003C\u002Fsub> \u003Csub>ncnn\u003C\u002Fsub> \u003Cbr>\n        \u003Csub>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Factions\u002Fworkflows\u002Fbackend-torchscript.yml\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Factions\u002Fworkflow\u002Fstatus\u002Fopen-mmlab\u002Fmmdeploy\u002Fbackend-torchscript.yml\">\u003C\u002Fa>\u003C\u002Fsub> \u003Csub>LibTorch\u003C\u002Fsub> \u003Cbr>\n        \u003Csub>\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fbuild-no%20status-lightgrey\">\u003C\u002Fsub> \u003Csub>OpenVINO\u003C\u002Fsub> \u003Cbr>\n        \u003Csub>\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fbuild-no%20status-lightgrey\">\u003C\u002Fsub> \u003Csub>TVM\u003C\u002Fsub> \u003Cbr>\n    \u003C\u002Ftd>\n    \u003Ctd>\n        \u003Csub>\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fbuild-no%20status-lightgrey\">\u003C\u002Fsub> \u003Csub>onnxruntime\u003C\u002Fsub> \u003Cbr>\n        \u003Csub>\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fbuild-no%20status-lightgrey\">\u003C\u002Fsub> \u003Csub>OpenVINO\u003C\u002Fsub> \u003Cbr>\n        \u003Csub>\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fbuild-no%20status-lightgrey\">\u003C\u002Fsub> \u003Csub>ncnn\u003C\u002Fsub> \u003Cbr>\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\">\n        -\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\">\n        -\n    \u003C\u002Ftd>\n  \u003C\u002Ftr>\n\n\u003Ctr>\n    \u003Cth>ARM \u003Cbr> CPU\u003C\u002Fth>\n    \u003Ctd>\n        \u003Csub>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Factions\u002Fworkflows\u002Fbuild.yml\">\u003Cimg src=\"https:\u002F\u002Fbyob.yarr.is\u002Fopen-mmlab\u002Fmmdeploy\u002Fcross_build_aarch64\">\u003C\u002Fa>\u003C\u002Fsub> \u003Csub>ncnn\u003C\u002Fsub> \u003Cbr>\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\">\n        -\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\">\n        -\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\">\n        \u003Csub>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Factions\u002Fworkflows\u002Fbackend-ncnn.yml\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Factions\u002Fworkflow\u002Fstatus\u002Fopen-mmlab\u002Fmmdeploy\u002Fbackend-ncnn.yml\">\u003C\u002Fa>\u003C\u002Fsub> \u003Csub>ncnn\u003C\u002Fsub> \u003Cbr>\n    \u003C\u002Ftd>\n  \u003C\u002Ftr>\n\n\u003Ctr>\n    \u003Cth>RISC-V\u003C\u002Fth>\n    \u003Ctd>\n        \u003Csub>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Factions\u002Fworkflows\u002Flinux-riscv64-gcc.yml\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Factions\u002Fworkflow\u002Fstatus\u002Fopen-mmlab\u002Fmmdeploy\u002Flinux-riscv64-gcc.yml\">\u003C\u002Fa>\u003C\u002Fsub> \u003Csub>ncnn\u003C\u002Fsub> \u003Cbr>\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\">\n        -\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\">\n        -\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\">\n        -\n    \u003C\u002Ftd>\n  \u003C\u002Ftr>\n\n\u003Ctr>\n    \u003Cth>NVIDIA \u003Cbr> GPU\u003C\u002Fth>\n    \u003Ctd>\n        \u003Csub>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Factions\u002Fworkflows\u002Fbuild.yml\">\u003Cimg src=\"https:\u002F\u002Fbyob.yarr.is\u002Fopen-mmlab\u002Fmmdeploy\u002Fbuild_cuda113_linux\">\u003C\u002Fa>\u003C\u002Fsub> \u003Csub>onnxruntime\u003C\u002Fsub> \u003Cbr>\n        \u003Csub>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Factions\u002Fworkflows\u002Fbuild.yml\">\u003Cimg src=\"https:\u002F\u002Fbyob.yarr.is\u002Fopen-mmlab\u002Fmmdeploy\u002Fbuild_cuda113_linux\">\u003C\u002Fa>\u003C\u002Fsub> \u003Csub>TensorRT\u003C\u002Fsub> \u003Cbr>\n        \u003Csub>\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fbuild-no%20status-lightgrey\">\u003C\u002Fsub> \u003Csub>LibTorch\u003C\u002Fsub> \u003Cbr>\n        \u003Csub>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Factions\u002Fworkflows\u002Fbackend-pplnn.yml\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Factions\u002Fworkflow\u002Fstatus\u002Fopen-mmlab\u002Fmmdeploy\u002Fbackend-pplnn.yml\">\u003C\u002Fa>\u003C\u002Fsub> \u003Csub>pplnn\u003C\u002Fsub> \u003Cbr>\n    \u003C\u002Ftd>\n    \u003Ctd>\n        \u003Csub>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Factions\u002Fworkflows\u002Fbuild.yml\">\u003Cimg src=\"https:\u002F\u002Fbyob.yarr.is\u002Fopen-mmlab\u002Fmmdeploy\u002Fbuild_cuda113_windows\">\u003C\u002Fa>\u003C\u002Fsub> \u003Csub>onnxruntime\u003C\u002Fsub> \u003Cbr>\n        \u003Csub>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Factions\u002Fworkflows\u002Fbuild.yml\">\u003Cimg src=\"https:\u002F\u002Fbyob.yarr.is\u002Fopen-mmlab\u002Fmmdeploy\u002Fbuild_cuda113_windows\">\u003C\u002Fa>\u003C\u002Fsub> \u003Csub>TensorRT\u003C\u002Fsub> \u003Cbr>\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\">\n        -\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\">\n        -\n    \u003C\u002Ftd>\n  \u003C\u002Ftr>\n\n\u003Ctr>\n    \u003Cth>NVIDIA \u003Cbr> Jetson\u003C\u002Fth>\n    \u003Ctd>\n        \u003Csub>\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fbuild-no%20status-lightgrey\">\u003C\u002Fsub> \u003Csub>TensorRT\u003C\u002Fsub> \u003Cbr>\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\">\n        -\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\">\n        -\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\">\n        -\n    \u003C\u002Ftd>\n  \u003C\u002Ftr>\n\n\u003Ctr>\n    \u003Cth>Huawei \u003Cbr> ascend310\u003C\u002Fth>\n    \u003Ctd>\n        \u003Csub>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Factions\u002Fworkflows\u002Fbackend-ascend.yml\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Factions\u002Fworkflow\u002Fstatus\u002Fopen-mmlab\u002Fmmdeploy\u002Fbackend-ascend.yml\">\u003C\u002Fa>\u003C\u002Fsub> \u003Csub>CANN\u003C\u002Fsub> \u003Cbr>\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\">\n        -\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\">\n        -\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\">\n        -\n    \u003C\u002Ftd>\n  \u003C\u002Ftr>\n\n\u003Ctr>\n    \u003Cth>Rockchip\u003C\u002Fth>\n    \u003Ctd>\n        \u003Csub>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Factions\u002Fworkflows\u002Fbackend-rknn.yml\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Factions\u002Fworkflow\u002Fstatus\u002Fopen-mmlab\u002Fmmdeploy\u002Fbackend-rknn.yml\">\u003C\u002Fa>\u003C\u002Fsub> \u003Csub>RKNN\u003C\u002Fsub> \u003Cbr>\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\">\n        -\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\">\n        -\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\">\n        -\n    \u003C\u002Ftd>\n  \u003C\u002Ftr>\n\n\u003Ctr>\n    \u003Cth>Apple M1\u003C\u002Fth>\n    \u003Ctd align=\"center\">\n        -\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\">\n        -\n    \u003C\u002Ftd>\n    \u003Ctd>\n        \u003Csub>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Factions\u002Fworkflows\u002Fbackend-coreml.yml\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Factions\u002Fworkflow\u002Fstatus\u002Fopen-mmlab\u002Fmmdeploy\u002Fbackend-coreml.yml\">\u003C\u002Fa>\u003C\u002Fsub> \u003Csub>CoreML\u003C\u002Fsub> \u003Cbr>\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\">\n        -\n    \u003C\u002Ftd>\n  \u003C\u002Ftr>\n\n\u003Ctr>\n    \u003Cth>Adreno \u003Cbr> GPU\u003C\u002Fth>\n    \u003Ctd align=\"center\">\n        -\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\">\n        -\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\">\n        -\n    \u003C\u002Ftd>\n    \u003Ctd>\n        \u003Csub>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Factions\u002Fworkflows\u002Fbackend-snpe.yml\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Factions\u002Fworkflow\u002Fstatus\u002Fopen-mmlab\u002Fmmdeploy\u002Fbackend-snpe.yml\">\u003C\u002Fa>\u003C\u002Fsub> \u003Csub>SNPE\u003C\u002Fsub> \u003Cbr>\n        \u003Csub>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Factions\u002Fworkflows\u002Fbackend-ncnn.yml\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Factions\u002Fworkflow\u002Fstatus\u002Fopen-mmlab\u002Fmmdeploy\u002Fbackend-ncnn.yml\">\u003C\u002Fa>\u003C\u002Fsub> \u003Csub>ncnn\u003C\u002Fsub> \u003Cbr>\n    \u003C\u002Ftd>\n  \u003C\u002Ftr>\n\n\u003Ctr>\n    \u003Cth>Hexagon \u003Cbr> DSP\u003C\u002Fth>\n    \u003Ctd align=\"center\">\n        -\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\">\n        -\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\">\n        -\n    \u003C\u002Ftd>\n    \u003Ctd>\n        \u003Csub>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Factions\u002Fworkflows\u002Fbackend-snpe.yml\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Factions\u002Fworkflow\u002Fstatus\u002Fopen-mmlab\u002Fmmdeploy\u002Fbackend-snpe.yml\">\u003C\u002Fa>\u003C\u002Fsub> \u003Csub>SNPE\u003C\u002Fsub> \u003Cbr>\n    \u003C\u002Ftd>\n  \u003C\u002Ftr>\n\u003C\u002Ftable>\n\u003C\u002Fdiv>\n\n### Efficient and scalable C\u002FC++ SDK Framework\n\nAll kinds of modules in the SDK can be extended, such as `Transform` for image processing, `Net` for Neural Network inference, `Module` for postprocessing and so on\n\n## [Documentation](https:\u002F\u002Fmmdeploy.readthedocs.io\u002Fen\u002Flatest\u002F)\n\nPlease read [getting_started](docs\u002Fen\u002Fget_started.md) for the basic usage of MMDeploy. We also provide tutoials about:\n\n- [Build](docs\u002Fen\u002F01-how-to-build\u002Fbuild_from_source.md)\n  - [Build from Docker](docs\u002Fen\u002F01-how-to-build\u002Fbuild_from_docker.md)\n  - [Build from Script](docs\u002Fen\u002F01-how-to-build\u002Fbuild_from_script.md)\n  - [Build for Linux](docs\u002Fen\u002F01-how-to-build\u002Flinux-x86_64.md)\n  - [Build for macOS](docs\u002Fen\u002F01-how-to-build\u002Fmacos-arm64.md)\n  - [Build for Win10](docs\u002Fen\u002F01-how-to-build\u002Fwindows.md)\n  - [Build for Android](docs\u002Fen\u002F01-how-to-build\u002Fandroid.md)\n  - [Build for Jetson](docs\u002Fen\u002F01-how-to-build\u002Fjetsons.md)\n  - [Build for SNPE](docs\u002Fen\u002F01-how-to-build\u002Fsnpe.md)\n  - [Cross Build for aarch64](docs\u002Fen\u002F01-how-to-build\u002Fcross_build_ncnn_aarch64.md)\n- User Guide\n  - [How to convert model](docs\u002Fen\u002F02-how-to-run\u002Fconvert_model.md)\n  - [How to write config](docs\u002Fen\u002F02-how-to-run\u002Fwrite_config.md)\n  - [How to profile model](docs\u002Fen\u002F02-how-to-run\u002Fprofile_model.md)\n  - [How to quantize model](docs\u002Fen\u002F02-how-to-run\u002Fquantize_model.md)\n  - [Useful tools](docs\u002Fen\u002F02-how-to-run\u002Fuseful_tools.md)\n- Developer Guide\n  - [Architecture](docs\u002Fen\u002F07-developer-guide\u002Farchitecture.md)\n  - [How to support new models](docs\u002Fen\u002F07-developer-guide\u002Fsupport_new_model.md)\n  - [How to support new backends](docs\u002Fen\u002F07-developer-guide\u002Fsupport_new_backend.md)\n  - [How to partition model](docs\u002Fen\u002F07-developer-guide\u002Fpartition_model.md)\n  - [How to test rewritten model](docs\u002Fen\u002F07-developer-guide\u002Ftest_rewritten_models.md)\n  - [How to test backend ops](docs\u002Fen\u002F07-developer-guide\u002Fadd_backend_ops_unittest.md)\n  - [How to do regression test](docs\u002Fen\u002F07-developer-guide\u002Fregression_test.md)\n- Custom Backend Ops\n  - [ncnn](docs\u002Fen\u002F06-custom-ops\u002Fncnn.md)\n  - [ONNXRuntime](docs\u002Fen\u002F06-custom-ops\u002Fonnxruntime.md)\n  - [tensorrt](docs\u002Fen\u002F06-custom-ops\u002Ftensorrt.md)\n- [FAQ](docs\u002Fen\u002Ffaq.md)\n- [Contributing](.github\u002FCONTRIBUTING.md)\n\n## Benchmark and Model zoo\n\nYou can find the supported models from [here](docs\u002Fen\u002F03-benchmark\u002Fsupported_models.md) and their performance in the [benchmark](docs\u002Fen\u002F03-benchmark\u002Fbenchmark.md).\n\n## Contributing\n\nWe appreciate all contributions to MMDeploy. Please refer to [CONTRIBUTING.md](.github\u002FCONTRIBUTING.md) for the contributing guideline.\n\n## Acknowledgement\n\nWe would like to sincerely thank the following teams for their contributions to [MMDeploy](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy):\n\n- [OpenPPL](https:\u002F\u002Fgithub.com\u002Fopenppl-public)\n- [OpenVINO](https:\u002F\u002Fgithub.com\u002Fopenvinotoolkit\u002Fopenvino)\n- [ncnn](https:\u002F\u002Fgithub.com\u002FTencent\u002Fncnn)\n\n## Citation\n\nIf you find this project useful in your research, please consider citing:\n\n```BibTeX\n@misc{=mmdeploy,\n    title={OpenMMLab's Model Deployment Toolbox.},\n    author={MMDeploy Contributors},\n    howpublished = {\\url{https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy}},\n    year={2021}\n}\n```\n\n## License\n\nThis project is released under the [Apache 2.0 license](LICENSE).\n\n## Projects in OpenMMLab\n\n- [MMEngine](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmengine): OpenMMLab foundational library for training deep learning models.\n- [MMCV](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmcv): OpenMMLab foundational library for computer vision.\n- [MMPretrain](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmpretrain): OpenMMLab pre-training toolbox and benchmark.\n- [MMagic](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmagic): Open**MM**Lab **A**dvanced, **G**enerative and **I**ntelligent **C**reation toolbox.\n- [MMDetection](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdetection): OpenMMLab detection toolbox and benchmark.\n- [MMDetection3D](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdetection3d): OpenMMLab's next-generation platform for general 3D object detection.\n- [MMYOLO](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmyolo): OpenMMLab YOLO series toolbox and benchmark\n- [MMRotate](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmrotate): OpenMMLab rotated object detection toolbox and benchmark.\n- [MMTracking](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmtracking): OpenMMLab video perception toolbox and benchmark.\n- [MMSegmentation](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmsegmentation): OpenMMLab semantic segmentation toolbox and benchmark.\n- [MMOCR](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmocr): OpenMMLab text detection, recognition, and understanding toolbox.\n- [MMPose](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmpose): OpenMMLab pose estimation toolbox and benchmark.\n- [MMHuman3D](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmhuman3d): OpenMMLab 3D human parametric model toolbox and benchmark.\n- [MMFewShot](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmfewshot): OpenMMLab fewshot learning toolbox and benchmark.\n- [MMAction2](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmaction2): OpenMMLab's next-generation action understanding toolbox and benchmark.\n- [MMFlow](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmflow): OpenMMLab optical flow toolbox and benchmark.\n- [MMDeploy](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy): OpenMMLab model deployment framework.\n- [MMRazor](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmrazor): OpenMMLab model compression toolbox and benchmark.\n- [MIM](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmim): MIM installs OpenMMLab packages.\n- [Playground](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fplayground): A central hub for gathering and showcasing amazing projects built upon OpenMMLab.\n","\u003Cdiv align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fopen-mmlab_mmdeploy_readme_279c1e2832cd.png\" width=\"450\"\u002F>\n  \u003Cdiv>&nbsp;\u003C\u002Fdiv>\n  \u003Cdiv align=\"center\">\n    \u003Cb>\u003Cfont size=\"5\">OpenMMLab官网\u003C\u002Ffont>\u003C\u002Fb>\n    \u003Csup>\n        \u003Ca href=\"https:\u002F\u002Fopenmmlab.com\">\n        \u003Ci>\u003Cfont size=\"4\">热门\u003C\u002Ffont>\u003C\u002Fi>\n      \u003C\u002Fa>\n    \u003C\u002Fsup>\n    &nbsp;&nbsp;&nbsp;&nbsp;\n    \u003Cb>\u003Cfont size=\"5\">OpenMMLab平台\u003C\u002Ffont>\u003C\u002Fb>\n    \u003Csup>\n      \u003Ca href=\"https:\u002F\u002Fplatform.openmmlab.com\">\n        \u003Ci>\u003Cfont size=\"4\">立即体验\u003C\u002Ffont>\u003C\u002Fi>\n      \u003C\u002Fa>\n    \u003C\u002Fsup>\n  \u003C\u002Fdiv>\n  \u003Cdiv>&nbsp;\u003C\u002Fdiv>\n\n[![文档](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fdocs-latest-blue)](https:\u002F\u002Fmmdeploy.readthedocs.io\u002Fen\u002Flatest\u002F)\n[![构建状态](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fworkflows\u002Fbuild\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Factions)\n[![代码覆盖率](https:\u002F\u002Fcodecov.io\u002Fgh\u002Fopen-mmlab\u002Fmmdeploy\u002Fbranch\u002Fmain\u002Fgraph\u002Fbadge.svg)](https:\u002F\u002Fcodecov.io\u002Fgh\u002Fopen-mmlab\u002Fmmdeploy)\n[![许可证](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fopen-mmlab\u002Fmmdeploy.svg)](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Ftree\u002Fmain\u002FLICENSE)\n[![已解决问题数](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fissues-closed-raw\u002Fopen-mmlab\u002Fmmdeploy)](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fissues)\n[![未解决问题数](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fissues-raw\u002Fopen-mmlab\u002Fmmdeploy)](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fissues)\n\nEnglish | [简体中文](README_zh-CN.md)\n\n\u003C\u002Fdiv>\n\n\u003Cdiv align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fopenmmlab.medium.com\u002F\" style=\"text-decoration:none;\">\n    \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fopen-mmlab_mmdeploy_readme_da7ddf22a241.png\" width=\"3%\" alt=\"\" \u002F>\u003C\u002Fa>\n  \u003Cimg src=\"https:\u002F\u002Fuser-images.githubusercontent.com\u002F25839884\u002F218346358-56cc8e2f-a2b8-487f-9088-32480cceabcf.png\" width=\"3%\" alt=\"\" \u002F>\n  \u003Ca href=\"https:\u002F\u002Fdiscord.gg\u002FraweFPmdzG\" style=\"text-decoration:none;\">\n    \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fopen-mmlab_mmdeploy_readme_6342e5371027.png\" width=\"3%\" alt=\"\" \u002F>\u003C\u002Fa>\n  \u003Cimg src=\"https:\u002F\u002Fuser-images.githubusercontent.com\u002F25839884\u002F218346358-56cc8e2f-a2b8-487f-9088-32480cceabcf.png\" width=\"3%\" alt=\"\" \u002F>\n  \u003Ca href=\"https:\u002F\u002Ftwitter.com\u002FOpenMMLab\" style=\"text-decoration:none;\">\n    \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fopen-mmlab_mmdeploy_readme_04c3beda0b07.png\" width=\"3%\" alt=\"\" \u002F>\u003C\u002Fa>\n  \u003Cimg src=\"https:\u002F\u002Fuser-images.githubusercontent.com\u002F25839884\u002F218346358-56cc8e2f-a2b8-487f-9088-32480cceabcf.png\" width=\"3%\" alt=\"\" \u002F>\n  \u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002Fopenmmlab\" style=\"text-decoration:none;\">\n    \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fopen-mmlab_mmdeploy_readme_204fe79b5a90.png\" width=\"3%\" alt=\"\" \u002F>\u003C\u002Fa>\n\u003C\u002Fdiv>\n\n## 亮点\n\nMMDeploy 1.x 已发布，该版本适配了 OpenMMLab 2.0 的上游代码库。使用时请务必**对齐版本号**。\n\n默认分支已从 `master` 切换至 `main`。MMDeploy 0.x（`master`）将被废弃，未来新功能仅会添加到 MMDeploy 1.x（`main`）中。\n\n| mmdeploy | mmengine |   mmcv   |  mmdet   | others |\n| :------: | :------: | :------: | :------: | :----: |\n|  0.x.y   |    -     | \\\u003C=1.x.y | \\\u003C=2.x.y | 0.x.y  |\n|  1.x.y   |  0.x.y   |  2.x.y   |  3.x.y   | 1.x.y  |\n\n[deploee](https:\u002F\u002Fplatform.openmmlab.com\u002Fdeploee\u002F) 提供超过 2,300 种 AI 模型，支持 ONNX、NCNN、TRT 和 OpenVINO 格式。deploee 内置真实硬件设备列表，允许用户将 Torch 模型转换为任意目标推理格式，以进行性能分析。\n\n## 简介\n\nMMDeploy 是一个开源的深度学习模型部署工具集，它是 [OpenMMLab](https:\u002F\u002Fopenmmlab.com\u002F) 项目的一部分。\n\n\u003Cdiv align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fopen-mmlab_mmdeploy_readme_a4ec4099b2cd.png\">\n\u003C\u002Fdiv>\n\n## 主要特性\n\n### 完全支持 OpenMMLab 模型\n\n目前支持的代码库和模型如下，未来还将继续增加：\n\n- [mmpretrain](docs\u002Fen\u002F04-supported-codebases\u002Fmmpretrain.md)\n- [mmdet](docs\u002Fen\u002F04-supported-codebases\u002Fmmdet.md)\n- [mmseg](docs\u002Fen\u002F04-supported-codebases\u002Fmmseg.md)\n- [mmagic](docs\u002Fen\u002F04-supported-codebases\u002Fmmagic.md)\n- [mmocr](docs\u002Fen\u002F04-supported-codebases\u002Fmmocr.md)\n- [mmpose](docs\u002Fen\u002F04-supported-codebases\u002Fmmpose.md)\n- [mmdet3d](docs\u002Fen\u002F04-supported-codebases\u002Fmmdet3d.md)\n- [mmrotate](docs\u002Fen\u002F04-supported-codebases\u002Fmmrotate.md)\n- [mmaction2](docs\u002Fen\u002F04-supported-codebases\u002Fmmaction2.md)\n\n### 支持多种推理后端\n\n支持的设备-平台-推理后端矩阵如下，未来还将兼容更多选项。\n\n基准测试结果可参见 [这里](docs\u002Fen\u002F03-benchmark\u002Fbenchmark.md)。\n\n\u003Cdiv style=\"width: fit-content; margin: auto;\">\n\u003Ctable>\n  \u003Ctr>\n    \u003Cth>设备 \u002F \u003Cbr> 平台\u003C\u002Fth>\n    \u003Cth>Linux\u003C\u002Fth>\n    \u003Cth>Windows\u003C\u002Fth>\n    \u003Cth>macOS\u003C\u002Fth>\n    \u003Cth>Android\u003C\u002Fth>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Cth>x86_64 \u003Cbr> CPU\u003C\u002Fth>\n    \u003Ctd>\n        \u003Csub>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Factions\u002Fworkflows\u002Fbackend-ort.yml\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Factions\u002Fworkflow\u002Fstatus\u002Fopen-mmlab\u002Fmmdeploy\u002Fbackend-ort.yml\">\u003C\u002Fa>\u003C\u002Fsub> \u003Csub>onnxruntime\u003C\u002Fsub> \u003Cbr>\n        \u003Csub>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Factions\u002Fworkflows\u002Fbackend-pplnn.yml\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Factions\u002Fworkflow\u002Fstatus\u002Fopen-mmlab\u002Fmmdeploy\u002Fbackend-pplnn.yml\">\u003C\u002Fa>\u003C\u002Fsub> \u003Csub>pplnn\u003C\u002Fsub> \u003Cbr>\n        \u003Csub>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Factions\u002Fworkflows\u002Fbackend-ncnn.yml\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Factions\u002Fworkflow\u002Fstatus\u002Fopen-mmlab\u002Fmmdeploy\u002Fbackend-ncnn.yml\">\u003C\u002Fa>\u003C\u002Fsub> \u003Csub>ncnn\u003C\u002Fsub> \u003Cbr>\n        \u003Csub>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Factions\u002Fworkflows\u002Fbackend-torchscript.yml\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Factions\u002Fworkflow\u002Fstatus\u002Fopen-mmlab\u002Fmmdeploy\u002Fbackend-torchscript.yml\">\u003C\u002Fa>\u003C\u002Fsub> \u003Csub>LibTorch\u003C\u002Fsub> \u003Cbr>\n        \u003Csub>\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fbuild-no%20status-lightgrey\">\u003C\u002Fsub> \u003Csub>OpenVINO\u003C\u002Fsub> \u003Cbr>\n        \u003Csub>\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fbuild-no%20status-lightgrey\">\u003C\u002Fsub> \u003Csub>TVM\u003C\u002Fsub> \u003Cbr>\n    \u003C\u002Ftd>\n    \u003Ctd>\n        \u003Csub>\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fbuild-no%20status-lightgrey\">\u003C\u002Fsub> \u003Csub>onnxruntime\u003C\u002Fsub> \u003Cbr>\n        \u003Csub>\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fbuild-no%20status-lightgrey\">\u003C\u002Fsub> \u003Csub>OpenVINO\u003C\u002Fsub> \u003Cbr>\n        \u003Csub>\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fbuild-no%20status-lightgrey\">\u003C\u002Fsub> \u003Csub>ncnn\u003C\u002Fsub> \u003Cbr>\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\">\n        -\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\">\n        -\n    \u003C\u002Ftd>\n  \u003C\u002Ftr>\n\n\u003Ctr>\n    \u003Cth>ARM \u003Cbr> CPU\u003C\u002Fth>\n    \u003Ctd>\n        \u003Csub>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Factions\u002Fworkflows\u002Fbuild.yml\">\u003Cimg src=\"https:\u002F\u002Fbyob.yarr.is\u002Fopen-mmlab\u002Fmmdeploy\u002Fcross_build_aarch64\">\u003C\u002Fa>\u003C\u002Fsub> \u003Csub>ncnn\u003C\u002Fsub> \u003Cbr>\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\">\n        -\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\">\n        -\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\">\n        \u003Csub>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Factions\u002Fworkflows\u002Fbackend-ncnn.yml\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Factions\u002Fworkflow\u002Fstatus\u002Fopen-mmlab\u002Fmmdeploy\u002Fbackend-ncnn.yml\">\u003C\u002Fa>\u003C\u002Fsub> \u003Csub>ncnn\u003C\u002Fsub> \u003Cbr>\n    \u003C\u002Ftd>\n  \u003C\u002Ftr>\n\n\u003Ctr>\n    \u003Cth>RISC-V\u003C\u002Fth>\n    \u003Ctd>\n        \u003Csub>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Factions\u002Fworkflows\u002Flinux-riscv64-gcc.yml\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Factions\u002Fworkflow\u002Fstatus\u002Fopen-mmlab\u002Fmmdeploy\u002Flinux-riscv64-gcc.yml\">\u003C\u002Fa>\u003C\u002Fsub> \u003Csub>ncnn\u003C\u002Fsub> \u003Cbr>\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\">\n        -\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\">\n        -\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\">\n        -\n    \u003C\u002Ftd>\n  \u003C\u002Ftr>\n\n\u003Ctr>\n    \u003Cth>NVIDIA \u003Cbr> GPU\u003C\u002Fth>\n    \u003Ctd>\n        \u003Csub>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Factions\u002Fworkflows\u002Fbuild.yml\">\u003Cimg src=\"https:\u002F\u002Fbyob.yarr.is\u002Fopen-mmlab\u002Fmmdeploy\u002Fbuild_cuda113_linux\">\u003C\u002Fa>\u003C\u002Fsub> \u003Csub>onnxruntime\u003C\u002Fsub> \u003Cbr>\n        \u003Csub>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Factions\u002Fworkflows\u002Fbuild.yml\">\u003Cimg src=\"https:\u002F\u002Fbyob.yarr.is\u002Fopen-mmlab\u002Fmmdeploy\u002Fbuild_cuda113_linux\">\u003C\u002Fa>\u003C\u002Fsub> \u003Csub>TensorRT\u003C\u002Fsub> \u003Cbr>\n        \u003Csub>\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fbuild-no%20status-lightgrey\">\u003C\u002Fsub> \u003Csub>LibTorch\u003C\u002Fsub> \u003Cbr>\n        \u003Csub>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Factions\u002Fworkflows\u002Fbackend-pplnn.yml\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Factions\u002Fworkflow\u002Fstatus\u002Fopen-mmlab\u002Fmmdeploy\u002Fbackend-pplnn.yml\">\u003C\u002Fa>\u003C\u002Fsub> \u003Csub>pplnn\u003C\u002Fsub> \u003Cbr>\n    \u003C\u002Ftd>\n    \u003Ctd>\n        \u003Csub>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Factions\u002Fworkflows\u002Fbuild.yml\">\u003Cimg src=\"https:\u002F\u002Fbyob.yarr.is\u002Fopen-mmlab\u002Fmmdeploy\u002Fbuild_cuda113_windows\">\u003C\u002Fa>\u003C\u002Fsub> \u003Csub>onnxruntime\u003C\u002Fsub> \u003Cbr>\n        \u003Csub>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Factions\u002Fworkflows\u002Fbuild.yml\">\u003Cimg src=\"https:\u002F\u002Fbyob.yarr.is\u002Fopen-mmlab\u002Fmmdeploy\u002Fbuild_cuda113_windows\">\u003C\u002Fa>\u003C\u002Fsub> \u003Csub>TensorRT\u003C\u002Fsub> \u003Cbr>\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\">\n        -\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\">\n        -\n    \u003C\u002Ftd>\n  \u003C\u002Ftr>\n\n\u003Ctr>\n    \u003Cth>NVIDIA \u003Cbr> Jetson\u003C\u002Fth>\n    \u003Ctd>\n        \u003Csub>\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fbuild-no%20status-lightgrey\">\u003C\u002Fsub> \u003Csub>TensorRT\u003C\u002Fsub> \u003Cbr>\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\">\n        -\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\">\n        -\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\">\n        -\n    \u003C\u002Ftd>\n  \u003C\u002Ftr>\n\n\u003Ctr>\n    \u003Cth>Huawei \u003Cbr> ascend310\u003C\u002Fth>\n    \u003Ctd>\n        \u003Csub>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Factions\u002Fworkflows\u002Fbackend-ascend.yml\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Factions\u002Fworkflow\u002Fstatus\u002Fopen-mmlab\u002Fmmdeploy\u002Fbackend-ascend.yml\">\u003C\u002Fa>\u003C\u002Fsub> \u003Csub>CANN\u003C\u002Fsub> \u003Cbr>\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\">\n        -\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\">\n        -\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\">\n        -\n    \u003C\u002Ftd>\n  \u003C\u002Ftr>\n\n\u003Ctr>\n    \u003Cth>Rockchip\u003C\u002Fth>\n    \u003Ctd>\n        \u003Csub>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Factions\u002Fworkflows\u002Fbackend-rknn.yml\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Factions\u002Fworkflow\u002Fstatus\u002Fopen-mmlab\u002Fmmdeploy\u002Fbackend-rknn.yml\">\u003C\u002Fa>\u003C\u002Fsub> \u003Csub>RKNN\u003C\u002Fsub> \u003Cbr>\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\">\n        -\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\">\n        -\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\">\n        -\n    \u003C\u002Ftd>\n  \u003C\u002Ftr>\n\n\u003Ctr>\n    \u003Cth>Apple M1\u003C\u002Fth>\n    \u003Ctd align=\"center\">\n        -\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\">\n        -\n    \u003C\u002Ftd>\n    \u003Ctd>\n        \u003Csub>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Factions\u002Fworkflows\u002Fbackend-coreml.yml\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Factions\u002Fworkflow\u002Fstatus\u002Fopen-mmlab\u002Fmmdeploy\u002Fbackend-coreml.yml\">\u003C\u002Fa>\u003C\u002Fsub> \u003Csub>CoreML\u003C\u002Fsub> \u003Cbr>\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\">\n        -\n    \u003C\u002Ftd>\n  \u003C\u002Ftr>\n\n\u003Ctr>\n    \u003Cth>Adreno \u003Cbr> GPU\u003C\u002Fth>\n    \u003Ctd align=\"center\">\n        -\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\">\n        -\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\">\n        -\n    \u003C\u002Ftd>\n    \u003Ctd>\n        \u003Csub>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Factions\u002Fworkflows\u002Fbackend-snpe.yml\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Factions\u002Fworkflow\u002Fstatus\u002Fopen-mmlab\u002Fmmdeploy\u002Fbackend-snpe.yml\">\u003C\u002Fa>\u003C\u002Fsub> \u003Csub>SNPE\u003C\u002Fsub> \u003Cbr>\n        \u003Csub>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Factions\u002Fworkflows\u002Fbackend-ncnn.yml\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Factions\u002Fworkflow\u002Fstatus\u002Fopen-mmlab\u002Fmmdeploy\u002Fbackend-ncnn.yml\">\u003C\u002Fa>\u003C\u002Fsub> \u003Csub>ncnn\u003C\u002Fsub> \u003Cbr>\n    \u003C\u002Ftd>\n  \u003C\u002Ftr>\n\n\u003Ctr>\n    \u003Cth>Hexagon \u003Cbr> DSP\u003C\u002Fth>\n    \u003Ctd align=\"center\">\n        -\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\">\n        -\n    \u003C\u002Ftd>\n    \u003Ctd align=\"center\">\n        -\n    \u003C\u002Ftd>\n    \u003Ctd>\n        \u003Csub>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Factions\u002Fworkflows\u002Fbackend-snpe.yml\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Factions\u002Fworkflow\u002Fstatus\u002Fopen-mmlab\u002Fmmdeploy\u002Fbackend-snpe.yml\">\u003C\u002Fa>\u003C\u002Fsub> \u003Csub>SNPE\u003C\u002Fsub> \u003Cbr>\n    \u003C\u002Ftd>\n  \u003C\u002Ftr>\n\u003C\u002Ftable>\n\u003C\u002Fdiv>\n\n\n\n### 高效且可扩展的 C\u002FC++ SDK 框架\n\nSDK 中的各种模块均可扩展，例如用于图像处理的 `Transform`、用于神经网络推理的 `Net`、用于后处理的 `Module` 等等。\n\n## [文档](https:\u002F\u002Fmmdeploy.readthedocs.io\u002Fen\u002Flatest\u002F)\n\n请阅读 [getting_started](docs\u002Fen\u002Fget_started.md)，了解 MMDeploy 的基本用法。我们还提供了以下教程：\n\n- [构建](docs\u002Fen\u002F01-how-to-build\u002Fbuild_from_source.md)\n  - [使用 Docker 构建](docs\u002Fen\u002F01-how-to-build\u002Fbuild_from_docker.md)\n  - [使用脚本构建](docs\u002Fen\u002F01-how-to-build\u002Fbuild_from_script.md)\n  - [为 Linux 构建](docs\u002Fen\u002F01-how-to-build\u002Flinux-x86_64.md)\n  - [为 macOS 构建](docs\u002Fen\u002F01-how-to-build\u002Fmacos-arm64.md)\n  - [为 Win10 构建](docs\u002Fen\u002F01-how-to-build\u002Fwindows.md)\n  - [为 Android 构建](docs\u002Fen\u002F01-how-to-build\u002Fandroid.md)\n  - [为 Jetson 构建](docs\u002Fen\u002F01-how-to-build\u002Fjetsons.md)\n  - [为 SNPE 构建](docs\u002Fen\u002F01-how-to-build\u002Fsnpe.md)\n  - [针对 aarch64 的交叉编译](docs\u002Fen\u002F01-how-to-build\u002Fcross_build_ncnn_aarch64.md)\n- 用户指南\n  - [如何转换模型](docs\u002Fen\u002F02-how-to-run\u002Fconvert_model.md)\n  - [如何编写配置文件](docs\u002Fen\u002F02-how-to-run\u002Fwrite_config.md)\n  - [如何对模型进行性能分析](docs\u002Fen\u002F02-how-to-run\u002Fprofile_model.md)\n  - [如何量化模型](docs\u002Fen\u002F02-how-to-run\u002Fquantize_model.md)\n  - [实用工具](docs\u002Fen\u002F02-how-to-run\u002Fuseful_tools.md)\n- 开发者指南\n  - [架构](docs\u002Fen\u002F07-developer-guide\u002Farchitecture.md)\n  - [如何支持新模型](docs\u002Fen\u002F07-developer-guide\u002Fsupport_new_model.md)\n  - [如何支持新后端](docs\u002Fen\u002F07-developer-guide\u002Fsupport_new_backend.md)\n  - [如何划分模型](docs\u002Fen\u002F07-developer-guide\u002Fpartition_model.md)\n  - [如何测试重写的模型](docs\u002Fen\u002F07-developer-guide\u002Ftest_rewritten_models.md)\n  - [如何测试后端算子](docs\u002Fen\u002F07-developer-guide\u002Fadd_backend_ops_unittest.md)\n  - [如何进行回归测试](docs\u002Fen\u002F07-developer-guide\u002Fregression_test.md)\n- 自定义后端算子\n  - [ncnn](docs\u002Fen\u002F06-custom-ops\u002Fncnn.md)\n  - [ONNXRuntime](docs\u002Fen\u002F06-custom-ops\u002Fonnxruntime.md)\n  - [tensorrt](docs\u002Fen\u002F06-custom-ops\u002Ftensorrt.md)\n- [常见问题解答](docs\u002Fen\u002Ffaq.md)\n- [贡献指南](.github\u002FCONTRIBUTING.md)\n\n## 基准测试与模型库\n\n您可以在 [这里](docs\u002Fen\u002F03-benchmark\u002Fsupported_models.md) 找到支持的模型，以及它们在 [基准测试](docs\u002Fen\u002F03-benchmark\u002Fbenchmark.md) 中的表现。\n\n## 贡献\n\n我们非常感谢所有对 MMDeploy 的贡献。请参阅 [.github\u002FCONTRIBUTING.md](.github\u002FCONTRIBUTING.md) 获取贡献指南。\n\n## 致谢\n\n我们衷心感谢以下团队对 [MMDeploy](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy) 的贡献：\n\n- [OpenPPL](https:\u002F\u002Fgithub.com\u002Fopenppl-public)\n- [OpenVINO](https:\u002F\u002Fgithub.com\u002Fopenvinotoolkit\u002Fopenvino)\n- [ncnn](https:\u002F\u002Fgithub.com\u002FTencent\u002Fncnn)\n\n## 引用\n\n如果您在研究中发现本项目有用，请考虑引用：\n\n```BibTeX\n@misc{=mmdeploy,\n    title={OpenMMLab 的模型部署工具箱},\n    author={MMDeploy 贡献者},\n    howpublished = {\\url{https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy}},\n    year={2021}\n}\n```\n\n## 许可证\n\n本项目采用 [Apache 2.0 许可证](LICENSE) 发布。\n\n## OpenMMLab 中的项目\n\n- [MMEngine](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmengine)：OpenMMLab 用于训练深度学习模型的基础库。\n- [MMCV](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmcv)：OpenMMLab 用于计算机视觉的基础库。\n- [MMPretrain](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmpretrain)：OpenMMLab 的预训练工具箱和基准。\n- [MMagic](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmagic)：Open**MM**Lab 高级、生成式和智能创作工具箱。\n- [MMDetection](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdetection)：OpenMMLab 的检测工具箱和基准。\n- [MMDetection3D](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdetection3d)：OpenMMLab 下一代通用 3D 物体检测平台。\n- [MMYOLO](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmyolo)：OpenMMLab YOLO 系列工具箱和基准。\n- [MMRotate](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmrotate)：OpenMMLab 旋转目标检测工具箱和基准。\n- [MMTracking](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmtracking)：OpenMMLab 视频感知工具箱和基准。\n- [MMSegmentation](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmsegmentation)：OpenMMLab 语义分割工具箱和基准。\n- [MMOCR](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmocr)：OpenMMLab 文本检测、识别和理解工具箱。\n- [MMPose](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmpose)：OpenMMLab 姿态估计工具箱和基准。\n- [MMHuman3D](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmhuman3d)：OpenMMLab 3D 人体参数化模型工具箱和基准。\n- [MMFewShot](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmfewshot)：OpenMMLab 少样本学习工具箱和基准。\n- [MMAction2](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmaction2)：OpenMMLab 下一代动作理解工具箱和基准。\n- [MMFlow](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmflow)：OpenMMLab 光流工具箱和基准。\n- [MMDeploy](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy)：OpenMMLab 模型部署框架。\n- [MMRazor](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmrazor)：OpenMMLab 模型压缩工具箱和基准。\n- [MIM](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmim)：MIM 用于安装 OpenMMLab 的软件包。\n- [Playground](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fplayground)：一个汇集和展示基于 OpenMMLab 构建的精彩项目的中心平台。","# MMDeploy 快速上手指南\n\nMMDeploy 是 OpenMMLab 推出的开源深度学习模型部署工具集，支持将 OpenMMLab 系列算法模型转换为多种推理后端格式（如 ONNX, TensorRT, NCNN, OpenVINO 等），并提供高效的 C\u002FC++ SDK。\n\n## 环境准备\n\n在开始之前，请确保满足以下系统要求和依赖版本对齐。**MMDeploy 1.x** 版本需配合 **OpenMMLab 2.0** 系列代码库使用。\n\n### 版本对齐要求\n| 组件 | MMDeploy 0.x (已弃用) | **MMDeploy 1.x (推荐)** |\n| :--- | :---: | :---: |\n| **mmdeploy** | 0.x.y | **1.x.y** |\n| **mmengine** | - | **0.x.y** |\n| **mmcv** | \u003C= 1.x.y | **2.x.y** |\n| **mmdet** (示例) | \u003C= 2.x.y | **3.x.y** |\n| **其他算法库** | 0.x.y | **1.x.y** |\n\n### 前置依赖\n- **操作系统**: Linux (推荐), Windows, macOS (部分后端), Android\n- **Python**: 3.6+\n- **PyTorch**: 1.8+ (需与 mmcv\u002Fmmcv-full 版本匹配)\n- **CUDA**: 根据选择的推理后端（如 TensorRT）安装对应版本（可选，CPU 后端无需 CUDA）\n\n## 安装步骤\n\n推荐使用 `pip` 进行安装。为确保下载速度，建议使用国内镜像源。\n\n### 1. 安装基础依赖\n首先安装 PyTorch 和 MMEngine、MMCV。以下命令以 CUDA 11.x 为例（如需 CPU 版本或其他 CUDA 版本，请参考 PyTorch 官网）：\n\n```bash\n# 使用清华镜像源加速安装\npip install torch torchvision torchaudio --index-url https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n\n# 安装 MMEngine\npip install -U openmim\nmim install mmengine\n\n# 安装 MMCV 2.x (注意：MMDeploy 1.x 需要 mmcv >= 2.0.0)\nmim install \"mmcv>=2.0.0\"\n```\n\n### 2. 安装 MMDeploy\n直接通过 pip 安装最新稳定版：\n\n```bash\n# 使用国内镜像源\npip install -U mmdeploy --extra-index-url https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n\n# 或者安装包含特定后端的版本（例如 TensorRT，需先配置好 TensorRT 环境）\n# pip install -U mmdeploy[tensorrt]\n```\n\n> **注意**：如果需要从源码编译以支持特定硬件后端（如 RKNN, Ascend, SNPE 等），请参考官方文档的“从源码构建”章节。\n\n## 基本使用\n\nMMDeploy 的核心功能是通过 `tools\u002Fdeploy.py` 脚本将训练好的模型转换为部署格式。以下是一个将 MMDetection 模型转换为 ONNX 格式的简单示例。\n\n### 1. 准备模型配置文件与权重\n假设你有一个基于 MMDetection 3.x 训练的模型，拥有配置文件 `config.py` 和权重文件 `checkpoint.pth`。\n\n### 2. 执行模型转换\n运行以下命令将模型导出为 ONNX 格式：\n\n```bash\npython tools\u002Fdeploy.py \\\n    \u003Cdeploy-config> \\\n    \u003Cmodel-config> \\\n    \u003Ccheckpoint> \\\n    \u003Cinput-image> \\\n    --work-dir \u003Coutput-dir>\n```\n\n**具体示例**（以 MMDetection 的 Faster R-CNN 为例）：\n\n```bash\n# 1. 获取 MMDeploy 自带的部署配置文件 (若未安装源码，可从 GitHub 下载对应的 config 文件)\n# 这里假设使用的是 mmdet 的 onnxruntime 静态形状配置\nwget https:\u002F\u002Fraw.githubusercontent.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fmain\u002Fconfigs\u002Fmmdet\u002Finstance-seg\u002Fonnxruntime\u002Fstatic.py -O deploy_config.py\n\n# 2. 执行转换\npython tools\u002Fdeploy.py \\\n    deploy_config.py \\\n    path\u002Fto\u002Fmmdet_config.py \\\n    path\u002Fto\u002Fcheckpoint.pth \\\n    demo.jpg \\\n    --work-dir work_dir\n```\n\n### 3. 验证与推理\n转换成功后，`work-dir` 目录下将生成 `.onnx` 模型文件及相关的元数据。你可以使用 MMDeploy 提供的测试脚本验证模型效果：\n\n```bash\npython tools\u002Ftest.py \\\n    path\u002Fto\u002Fmmdet_config.py \\\n    work_dir\u002Fend2end.onnx \\\n    --img demo.jpg \\\n    --show\n```\n\n或者使用生成的 SDK 进行 C++\u002FPython 推理（需编译 SDK）。\n\n---\n*更多详细用法、支持的模型列表及特定后端（如 TensorRT, NCNN）的配置，请参阅 [MMDeploy 官方文档](https:\u002F\u002Fmmdeploy.readthedocs.io\u002Fen\u002Flatest\u002F)。*","某智慧交通团队需要将基于 MMDetection 训练的 YOLOv8 车辆检测模型，快速部署到路侧的 NVIDIA Jetson 边缘计算设备上，以实现实时的违章抓拍。\n\n### 没有 mmdeploy 时\n- **手动转换极易出错**：工程师需手动编写复杂的 PyTorch 转 ONNX 脚本，常因算子不支持或动态轴设置错误导致导出失败，排查耗时数天。\n- **推理性能低下**：直接在边缘设备运行 PyTorch 模型，显存占用高且推理延迟超过 200ms，无法满足实时性要求。\n- **环境依赖地狱**：生产环境需安装庞大的 PyTorch 全套依赖，与嵌入式系统的精简需求冲突，部署包体积过大。\n- **多后端适配困难**：若想尝试 TensorRT 加速，需额外学习特定编译流程，代码耦合度高，切换推理后端几乎等于重写。\n\n### 使用 mmdeploy 后\n- **一键式模型转换**：通过 mmdeploy 提供的统一接口，仅需一条命令即可自动处理算子重写与动态轴，成功导出高精度 ONNX 模型。\n- **极致推理加速**：利用 mmdeploy 内置的 TensorRT 后端支持，自动完成引擎构建与优化，将推理延迟降低至 30ms 以内，提升近 7 倍。\n- **轻量级运行时**：生成的部署包仅包含必要的推理库，彻底移除训练框架依赖，完美适配资源受限的边缘设备。\n- **灵活的后端切换**：无需修改业务代码，只需调整配置文件即可在 ONNX Runtime、TensorRT 或 OpenVINO 之间无缝切换，便于不同硬件选型。\n\nmmdeploy 通过屏蔽底层异构硬件的复杂性，让算法团队能专注于模型优化，实现了从“训练完成”到“落地应用”的分钟级跨越。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fopen-mmlab_mmdeploy_279c1e28.png","open-mmlab","OpenMMLab","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fopen-mmlab_7c171dd7.png","",null,"https:\u002F\u002Fopenmmlab.com","https:\u002F\u002Fgithub.com\u002Fopen-mmlab",[81,85,89,93,97,101,105,109,113,117],{"name":82,"color":83,"percentage":84},"Python","#3572A5",46.2,{"name":86,"color":87,"percentage":88},"C++","#f34b7d",41.1,{"name":90,"color":91,"percentage":92},"Cuda","#3A4E3A",4.4,{"name":94,"color":95,"percentage":96},"CMake","#DA3434",2.1,{"name":98,"color":99,"percentage":100},"C","#555555",1.9,{"name":102,"color":103,"percentage":104},"C#","#178600",1.8,{"name":106,"color":107,"percentage":108},"Java","#b07219",0.9,{"name":110,"color":111,"percentage":112},"Shell","#89e051",0.7,{"name":114,"color":115,"percentage":116},"Dockerfile","#384d54",0.5,{"name":118,"color":119,"percentage":120},"Objective-C++","#6866fb",0.2,3118,708,"2026-04-03T04:31:12","Apache-2.0",4,"Linux, Windows, macOS, Android","非必需（支持 CPU 后端）。若使用 NVIDIA GPU 加速，需支持 CUDA 11.3+ (TensorRT\u002FONNXRuntime)，具体显存取决于模型大小；支持华为 Ascend、Rockchip NPU 及 Apple M1 (CoreML) 等特定硬件。","未说明",{"notes":130,"python":128,"dependencies":131},"MMDeploy 1.x 版本需与 OpenMMLab 2.0 系列算法库对齐（如 mmengine 0.x, mmcv 2.x, mmdet 3.x）。支持多种推理后端（ONNXRuntime, TensorRT, NCNN, OpenVINO, SNPE, CANN 等），不同后端对操作系统和硬件架构（x86_64, ARM, RISC-V）有特定兼容性要求，详见支持矩阵表。默认分支已切换至 main，0.x 版本即将弃用。",[132,133,134,135,136,137,138,139],"mmengine>=0.x.y","mmcv>=2.x.y","mmdet>=3.x.y (针对检测任务)","onnxruntime","tensorrt","ncnn","openvino","torchscript",[14,15],[142,143,144,136,137,145,138,135,146,147,148,149,150,151],"model-converter","sdk","deployment","pplnn","onnx","mmdetection","mmsegmentation","computer-vision","deep-learning","pytorch","2026-03-27T02:49:30.150509","2026-04-07T09:48:33.375019",[155,160,165,170,174,178,182],{"id":156,"question_zh":157,"answer_zh":158,"source_url":159},21594,"使用 C++ SDK 进行实例分割时，输出的掩码（mask）为空或无法显示，如何解决？","该问题通常与环境配置或模型转换有关。首先确保使用的是最新版本的 mmdeploy，因为相关 Bug 已在之前的 PR 中修复。如果问题依旧，请检查以下步骤：\n1. 确认模型转换时是否正确包含了实例分割所需的后处理逻辑。\n2. 检查 C++ 代码中 `det.mask` 的获取方式，确保在过滤置信度之前数据已正确加载。\n3. 尝试重新基于最新的 main 分支代码编译 SDK。\n4. 如果是 TensorRT 引擎，确认是否缺少插件库，需按照文档安装对应的 TensorRT 插件。","https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fissues\u002F2328",{"id":161,"question_zh":162,"answer_zh":163,"source_url":164},21595,"模型转换为 TensorRT 引擎后，检测结果的置信度（Score）大幅下降怎么办？","置信度下降可能是由于数值精度差异或边界框缩放问题导致的。解决方案如下：\n1. 尝试使用 master 分支的最新代码重新转换模型，新版本通常优化了精度问题。\n2. 检查是否需要将检测到的边界框（bounding boxes）重新缩放到原始图像尺寸，未正确还原坐标系会导致评分计算偏差。\n3. 对比 FP32 和 FP16 模式，有时 FP16 会引入较大误差，可先测试 FP32 模式确认是否正常。\n4. 轻微的数值差异（如 0.6751 vs 0.6026）在模型转换中属于正常现象，只要检测框位置准确即可接受。","https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fissues\u002F972",{"id":166,"question_zh":167,"answer_zh":168,"source_url":169},21596,"在 Windows 上编译或使用 C++ SDK 时，遇到找不到 DLL 文件（如 opencv_world460.dll）或加载失败的问题如何解决？","此类问题通常由依赖库路径未配置引起。解决方法包括：\n1. 确认系统中已安装对应版本的 OpenCV，并将包含 `opencv_world*.dll` 的目录添加到系统环境变量 PATH 中。\n2. 如果不想处理动态库加载问题，可以在编译 SDK 时添加 `-DMMDEPLOY_SHARED_LIBS=OFF` 选项，静态链接依赖库以避免运行时加载错误。\n3. 确保所有相关的 DLL 文件（包括 CUDA、cuDNN 等）都在可访问路径下。","https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fissues\u002F784",{"id":171,"question_zh":172,"answer_zh":173,"source_url":169},21597,"在 Windows 上编译支持 CUDA 的 SDK 时，出现 \"Enable language CUDA\" 错误或 MSBuild 集成问题怎么办？","这是 Visual Studio 与 CUDA 工具包集成缺失导致的。请按以下步骤修复：\n1. 从 CUDA 安装目录（例如 `C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v11.x\\extras\\visual_studio_integration\\MSBuildExtensions`）复制以下四个文件：`CUDA.Build.props`, `CUDA.Build.targets`, `CUDA.Cpp.Common.props`, `CUDA.Cpp.Common.targets`。\n2. 将上述文件粘贴到 Visual Studio 的构建自定义目录中（例如 `C:\\Program Files\\Microsoft Visual Studio\\20xx\\Community\\Msbuild\\Microsoft\\VC\\v160\\BuildCustomizations\\`）。\n3. 如果有多个版本的 VC 目录（如 v150, v160），建议全部复制一份。\n4. 重启 Visual Studio 或重新运行 CMake 配置。",{"id":175,"question_zh":176,"answer_zh":177,"source_url":159},21598,"使用 Python 脚本转换模型成功，但在使用 C++ 推理时提示需要安装插件库，该如何操作？","TensorRT 引擎在 C++ 推理时需要加载特定的插件库才能运行某些算子。解决方法：\n1. 确保在部署环境中安装了与模型转换时相同版本的 TensorRT。\n2. 查找 mmdeploy 生成的插件库文件（通常为 `.so` 或 `.dll` 文件），并将其路径添加到 `LD_LIBRARY_PATH` (Linux) 或 `PATH` (Windows) 环境变量中。\n3. 如果使用 Docker，请确保容器内挂载了正确的插件库路径。\n4. 参考官方文档中关于 \"Custom Ops\" 或 \"Plugins\" 的章节，手动注册缺失的插件。",{"id":179,"question_zh":180,"answer_zh":181,"source_url":169},21599,"CMake 配置时报错找不到 cuDNN 头文件或库文件，即使指定了 cudatoolkit 目录也不行，如何解决？","CMake 脚本会严格检查 cuDNN 的头文件和库文件是否存在于指定路径。解决方法：\n1. 不要仅指向 cudatoolkit 的根目录，必须精确指向包含 `cudnn.h` 的 `include` 目录和包含 `cudnn.lib` (或 `.so`) 的 `lib` 目录。\n2. 使用 CMake 参数显式指定：`-DCUDNN_INCLUDE_DIR=\u002Fpath\u002Fto\u002Fcudnn\u002Finclude -DCUDNN_LIBRARY=\u002Fpath\u002Fto\u002Fcudnn\u002Flib`。\n3. 如果 CMake 仍报错，说明该路径下确实缺少文件，需单独下载并安装与 CUDA 版本匹配的 cuDNN 库。",{"id":183,"question_zh":184,"answer_zh":185,"source_url":164},21600,"模型转换过程中出现大量 TracerWarning 警告（如 tensor 转 int、迭代 tensor 等），会影响最终模型效果吗？","这些警告通常源于 PyTorch 追踪机制对动态值的处理限制。\n1. 大部分警告（如 `Converting a tensor to a Python integer`）表示该值在导出时被固化为了常量，如果输入图像尺寸变化不大，通常不影响使用。\n2. 但如果涉及动态形状（Dynamic Shape），这类警告可能导致模型无法泛化到其他输入尺寸。\n3. 对于 `__floordiv__` 弃用警告，建议升级 PyTorch 版本或在代码中使用 `torch.div(..., rounding_mode='floor')` 替代。\n4. 如果转换后的模型推理结果正常（边界框和分数对齐），则可以忽略这些警告；若结果异常，则需根据警告修改模型代码以支持静态追踪。",[187,192,197,202,207,212,217,222,227,232,237,242,247,252,257,262,267,272,277,282],{"id":188,"version":189,"summary_zh":190,"released_at":191},127607,"v1.3.1","\u003C!-- 使用 .github\u002Frelease.yml 中的配置生成的发布说明，分支为 main -->\n\n## 变更内容\n\n### 🚀 功能\n\n* 由 @Ben-Louis 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2597> 中支持 mmpose 的 RTMO 模型\n* 由 @yinfan98 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2422> 中为 ONNX Runtime 添加 `nms_match` 算子\n* 由 @Boomerl 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2469> 和 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2481> 中支持 mmdet 的 `CondInst` 部署\n* 由 @irexyc 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2438> 中支持 mmdet 的 `HTC`\n\n### 💥 改进\n\n* 由 @RunningLeon 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2449> 中启用导出 simcc 的 `get_simcc_maximum`\n* 由 @irexyc 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2526> 中创建句柄时使用不同的流\n* 由 @Danil328 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2553> 中添加使用 PyTorch 2.0 构建项目的功能\n* 由 @Danil328 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2554> 中为 `LoadImageFromNDArray` 添加前缀 `mmdet`\n\n### 🐞 修复\n\n* 由 @RunningLeon 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2560> 中修复 ORT 封装\n* 由 @LuukvandenBent 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2574> 中修复 rtmdet-ins 模型导出到 ONNX 后掩码维度不匹配的问题\n* 由 @flytocc 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2581> 中修复 RTMDet-Ins 后处理中掩码尺寸错误的问题\n* 由 @Ben-Louis 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2466> 中修复 mmpose 的 yoloxpose 导出 ONNX 的问题\n* 由 @roman-duris 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2497> 中修复 Jetson 平台上构建 wheel 的问题\n* 由 @Y-T-G 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2498> 中修复“没有 startswith 属性”的问题\n* 由 @Y-T-G 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2499> 中修复当 default_scope 为 None 时的错误\n* 由 @Y-T-G 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2506> 中修复对 ndarray 列表的姿态推理问题\n\n### 📚 文档\n\n* 由 @shuyaoyimei 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2476> 中更新在 Windows 平台上使用 NCNN 后端构建 mmdeploy 的文档\n\n### 🌐 其他\n\n* 由 @RunningLeon 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2613> 中将版本升级至 v1.13.1\n* 由 @RunningLeon 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2609> 中修复 CI 失败问题\n\n## 新贡献者\n\n* @shuyaoyimei 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2476> 中完成了首次贡献\n* @yinfan98 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2422> 中完成了首次贡献\n* @Boomerl 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2469> 中完成了首次贡献\n* @Ben-Louis 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2466> 中完成了首次贡献\n* @roman-duris 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2497> 中完成了首次贡献\n* @LuukvandenBent 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-m","2023-12-25T12:30:11",{"id":193,"version":194,"summary_zh":195,"released_at":196},127608,"v1.3.0","\u003C!-- 发布说明由 .github\u002Frelease.yml 配置在 main 分支生成 -->\n\n## 变更内容\n\n### 🚀 功能\n\n* @RunningLeon 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2410> 中支持 mmdet 的 DINO、Deformable DETR、Conditional DETR 和 DAB-DETR\n* @RunningLeon 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2347> 中支持 mmdet 的 PanopticFPN、MaskFormer 和 Mask2Former\n* @RunningLeon 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2259> 中支持 mmaction2 的 TSM 和 X3D\n* @RunningLeon 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2269> 中支持 ONNX Runtime 的 FP16 模式\n* @zhjunqin 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2312> 中支持部署 mmdet3d 的 SMOKE\n* @Macok 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2256> 中支持 mmpretrain 的 MobileNetV3\n* @RunningLeon 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2447> 中将预编译包升级至 `cuda-11.8`、`tensorrt-8.6.1` 和 `onnxruntime-1.15.1`\n\n### 💥 改进\n\n* @AllentDan 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2292> 中优化了 ORT MDCN 中的 GEMM 算子\n* @tpoisonooo 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2307> 中添加了时间性能分析功能\n* @KKIEEK 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2418> 中将 MMEdit 重命名为 MMagic\n* @RunningLeon 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2450> 中支持在 pose_tracker Python 示例中进行 COCO 全身标注可视化\n* @AllentDan 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2278> 中将 rknn-toolkit2 版本升级至 1.5\n\n### 🐞 Bug 修复\n\n* @yhna940 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2305> 中防止了在 ONNXNMSRotatedOp 中使用空输入导出 ONNX 时出现 RuntimeError\n* @AllentDan 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2319> 中修复了 PyTorch deepcopy 的跟踪错误\n* @irexyc 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2356> 中修复了 Palette 的随机颜色问题\n* @tpoisonooo 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2339> 中为不准确的性能分析结果添加了预热机制\n* @irexyc 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2392> 中修复了 mmdet 导出到 CoreML 后端的问题\n* @RunningLeon 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2343> 中修复了 RTMDet-Inst SDK 的问题\n* @grimoire 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2406> 中修复了 ONNX Runtime Op 的内存泄漏问题\n* @irexyc 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2411> 中修复了多 GPU 执行时的 SDK 错误\n* @irexyc 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2426> 中修复了 SDK 中超分辨率图像加载的问题\n* @flytocc 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2432> 中修复了 ONNX Runtime 编译器错误\n* @CescMessi 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2428> 中修复了 ONNX opset≥16 版本中 ROI Align 符号函数的问题\n* @RunningLeon 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2425> 中修复了 mmdet3d 的 torch2onnx 转换问题\n* @RunningLeon 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2453> 中修复了在 PyTorch 2.0 上使用 RTMDet-Inst、ViT 和 Conformer 进行转换时的问题\n* @xiabo12 修复了 mmdeploy.version_info","2023-09-22T02:51:54",{"id":198,"version":199,"summary_zh":200,"released_at":201},127609,"v1.2.0","\u003C!-- 使用 .github\u002Frelease.yml 中的配置生成的发布说明，分支为 main -->\n\n## 变更内容\n\n### 🚀 功能特性\n\n* 支持 YoloX-Pose，由 @huayuan4396 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2184> 中实现\n* 支持 MMPretrain EfficientFormer，由 @huayuan4396 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2108> 中实现\n* 支持 mscv 静态链接 CRT，由 @irexyc 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2118> 中实现\n* 在预编译包中启用读取 ZIP 模型功能，由 @irexyc 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2185> 中实现\n\n### 💥 优化改进\n\n* 减少 mmdeploy Android 库的大小，由 @irexyc 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2095> 中实现\n* 升级 `build_ubuntu_x64_ncnn.py` 中的 ncnn 版本，由 @tpoisonooo 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2154> 中实现\n* 添加 coco-wholebody-hand 骨骼标注，由 @huangjiyi 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2186> 中实现\n* 添加 pplcv 区域插值功能，由 @carminez88 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2153> 中实现\n\n### 🐞 错误修复\n\n* 修复 mmseg 输出同步问题，由 @irexyc 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2122> 中实现\n* 修复 mmyolo 的导出信息问题，由 @RunningLeon 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2146> 中实现\n* 修复 satrn onnxruntime 批量推理问题，由 @irexyc 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2139> 中实现\n* 修复 mmseg out_channels=1 的问题，由 @RunningLeon 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2179> 中实现\n* 修复带有多层级输出的 pointpillars 的 torch2onnx 转换问题，由 @RunningLeon 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2210> 中实现\n* 修复文本识别任务后处理问题，由 @irexyc 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2209> 中实现\n* 修复 NMS 返回索引问题，由 @huayuan4396 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2196> 中实现\n* 修复 trt API 使用错误，由 @irexyc 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2211> 中实现\n\n### 📚 文档更新\n\n* 添加部署介绍，由 @tpoisonooo 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2120> 中实现\n* 更新文档中的链接，由 @RunningLeon 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2114> 中实现\n* 更新 Docker 安装相关文档，由 @RunningLeon 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2142> 中实现\n* 更新 README 中的介绍图片及文档，由 @RunningLeon 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2175> 中实现\n* 添加 SDK Doxygen 文档，由 @irexyc 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2157> 中实现\n* 添加 SDK 性能分析工具文档，由 @irexyc 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2189> 中实现\n\n### 🌐 其他\n\n* 修复资产上传问题，由 @RunningLeon 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2130> 中实现\n* 修复部分单元测试问题，由 @RunningLeon 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2187> 中实现\n* 将版本号提升至 v1.2.0，由 @RunningLeon 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2223> 中实现\n\n## 新贡献者\n\n* @carminez88 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2153> 中完成了首次贡献\n* @huangjiyi 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2186> 中完成了首次贡献\n\n**完整变更日志**: \u003Chttps:\u002F\u002Fgithub.com\u002Fop","2023-06-30T13:41:40",{"id":203,"version":204,"summary_zh":205,"released_at":206},127610,"v1.1.0","\u003C!-- 使用 .github\u002Frelease.yml 中的配置生成的发布说明 -->\n\n## 变更内容\n\n### 🚀 功能\n\n* 由 @Li-Hongda 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1521> 中实现，支持使用 OpenVINO 部署 SOLOv2。\n* 由 @irexyc 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2027> 中实现，支持从内存加载 OpenVINO 模型。\n* 由 @AllentDan 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2064> 中添加注意力转换器。\n\n### 💥 改进\n\n* 由 @huayuan4396 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2003> 中将 **mmcls** 重命名为 **mmpretrain**。\n* 由 @huayuan4396 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2061> 和 @AllentDan 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2092> 中将 **mmedit** 重命名为 **mmagic**。\n* 由 @AllentDan 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2038> 中添加 `with argmax`。\n* 由 @RunningLeon 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2071> 中支持 ONNX Runtime 和 TensorRT 的 opset_version 13。\n* 由 @AllentDan 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2063> 中根据上游代码库调整 `Resize` 和 `Pad` 中的宽高顺序。\n\n### 🐞 Bug 修复\n\n* 由 @RunningLeon 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1977> 中修复 RetinaNet 在 PyTorch 1.13 下的错误可视化问题。\n* 由 @irexyc 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1980> 中修复 RKNN 和 aarch64 构建 CI 的问题。\n* 由 @irexyc 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2018> 中修复 NCNN 量化时的数据加载器问题。\n* 由 @RunningLeon 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2056> 中修复 MMSeg 的 `with_argmax` 问题。\n* 由 @grimoire 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2078> 中修复 CascadeRoiHead 的批次索引错误。\n* 由 @AllentDan 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1789> 中修复 MMOCR 的回归测试问题。\n* 由 @huayuan4396 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2105> 中修复函数重写器的问题。\n\n### 📚 文档\n\n* 由 @AllentDan 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1789> 中更新 SAR 状态。\n* 由 @kaizhong2021 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1986> 中生成支持后端的 Markdown 表格。\n* 由 @Renzhihan 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1978> 中更新 mmcls 文档。\n* 由 @Renzhihan 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2022> 中更新 mmseg 文档。\n* 由 @huayuan4396 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2031> 中更新 README 中的仓库列表。\n* 由 @liuzhixin2003 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1994> 中更新 `build_from_source.md`。\n* 由 @Luo-Z13 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2054> 中更新 mmdet.md 的中英文版本。\n* 由 @huayuan4396 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2020> 中更新 GitHub 工作流徽章。\n\n### 🌐 其他\n\n* 由 @RunningLeon 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1999> 中移除 CircleCI。\n* 由 @RunningLeon 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2058> 中更新 NCNN+PPQ 的 GitHub CI。\n* 由 @RunningLeon 在 \u003Chttps:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F2081> 中添加 GitHub Actions 中的回归测试工作流。\n* 限制 r 中的 urllib3。","2023-05-24T13:16:34",{"id":208,"version":209,"summary_zh":210,"released_at":211},127611,"v1.0.0","\r\n## 变更内容\r\n### 🎉 亮点\r\n\r\n- 我们很高兴地宣布 MMDeploy v1.0.0 正式发布。MMDeploy v1.0.0 是 OpenMMLab 2.0 项目中的 MMDeploy 1.x 系列的首个正式版本。截至此次发布，MMDeploy 1.x 已支持以下基于 OpenMMLab 2.0 的项目：MMCls 1.x、MMDet 3.x、MMDet3d 1.x、MMSeg 1.x、MMEdit 1.x、MMOCR 1.x、MMPose 1.x、MMAction2 1.x、MMRotate 1.x、MMYOLO。\r\n- 我们已将默认分支从 `master` 切换至 `main`。MMDeploy 0.x（`master` 分支）将被弃用，未来新功能将仅添加到 MMDeploy 1.x（`main` 分支）中。\r\n- 我们提供了全新预构建的 mmdeploy 包，用户可以通过 pip 安装 mmdeploy，也可以从 GitHub 发布页面下载库文件以进行 SDK 推理。\n\n### 🚀 功能特性\r\n\r\n- 支持 Vacc 后端 (#1679)\r\n- 动态加载网络模块，以消除对 mmdeploy.so 的依赖 (#1776)\r\n- 将 Java API 与新增的 C API 和示例同步 (#1795)\r\n- 在 LinearClsHead 中添加可选的 softmax (#1863)\r\n- 支持 mmrazor (#1701)\r\n- 支持 multi_scale_deform_attn TensorRT 插件 (#1844)\r\n- 将 C# API 与新增的 C API 及示例同步 (#1889)\r\n- 支持 RTMDet 和 RTMPose 的 NCNN 部署 (#1857)\r\n- 支持来自 mmclassification 的 ConformerHead (#1905)\n\n### 🔥 优化改进\r\n\r\n- 将 ONNX 升级至 1.13.0，以解决安全问题 (#1793)\r\n- 当输入为动态时，为 TensorRT 重写 torch.cat 操作 (#1851)\r\n- 添加基于自托管运行器的 GitHub 工作流 (#1751)\r\n- 优化 mmpose 后处理 (#1888)\r\n- 增加 rtmpose 对 CoreML 的支持 (#1902)\r\n- 新版本发布后添加 GitHub 预构建工作流 (#1852)\r\n- 将 mmdeploy_python 重命名为 mmdeploy_runtime (#1821)\r\n- 更新预构建镜像的工具集 (#1932)\r\n- 更新介绍图片 (#1937)\n\n### 🐞 错误修复\r\n\r\n- 修复 Android 平台上 fp16 减法溢出的问题 (#1819)\r\n- 修复 test_codebase 中的单元测试 (#1790)\r\n- 修复 TensorRT 8.0 上的 clip 操作问题 (#1833)\r\n- 修复 MobileOne 的部署问题 (#1870)\r\n- 修复调用 TensorRT 日志记录器时的警告方法 (#1850)\r\n- 修复 RTMDet-Ins 头部的问题 (#1884)\r\n- 修复 Ascend 平台上的 Faster R-CNN 问题 (#1842)\r\n- 修复 SDK 中 RTMDet-Ins 推理结果缺少掩码的问题 (#1867)\r\n- 修复 pose_tracker Python API 在结果中无行人时会抛出 ValueError 的问题 (#1922)\r\n- 修复 mmrotate 及回归脚本的问题 (#1917)\r\n- 添加统一的设备保护机制 (#1855)\r\n- 修复 Debian aarch64 平台的交叉编译问题 (#1806)\r\n- 仅在单体构建中导出 mmdeploy (#1798)\r\n- 修复部署 MMYOLO-OpenVINO、DETR、ConvFormer 和 RTMDet 时出现的错误 (#1919)\n\n### 📚 文档更新\r\n\r\n- 更新从 PyPI 安装的入门指南 (#1947)\n\n### 🌐 其他\r\n\r\n- 版本号升级至 v1.0.0 (#1960)\n\n\n## 新贡献者\r\n* @doufengqi 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1165 中做出了首次贡献\r\n* @RangiLyu 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1104 中做出了首次贡献\r\n* @MambaWong 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1324 中做出了首次贡献\r\n* @vansin 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1334 中做出了首次贡献\r\n* @sanbuphy 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1334 中做出了首次 C 语言贡献","2023-04-06T08:20:53",{"id":213,"version":214,"summary_zh":215,"released_at":216},127612,"v0.14.0","\r\n## 变更内容\r\n### 🎉 亮点\r\n\r\n- 我们很高兴地宣布 MMDeploy v1.0.0 和 v0.14.0 的发布。MMDeploy v1.0.0 是 MMDeploy 1.x 系列的第一个正式版本，属于 OpenMMLab 2.0 项目的一部分。\r\n- 我们已将默认分支从 `master` 切换至 `main`。MMDeploy 0.x（`master` 分支）将被废弃，未来新功能将仅在 MMDeploy 1.x（`main` 分支）中添加。\r\n- 我们提供了全新的预构建 mmdeploy 包，用户可以通过 pip 安装 mmdeploy，也可以从 GitHub 发布页面下载库文件以进行 SDK 推理。\r\n\r\n### 🚀 功能特性\r\n\r\n- 支持 ONNX Runtime 的 TensorRT 引擎 (#1739)\r\n- 将 C# API 与新增的 C API 及示例同步 (#1718)\r\n- 动态加载网络模块，以消除对 mmdeploy.so 的依赖 (#1776)\r\n- 支持 mmocr 中 FPNC 颈部的 ASF 模块 (#1828)\r\n- 将 Java API 与新增的 C API 及示例同步 (#1856)\r\n- 增加对 inpainting 模型转换为 ONNX 和 TensorRT 的支持 (#1831)\r\n\r\n### 🔥 改进\r\n\r\n- 添加 Model::ReadConfig 方法，并简化句柄创建过程 (#1738)\r\n- 在准备预构建包时禁用演示程序的构建 (#1810)\r\n- 在 LinearClsHead 中添加可选的 softmax (#1858)\r\n- 为 mmdeploy 1.x 添加高亮版本 (#1871)\r\n- 优化 mmpose 后处理 (#1887)\r\n- 将 mmdeploy_python 重命名为 mmdeploy_runtime (#1911)\r\n- 更新 pplnn 至 v0.9.2，以解决 CI 错误 (#1934)\r\n- 将 OpenVINO 升级至 2022.3.0 (#1944)\r\n\r\n### 🐞 Bug 修复\r\n\r\n- 修复 OpenCV 3.x 上调色板生成问题 (#1778)\r\n- 修正使用 trtlogger 而非 mm logger 的问题 (#1755)\r\n- 修复 to_rgb 选项的归一化问题 (#1771)\r\n- 修复 gcc-10 构建缺少头文件的问题 (#1802)\r\n- 在单体构建中避免链接静态库 (#1797)\r\n- 修复 Debian aarch64 交叉编译问题 (#1806)\r\n- 添加统一的设备保护机制 (#1855)\r\n- 仅在单体构建中导出 mmdeploy (#1798)\r\n- 修复过时的工作流问题 (#1825)\r\n- 修复 pose_tracker Python API 在结果中无行人时会抛出 ValueError 的问题 (#1923)\r\n- 修复当 box_head 中 reg_class_agnostic=True 时 CascadeRoIHead 导出失败的问题 (#1900)\r\n\r\n### 📚 文档\r\n\r\n- 修复 docs\u002Fen\u002F07-developer-guide\u002Fregression_test.md 中的拼写错误 (#1907)\r\n- 更新从 PyPI 安装的入门指南 (#1950)\r\n\r\n\r\n### 🌐 其他\r\n\r\n- 版本号升级至 v0.14.0 (#1943)\r\n\r\n## 新贡献者\r\n* @yhna940 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1739 中做出了首次贡献\r\n* @kumailf 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1907 中做出了首次贡献\r\n* @KKIEEK 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1831 中做出了首次贡献\r\n\r\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fcompare\u002Fv0.13.0...v0.14.0","2023-04-06T05:58:00",{"id":218,"version":219,"summary_zh":220,"released_at":221},127613,"v1.0.0rc3","## 变更内容\n* [修复] 由 @lzhangzz 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1779 中修复了 opencv-3.x 上的调色板生成问题。\n* [修复] 由 @AllentDan 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1756 中修复了单元测试及 text_det 的 create_input 函数。\n* [修复] 由 @AllentDan 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1786 中修改了构建 rknn 时的编译选项，将 -DMMDEPLOY_SHARED_LIBS=ON 开关打开。\n* [修复] 由 @SineYuan 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1792 中修复了 SDK 中 to_rgb 选项不生效的问题（dev1.x 版本）。\n* [增强] 由 @lzhangzz 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1794 中新增 `Model::ReadConfig` 方法，并简化了模型句柄的创建流程。\n* [修复] 由 @grimoire 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1799 中修复了 TensorRT int8 模式下的问题。\n* [修复] 由 @i-square 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1785 中通过将 `class YOLOV5Head` 改为 `class YOLOv5Head`，修复了组件未找到的问题。\n* [修复] 由 @irexyc 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1772 中修复了 package_tools 相关问题。\n* [修复] 由 @lzhangzz 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1801 中避免在单体构建中链接静态库。\n* [修复] 由 @lzhangzz 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1804 中修复了 gcc-10 构建时缺少头文件的问题（#1802）。\n* [修复] 由 @grimoire 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1768 中修复了 CenterNet 的问题。\n* [修复] 由 @lvhan028 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1803 中禁用了在准备预编译包时构建示例程序的功能。\n* 由 @lvhan028 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1811 中将版本号升级至 1.0.0rc3。\n\n## 新贡献者\n* @i-square 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1785 中完成了首次贡献。\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fcompare\u002Fv1.0.0rc2...v1.0.0rc3","2023-02-24T10:43:44",{"id":223,"version":224,"summary_zh":225,"released_at":226},127614,"v1.0.0rc2","\r\n\r\n## 变更内容\r\n### 🚀 功能特性\r\n* [功能] CodeCamp #101：支持在 RV1126 上部署 MMDetection 3.x 的 RTMDet 模型，由 @Qingrenn 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1551 中实现\r\n* [功能] 支持更多 MMOCR 模型：DBNet++、TextSnake、ABINet、MRCNN，由 @AllentDan 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1534 中实现\r\n* [功能] 支持 RTMDet-Ins，由 @RangiLyu 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1662 中实现\r\n* [功能] 添加 COCO 全身骨骼标注（#1736），由 @lzhangzz 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1742 中实现\r\n### 💥 优化改进\r\n* [优化] [cherry-pick: #1688] 移除 MMDEPLOY_BUILD_SDK_CXX_API 选项，由 @lvhan028 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1692 中实现\r\n* [优化] 为 TensorRT 添加 320x320 静态配置，由 @hanrui1sensetime 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1689 中实现\r\n* [优化] 在 mmdeploy 中添加 mmyolo 的 CI 流程，由 @hanrui1sensetime 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1650 中实现\r\n* [优化] 启用 TRT 从文件解析 ONNX 模型的功能，由 @AllentDan 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1734 中实现\r\n* [优化] 提交 SimCC 的 TensorRT FP16 部署配置，由 @lvhan028 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1741 中实现\r\n### 🐞 错误修复\r\n* [修复] 修复 CUDA 10.2 平台上的构建错误，由 @irexyc 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1597 中实现\r\n* [修复] 修复检查环境信息中的日志拼写错误，由 @AllentDan 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1613 中实现\r\n* [修复] 修复 LetterResize 变换中的拼写错误，由 @lzhangzz 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1618 中实现\r\n* [修复] 修复 TorchWrapper 中的 no test_step 错误，由 @AllentDan 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1600 中实现\r\n* [修复] 修正 Dockerfile 中调用 Miniconda 脚本的问题，由 @nghiaho12 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1629 中实现\r\n* [修复] 修复 CircleCI 中 Numba 和 NumPy 版本不兼容的问题，由 @RunningLeon 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1611 中实现\r\n* [修复] 修复 RKNN 的性能测试问题，由 @AllentDan 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1583 中实现\r\n* [修复] 将 MMPose 中的 SyncBN 替换为 BN，由 @hanrui1sensetime 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1631 中实现\r\n* [修复] 修复无头设备的可视化问题，由 @grimoire 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1630 中实现\r\n* [修复] 修复 CIFAR 数据集的 preprocess_model_config 配置，由 @hanrui1sensetime 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1659 中实现\r\n* [修复] 修复 SDK 中 RKNN 输出索引错误，由 @AllentDan 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1682 中实现\r\n* [修复] 修复代码风格检查问题，由 @triple-Mu 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1680 中实现\r\n* [修复] 修复 1.x 分支的 CoreML 问题，由 @grimoire 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1669 中实现\r\n* [修复] 修复 MMPose 回归编码器 SDK 导出问题，由 @irexyc 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1684 中实现\r\n* [修复] 修复 RKNN 量化流程问题，由 @AllentDan 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1636 中实现\r\n* [修复] 修复 NMS TRT Jetson 1.x 的问题，由 @grimoire 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1687 中实现\r\n* [修复] 导入 torchv","2023-02-16T06:40:57",{"id":228,"version":229,"summary_zh":230,"released_at":231},127615,"v0.13.0","\u003C!-- 使用 .github\u002Frelease.yml 中的配置在 v0.13.0 版本生成的发布说明 -->\n\n## 变更内容\n### 🚀 功能\n* [功能] 支持 mmsegmentation 的特征图输出，由 @irexyc 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1625 中实现。\n* [功能] 姿势跟踪器的 C\u002FC++\u002FPython API 及示例，由 @lzhangzz 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1663 中实现。\n* [功能] 为姿势跟踪器示例添加 COCO 全身骨骼，由 @lzhangzz 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1736 中实现。\n### 💥 改进\n* [增强] 支持自动生成发布说明，由 @grimoire 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1589 中实现。\n* [增强] 禁用 ONNX 优化器警告，由 @grimoire 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1593 中实现。\n* [增强] 改进单元测试，由 @grimoire 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1619 中实现。\n* [增强] 更新回归测试中的日志扩展名，由 @RunningLeon 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1608 中实现。\n* [增强] 通过 CropResizePad 加速 TopDownAffine，由 @irexyc 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1486 中实现。\n* [增强] 生成支持后端的 Markdown 表格，由 @kaizhong2021 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1374 中实现。\n* [增强] 改进（工具\u002F脚本）：使用用户环境进行 pip 安装，由 @tpoisonooo 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1660 中实现。\n* [增强] 移除 MMDEPLOY_BUILD_SDK_CXX_API 选项，由 @lvhan028 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1688 中实现。\n* [增强] 优化 C++ 示例，由 @lzhangzz 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1715 中实现。\n* [增强] 启用 TRT 从文件解析 ONNX 模型，由 @AllentDan 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1735 中实现。\n* [增强] 支持在系统存在多个 CUDA 版本时进行 CMake 配置，由 @irexyc 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1740 中实现。\n* [增强] 放宽 ONNX 升级时对 Protobuf 版本的要求，由 @goodsong81 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1759 中实现。\n### 🐞 错误修复\n* [修复] 修复 MSVC 的独立构建示例，由 @irexyc 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1626 中实现。\n* [修复] 修复可视化 API 的错误，由 @hanrui1sensetime 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1641 中实现。\n* [修复] CoreML 相关问题，由 @grimoire 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1658 中实现。\n* [修复] 修复单通道图像预处理中的若干错误，由 @lzhangzz 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1666 中实现。\n* [修复] Ascend 相关问题，由 @grimoire 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1667 中实现。\n* [修复] Jetson 平台上的 TRT NMS 问题，由 @grimoire 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1686 中实现。\n* [修复] 实例归一化双重释放问题，由 @grimoire 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1748 中实现。\n* [修复] 修复 `WarpBbox` 以及 `TextRecognizer` 中的内存泄漏，由 @lzhangzz 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1745 中实现。\n* [修复] 修复 Windows-CUDA 平台上存在的构建错误，由 @irexyc 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fpull\u002F1598 中实现。\n* [修复] 修复 PoseTracker 的调试构建问题，由 @lzhangzz 在 http","2023-02-16T06:33:05",{"id":233,"version":234,"summary_zh":235,"released_at":236},127616,"v1.0.0rc1","## 功能特性\n\n- 为 SDK 添加性能分析器 (#1446)\n- 支持 MMRotate 1.x (#1401)\n- 为 RV1126 设备添加 YOLOv5 支持。(#1321)\n- 支持 Torch JIT 调制变形卷积 (#1536)\n- 支持使用 OpenVINO 部署 SOLO (#1454)\n- 支持 TVM (#1531)\n- 支持旋转 RTMDet 的部署 (#1553)\n\n## 优化改进\n\n- 重构 SDK 注册表 (#1368)\n- 避免在 Python API 中复制密集数组 (#1349)\n- 更新 Dockerfile 的 pip 源 (#1484)\n- 添加 rknn 设备检查 (#1363)\n- 精选提交：解耦预处理操作与变换 (#1353)\n- 同步 #1493，以支持将 TorchAllocator 用作 TensorRT GPU 分配器，并修复 DCNv2 TensorRT 插件错误 (#1519)\n- 添加 MD 链接检查的 GitHub Actions (#1320)\n- 移除 transform 'mmaction2::format_shape' 对 cuDNN 的依赖 (#1509)\n- 为 MMRazor 重构重写器上下文 (#1483)\n- 为 pipeline.json 添加 is_batched 参数 (#1528)\n- 重构后端管理器 (#1515)\n\n## Bug 修复\n\n- 支持 ONNXRuntime-1.13 (#1407)\n- 修复 `det->pose` 演示程序 (#1419)\n- 修复 MMOCR 导入时的类型错误 (#1497)\n- 修复 MMEditing 的依赖问题 (#1496)\n- 恢复 mmdet 层 (#1526)\n- 修复 opset 13 下的 squeeze 导出和 unsqueeze 传递错误 (#1538)\n- 修复调试版本 Windows 构建中的“无法查找向量迭代器”错误 (#1543)\n- 修复 ReadTheDocs 中的 API 构建错误 (#1567)\n- 修复单元测试并抑制警告 (#1552)\n- 将 'forward_test' 重命名为 'predict' (#1561)\n- 修复 onnx2ncnn.cpp 中的 bug (#1518)\n\n## 文档\n\n- 为 ReadTheDocs 添加 mmaction2 和 Core ML 索引 (#1542)\n\n## 贡献者\n\n@lzhangzz @lvhan028 @PeterH0323 @AllentDan @irexyc @RunningLeon @grimoire @hanrui1sensetime @pppppM @antoszy @DDGRCF @kota-iizuka @liuyanyi","2022-12-30T10:26:00",{"id":238,"version":239,"summary_zh":240,"released_at":241},127617,"v0.12.0","## Features\r\n\r\n- Support Torch JIT Modulated Deformable Conv (#1508)\r\n- Support TorchAllocator as TesnorRT GPU memory allocator (#1493)\r\n- Support TVM backend (#1216)\r\n- Support probability output for segmentation (#1379)\r\n\r\n## Improvements\r\n\r\n- Add pip source in dockerfile (#1492)\r\n- Reformat multi-line logs and strings (#1489)\r\n- Refactor backend manager (#1475, #1522, #1540)\r\n- Add stale workflow to check issue and PR (#1504, #1510)\r\n- Update ppl.nn v0.9.1 and ppl.cv v0.7.1 (#1356)\r\n- Add is_batched argument to pipeline.json (#1560)\r\n- Build monolithic SDK by default (#1577)\r\n\r\n## Bug fixes\r\n\r\n- Fix conversion and inference support for torch 1.13 (#1488)\r\n- Remove cudnn dependency for transform 'mmaction2::format_shape' (#1509)\r\n- Add build-arch option to build script (#1530)\r\n- Fix 'mmaction2::transpose.cu' build failed on cuda-10.2 (#1539)\r\n- Fix 'cannot seek vector iterator' in debug windows build (#1555)\r\n- Fix ops unittest seg-fault error (#1556)\r\n\r\n## Document\r\n\r\n- Add mmaction2 sphinx-doc link (#1541)\r\n- Update FAQ about copying onnxruntime dll to 'mmdeploy\u002Flib' (#1554)\r\n- Update support_new_backend.md (#1574)\r\n\r\n## Contributors\r\n\r\n@PeterH0323 @grimoire @RunningLeon @irexyc @ouonline @tpoisonooo @antoszy @BuxianChen @AllentDan @lzhangzz @hanrui1sensetime\r\n","2022-12-30T09:52:01",{"id":243,"version":244,"summary_zh":245,"released_at":246},127618,"v1.0.0rc0","We are excited to announce the release of MMDeploy 1.0.0rc0. MMDeploy 1.0.0rc0 is the first version of MMDeploy 1.x, a part of the OpenMMLab 2.0 projects. Up to the release, MMDeploy 1.x supports OpenMMLab 2.0 based projects: MMCls 1.x, MMDet 3.x, MMDet3d 1.x, MMSeg 1.x, MMEdit 1.x, MMOCR 1.x, MMPose 1.x, MMAction2 1.x.\r\n\r\n## Features\r\n\r\n- Support mmaction2 (#1012)\r\n- Support SimCC from mmpose (#1187)\r\n- Support RTMDet from MMDet (#1104)\r\n- Support CenterNet from MMDet (#1219)\r\n- Support MobileOne from MMCls (#1268)\r\n- Support external usage of MMYOLO (#1088)\r\n\r\n## Improvements\r\n\r\n- Update dockerfiles (#1296)\r\n\r\n## Bug fixes\r\n\r\n- Fix test ops (#1352)\r\n- Fix: checkpoint load on cpu (#1324)\r\n\r\n## Document\r\n\r\n- Add MMYOLO desc in README (#1235)\r\n- Modify the links & fix some typos (#1150)\r\n\r\n## Contributors\r\n\r\n@xin-li-67 @liu-mengyang @doufengqi @PeterH0323 @triple-Mu @MambaWong  @isLinXu @francis0407 @sanbuphy @vansin @SsTtOoNnEe @RangiLyu @lvhan028 @grimoire @AllentDan @RunningLeon @lzhangzz @tpoisonooo @hanrui1sensetime\r\n","2022-12-01T07:18:58",{"id":248,"version":249,"summary_zh":250,"released_at":251},127619,"v0.11.0","## Features\r\n\r\n- Support MMaction2 `TSN` and `SlowFast` deployment with ONNXRuntime and TensorRT (#1183,#1410,#1455)\r\n- Support Rockchip device `RV1126`\r\n   - Rewrite `BaseDenseHead.get_bboxes` to support SSD, FSAF and RetinaNet (#1203) \r\n   - Add BaseDenseHead postprocessing in SDK (#1238)\r\n   - Support YOLOv3 and YOLOv5 postprocessing in SDK (#1280，#1424)\r\n- Add SDK profiler (#1274)\r\n- Support end2end deployment for pointpillars & centerpoint(pillar)from MMDet3d (#1178)\r\n\r\n## Improvements\r\n\r\n- Support loading TensorRT libnvinfer plugins (#1275)\r\n- Avoid copying dense arrays in SDK C API and Python API (#1261, #1349)\r\n- Add Core ML common configuration (#1308)\r\n- Refactor SDK registry (#1368)\r\n- Update regresssion test to serialize eval result into json (#1310)\r\n- Support onnxruntime-1.13 API(#1407)\r\n- Decouple preprocess operation and transformation (#1353) \r\n\r\n## Bug fixes\r\n\r\n- Set stream argument when using async memcpy (#1314)\r\n- Use OpenCV with `videoio` enabled for aarch64 platform (#1343)\r\n- Fix(tools\u002Fscripts): find env file failed (#1385)\r\n- Fix ncnn-int8 config path (#1380)\r\n- Fix out-of-boundary issue in SDK when `topk` is larger than `class_num` (#1420)\r\n- Fix yolohead trt8.2 (#1433)\r\n- Fix `pad_to_square` (#1436)\r\n- Fix `det_pose` demo (#1419)\r\n- Relax module adapter template constraints (#1366)\r\n- Fix ncnn torch 1.12 master (#1430)\r\n- Avoid gpu topk const-fold (#1439)\r\n- Support .NET Framwork 4.8 and fix batch inference error(#1370)\r\n- Upgrade ncnn to `20221128` to resolve build error (#1459) \r\n\r\n## Document\r\n\r\n- Add more images for demos and user guides (#1339)\r\n- Improve mmdet3d doc (#1394)\r\n- Display CI results in README (#1452)\r\n- Fix dead links in `write_config.md` (#1396)\r\n\r\n## Contributors\r\n\r\n@xin-li-67 @sunjiahao1999 @francis0407 @Typiqally @triple-Mu @lvhan028 @grimoire @AllentDan @RunningLeon @lzhangzz @tpoisonooo @hanrui1sensetime\r\n","2022-12-01T07:18:38",{"id":253,"version":254,"summary_zh":255,"released_at":256},127620,"v0.10.0","## Features\r\n- Support Monocular 3D Detection and FCOS3D Deployment (#1047)\r\n- Support MMEdit `EDSR` deployment with ncnn-int8 (#1111)\r\n- Rewrite Conv2dAdaptiveOps to support EfficientNet deployment (#1045)\r\n- Add installation scripts for Jetson Orin (#1105)\r\n- Support aarch64 cross compiler (#1126)\r\n\r\n## Improvements\r\n\r\n- Support Fast-SCNN deployment with ncnn backend (#1094)\r\n- Ease rewriter import (#1166)\r\n- Support TensorRT 8.4 (#1144) \r\n- Remove extra domains after model extraction (#1207)\r\n- Add batch inference demos (#986)\r\n- update symbolic rewriter for latest PyTorch API (#1122)\r\n- Detect filesystem library in CMake (#1190)\r\n- compute per sample statistics when profiling in batch mode (#1158)\r\n- Add a device field for `mmdeploy_mat_t` (#1176)\r\n\r\n**Before v0.10.0**\r\n```C\r\ntypedef struct mmdeploy_mat_t {\r\n  uint8_t* data;\r\n  int height;\r\n  int width;\r\n  int channel;\r\n  mmdeploy_pixel_format_t format;\r\n  mmdeploy_data_type_t type;\r\n} mmdeploy_mat_t;\r\n```\r\n**in v0.10.0**\r\n```C\r\ntypedef struct mmdeploy_mat_t {\r\n  uint8_t* data;\r\n  int height;\r\n  int width;\r\n  int channel;\r\n  mmdeploy_pixel_format_t format;\r\n  mmdeploy_data_type_t type;\r\n  mmdeploy_device_t device;\r\n} mmdeploy_mat_t;\r\n```\r\n\r\n## Bug fixes\r\n- Fix `test_windows_onnxruntime` workflow error in circleci (#1254)\r\n- Fix build error when the target device is 'cuda' and the inference backend is 'onnxruntime-gpu' (#1253)\r\n- Fix `layer_norm` symbol error when exporting it with torch>=1.12 (#1168)\r\n- Fix regression test script errors (#1217, #1146)\r\n\r\n## Document\r\n- Update supported backend logos in the cover of README (#1252)\r\n- Add a link to MMYOLO in README (#1235)\r\n\r\n## Contributors\r\n@doufengqi @Qingrenn @liu-mengyang @SsTtOoNnEe @OldDreamInWind @sunjiahao1999 @LiuYi-Up @isLinXu @lansfair @lvhan028 @grimoire @AllentDan @RunningLeon @lzhangzz @tpoisonooo @hanrui1sensetime ","2022-10-31T13:13:40",{"id":258,"version":259,"summary_zh":260,"released_at":261},127621,"v0.9.0","## Features\r\n\r\n- Add Rust API for mmdeploy SDK. Project: https:\u002F\u002Fgithub.com\u002Fliu-mengyang\u002Frust-mmdeploy\r\n- Support MMOCR TextSnake and MMPose Hourglass model deployment with ncnn-int8  (#1074, #1064, #1066)\r\n- Rewrite `torch.Tensor.__mod__` to support TensorRT (#1024)\r\n\r\n## Improvements\r\n- Separate C++ API demos from C API demos (#1099)\r\n- Refactor SDK pipeline (#938)\r\n- Check upstream libopencv-dev version before adding apt repository (#1068)\r\n- Make inference still available on headless device (#1041)\r\n- Validate installation in building scripts (#1036)\r\n\r\n## Bug fixes\r\n\r\n- Set `size_divisor` of `Pad` transform to `1` for static shape model. (#1049)\r\n- Fix `LayerNorm` shape issue when exporting to onnx with `torch \u003C= 1.12` (#1015)\r\n- Fix calibration error when converting model to TensorRT-int8 (#1050)\r\n- Synchronize cuda stream after inference with onnxruntime-gpu (#1053)\r\n- Add `GatherTopk` TensorRT plugin as a workaround to fix dynamic shape issue (#1033)\r\n- Fix `RoiAlignFunction` error for CoreML (#1029)\r\n- Resolve two-stage detector deployment error with CoreML (#1044)\r\n- Fix two-stage detector TensorRT deployment error with dynamic shape (#1046)\r\n\r\n## Document\r\n\r\n- Update supported backends table in README (#1109)\r\n- Correct examples in tutorial - `how to develop TensorRT  plugin` (#1021)\r\n- Fix broken links and typos (#1078, #1025, #1061)\r\n\r\n## Contributors\r\n@liu-mengyang  @BrokenArrow1404 @jinwonkim93 @Qingrenn @JingweiZhang12 @ichitaka @Typiqally @lvhan028 @irexyc @tpoisonooo @lzhangzz @grimoire @AllentDan @hanrui1sensetime ","2022-09-29T12:14:55",{"id":263,"version":264,"summary_zh":265,"released_at":266},127622,"v0.8.0","## Highlight\r\n- Support more platforms and devices: `RISC-V`, `Apple M1`, `Huawei Ascend310` and `Rockchip RK3588`\r\n\r\n## Features\r\n- Support more models on ONNX Runtime and TensorRT\r\n  - mmdetection `DETR` (#924)\r\n  - mmclassification `Swin Transformer` (#911)\r\n  - mmdetection3d `pointpillars (nus version)` (#319)\r\n- Support more platforms and devices:\r\n  - `RISC-V` via `ncnn` (#910)\r\n  - `Apple M1` (#760)\r\n  - `Huawei Ascend310` (#747)\r\n  - `Rockchip RK3588` (#865)\r\n- Add `TorchScript` SDK inference backend (#890)\r\n- Experimental support for fusing transformations in preprocess pipeline by [CVFusion](https:\u002F\u002Fgithub.com\u002FOpenComputeLab\u002FCVFusion) (#741)\r\n\r\n## Improvements\r\n\r\n- Support multi-label classification in SDK (#950)\r\n- Add the following scripts to simplify mmdeploy installation for some scenarios: (#919)\r\n\r\n  \u003Cdiv class=\"okr-block-clipboard\" data-okr=\"%7B%22okrDelta%22%3A%5B%7B%22lineType%22%3A%22unsupport%22%2C%22lineOptions%22%3A%7B%7D%2C%22lineContent%22%3A%5B%5D%7D%5D%2C%22businessKey%22%3A%22lark-doc%22%7D\">\u003C\u002Fdiv>\u003Cdiv data-zone-id=\"0\" data-line-index=\"0\" style=\"white-space: pre;\">\r\n  \r\n  script | OS version\r\n  -- | --\r\n  build_ubuntu_x64_ncnn.py | 18.04\u002F20.04\r\n  build_ubuntu_x64_ort.py | 18.04\u002F20.04\r\n  build_ubuntu_x64_pplnn.py | 18.04\u002F20.04\r\n  build_ubuntu_x64_torchscript.py | 18.04\u002F20.04\r\n  \r\n  \u003C\u002Fdiv>\r\n\r\n- Add scaled dot-product attention operator for TensorRT (#949)\r\n- Support model batch inference profiling (#868)\r\n```shell\r\n# profile the latency of resnet18-tensorrt model with batch size 4\r\npython tools\u002Fprofiler.py \\\r\n    configs\u002Fmmcls\u002Fclassification_tensorrt_dynamic-224x224-224x224.py \\\r\n    ..\u002Fmmclassification\u002Fconfigs\u002Fresnet\u002Fresnet18_8xb32_in1k.py \\\r\n    {\u002Fthe\u002Fpath\u002Fof\u002Fan\u002Fimage\u002Fdirectory} \\\r\n    --model {work-dirs}\u002Fmmcls\u002Fresnet\u002Ftrt\u002Fend2end.engine \\\r\n    --device cuda \\\r\n    --shape 224x224 \\\r\n    --num-iter 100 \\\r\n    --warmup 10 \\\r\n    --batch-size 4\r\n```\r\n\r\n## Bug fixes\r\n\r\n- Fix CI errors (#985, #983, #977, #987, #966, #945)\r\n- Fix missing `sqrt` in `PAAHead` (#984)\r\n- Fix `nms_rotated` logic when no bbox is detected (#976)\r\n- Fix rewrite for `torch.Tensor.__setitem__`  in some corner cases (#964, #941)\r\n- Disable ONNX optimizer when converting model to ncnn (#961)\r\n- Fix regression test (#958)\r\n- Disable cublaslt for CUDA 10.2 (#947)\r\n- Stop sorting dataset by default & set `test_mode` for mmdet pipelines (#920)\r\n- Resolve the issue (#909) - ` ValueError: cpu is invalid for the backend tensorrt.` when exporting SDK meta info (#912)\r\n- Validate the device id when the inference backend is TensorRT or OpenVINO (#886)\r\n- Fix mmdeploy_pplnn_net build error when target device is CPU (#896)\r\n- Replace `adaptive_avg_pool2d` with `avg_pool2d` to support exporting ONNX with dynamic shape  (#857)\r\n\r\n\r\n## Document\r\n\r\n- Clarify arguments in model conversion (#956, #940)\r\n- Add tutorial in Chinese about \"[How to write a customized TensorRT plugin\" ](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fblob\u002Fmaster\u002Fdocs\u002Fzh_cn\u002Ftutorial\u002F07_write_a_plugin.md)(#290)\r\n- Keep cmake build option in a separate document [cmake_option](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fblob\u002Fmaster\u002Fdocs\u002Fen\u002F01-how-to-build\u002Fcmake_option.md). (#832)\r\n- Add project architecture (#882)\r\n- Sync Enginsh and Chinese documents (#842)\r\n- Correct build-demo commands in [prebuilt_package_windows.md](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fblob\u002Fmaster\u002Fdocs\u002Fen\u002F02-how-to-run\u002Fprebuilt_package_windows.md) (#879)\r\n- Fix the wrong argument in model quantization document (#866)\r\n\r\n## Known issues\r\n- `DETR` deployment failed both via ONNX Runtime and TensorRT (#1011, [pytorch 84563](https:\u002F\u002Fgithub.com\u002Fpytorch\u002Fpytorch\u002Fissues\u002F84563))\r\n## Contributors\r\n@OldDreamInWind @liu-mengyang @gy-7 @Groexhy @munhou @miraclezqc  @VVsssssk @hanrui1sensetime @tpoisonooo @grimoire @irexyc @RunningLeon @AllentDan @lzhangzz @lvhan028 \r\n","2022-09-07T03:01:33",{"id":268,"version":269,"summary_zh":270,"released_at":271},127623,"v0.7.0","## Highlight\r\n- Support SNPE (#789)\r\n  - Please refer to [Build for SNPE](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fblob\u002Fmaster\u002Fdocs\u002Fen\u002F01-how-to-build\u002Fsnpe.md) to get start SNPE deployment journey\r\n- Add C++ API for SDK (#831)\r\n\r\n## Features\r\n- Support SNPE (#789)\r\n- Add C++ API for SDK (#831)\r\n- Support MMRotate model with le135 angle format (#788)\r\n- Support RoI Transformer and `Gliding Vertex` model deployment from `MMRotate` (#713, #650)\r\n- Add inference latency test script `tools\u002Fprofile.py` (#655)\r\nHere is an example to profile `TensorRT_fp32-resnet18` inference latency:\r\n```shell\r\npython tools\u002Fprofile.py \\\r\n    configs\u002Fmmcls\u002Fclassification_tensorrt_dynamic-224x224-224x224.py \\\r\n    ..\u002Fmmclassification\u002Fconfigs\u002Fresnet\u002Fresnet18_8xb32_in1k.py \\\r\n    ..\u002Fmmdetection\u002Fdemo\r\n    --model work-dirs\u002Fmmcls\u002Fresnet\u002Ftrt\u002Fend2end.engine \\\r\n    --device cuda \\\r\n    --shape 224x224 \\\r\n    --num-iter 100 \\\r\n    --warmup 10\r\n```\r\n\r\n## Improvements\r\n- Optimize prebuilt process for Python SDK (#810)\r\n- Upgrade `ppl.nn` and `ppl.cv` to `v0.8.1` and `v0.7.0` respectively (#793, #564)\r\n- Support batch image test in test script `test.py` (#829)\r\n- Install onnx optimizer by setuptools instead of cmake build (#690, #811, #843)\r\n- Add SDK code coverage (#808)\r\n- Support kwargs in SDK Python bindings (#794, #844, #852)\r\n- Support building SDK into a single library by enabling `MMDEPLOY_BUILD_SDK_MONOLITHIC` (#806)\r\n- Add a new option `MMDEPLOY_BUILD_EXAMPLES` to build and install SDK examples (#822)\r\n- Reduce log verbosity and improve error reporting (#755)\r\n- Upgrade GPU Dockerfile to use TensorRT 8.2.4.2 (#706)\r\n- Optimize ONNX graph\r\n   - Add a function rewriter to `torch.Tensor.__setitem__`, eliminating almost 80% nodes for `x[:,:,:H,:W] = y` onnx export  (#704)\r\n   - Add `CommonSubgraphElimination` onnx pass  (#647)\r\n- [BC Breaking] Standardize C API(#634)\r\n  - Prefix all struct with `mmdeploy_` and move all header files into `mmdeploy` folder.\r\n![image](https:\u002F\u002Fuser-images.githubusercontent.com\u002F4560679\u002F182781226-7444d5cc-fdd8-434d-b041-97d4ccd53a4f.png)\r\n- Rename `onnx2ncnn` to `mmdeploy_onnx2ncnn` (#694)\r\n\r\n## Bug fixes\r\n- Fix build error on macOS platform (#762)\r\n- Fix `troch.triu` function rewriter  error when exporting to onnx (#792)\r\n- Resolve Cascade R-CNN, `YOLOX` and `SATRN` deployment failure (#787, #758, #753)\r\n- Fix `check_env.py` about checking whether custom ops are available (#785)\r\n- Fix export for TopK operator in PyTorch 1.12 (#715)\r\nFix export for padding operators in PyTorch\u003C1.10 (#754)\r\n- Add default `topk` in SDK model meta info when it is not explicitly specified in `mmclassifcation` model configs (#702)\r\n- Fix SingleRoIExtractor for TorchScript backend (#724)\r\n- Fix export for DistancePointBBoxCoder.decode (#687)\r\n- Fix wrong backend type when doing calibration (#719)\r\n- Set exit code to 1 when error happens (#715)\r\n- Fix build error on android platform (#698)\r\n- Pass `img_metas` while exporting to onnx (#681, #700, #707)\r\n\r\n## Document\r\n\r\n- Update build document for android platform (#817)\r\n- Fix rendering issues of `get_started` documents in readthedocs (#740)\r\n- Add prebuilt package usage on Windows platform (#816)\r\n- Simplify `get_started` guide (#813)\r\n\r\n## Contributors\r\n\r\n@nijkah @dwSun @lvhan028 @lzhangzz @irexyc @RunningLeon @grimoire @tpoisonooo @AllentDan @hanrui1sensetime ","2022-08-04T12:24:58",{"id":273,"version":274,"summary_zh":275,"released_at":276},127624,"v0.6.0","## Highlight\r\n\r\n- Support Swin Transformer deployment with TensorRT and ONNX Runtime (#652)\r\n- Support Segmenter deployment with all backends (#587)\r\n- Add Java API for SDK (#563)\r\n\r\n\r\n## Features\r\n\r\n- Support Swin Transformer deployment with TensorRT and ONNX Runtime (#652)\r\n- Add Java API for SDK (#563)\r\n- Support `Segmenter` deployment with all backends (#587)\r\n- Support two-stage rotated detector deployment with TensorRT (#530)\r\n\r\n\r\n## Improvements\r\n\r\n- Add onnx pass to fuse `select-assign` graph pattern (#589)\r\n- Add more CircleCI workflows on Linux, Windows and Linux-GPU platforms (#368)\r\n- Add documentation and sample code for model partitioning (#599)\r\n- Add `GridPriorsTRT` plugin to speed up TensorRT anchor generation from `155us` t0 `13us` (#646)\r\n- Add `MMDEPLOY_TASKS` variable in cmake scripts to remove duplication code (#606)\r\n- Improve ncnn patch embed (#592)\r\n- Support compute capability 87 for Jetson Orin (#601)\r\n- Adjust `csrc` structure (#594)\r\n\r\n\r\n## Bug fixes\r\n\r\n- Add `build` to TensorRT plugin candidate path list (#672)\r\n- Fix missing \"image shape\" when exporting mmpose models (#667)\r\n- Fix ncnn unittest error (#626)\r\n- Fix bugs when deploying ShuffleNetV2 with TensorRT (#645)\r\n- Relax `mmcls` version constraint (#653) \r\n- Eliminate illegal memory access for object detector C# API (#613)\r\n- Add dim param for `Tensor::Squeeze` (#603)\r\n- Fix link missed issue in `index.rst` (#607)\r\n- Add support for MMOCR 0.5+ (#604)\r\n- Fix output tensor shape of ncnn backend (#605)\r\n\r\n\r\n## Documentation\r\n\r\n- Fix errors and typos in user documents (#676, #675, #655, #654, #621, #588, #586)\r\n- Update deployment benchmark for ViT (#624)\r\n- Replace markdown lint with `mdformat` and configure `myst-parser` (#610)\r\n\r\n## Contributors\r\n@zambranohally @bgsuello @triple-Mu @DrRyanHuang @liuqc11 @Yosshi999 @zytx121 @RunningLeon @AllentDan @lzhangzz @irexyc @grimoire @lvhan028 @hanrui1sensetime @tpoisonooo ","2022-06-30T14:20:50",{"id":278,"version":279,"summary_zh":280,"released_at":281},127625,"v0.5.0","## Highlight\r\n\r\n- Provide prebuilt packages since v0.5.0\r\n- Decouple `pytorch2onnx` and `onnx2backends`\r\n- Support text detection models PANet, PSENet and DBNet, with CUDA accelerated postprocessing in SDK\r\n- Support MMRotate\r\n\r\n## Features\r\n\r\n- Add prebuild tools (#545, #347)\r\n- Experimental executor support in SDK (#497)\r\n- Support ViT on ncnn (#477, #403)\r\n- Support LiteHRNet on ncnn (#316)\r\n- Support more text detection models PANet, PSENet and DBNet, with CUDA accelerated postprocessing in SDK (#446, #526, #534) \r\n- Add C# API for SDK (#388, #535)\r\n- Support ncnn quantization (#476)\r\n- Support [RepPoints](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdetection\u002Fblob\u002Fmaster\u002Fconfigs\u002Freppoints) on TensorRT (#457)\r\n- Support MMRotate on ONNX Runtime and TensorRT (#277, #312, #422, #450, #428, #473)\r\n- Support MMRazor (#220, #467)\r\n\r\n## Improvements\r\n\r\n- Remove `spdlog` manual installation but still keep it as an option (#423, #544)\r\nUsers can turn on the following option to use the external spdlog\r\n```shell\r\ncmake .. -DMMDEPLOY_SPDLOG_EXTERNAL=ON\r\n```\r\n- Add SDK python demos (#554)\r\n- Add ONNX passes support (#390)\r\n- Decouple `pytorch2onnx` and `onnx2backends` (#529, #540)\r\n- Add scripts and configs to test metrics of deployed model with all inference backend (#425, #302, #551, #542)\r\n- Support MDCN and DeformConv TensorRT FP16 (#503, #468)\r\n- Add interactive build script for Linux and NVIDIA platform (#399)\r\n- Optimize global average pooling when exporting ONNX (#478)\r\n- Refactor `onnx2ncnn`, add test cases and simplify code (#436)\r\n- Remove `expand` operation from mmdet rewrite (#371)\r\n\r\n## Bug fixes\r\n\r\n- Update CMake scripts to fix building problems (#544, #553)\r\n- Make ONNXRuntime wrapper work both for cpu and cuda execution (#438, #532)\r\n- Fix PSPNet-TorchScript conversion error (#538)\r\n- Resolve the incompatible issue when upgrading MMPose from v0.25.0 to v0.26.0 (#518, #527)\r\n- Fix mismatched device issue when testing Mask R-CNN deployed model (#511)\r\n- Remove redundant `resize` in mmseg EncoderDecoder rewrite (#480)\r\n- Fix display bugs on headless devices (#451)\r\n- Fix MMDet3D `pillarencode` deployment failure (#331)\r\n- Make the latest `spdlog` compatible (#423)\r\n- Fix CI (#462, #447, #440, #426, #441)\r\n- Fix a bug that causes exporting to onnx failed with static shape and batch size > 1 (#501)\r\n- Make `--work-dir` default to` $pwd` in `tools\u002Fdeploy.py` (#483)\r\n\r\n## Documentation\r\n\r\n- Fix user document errors, reorganize them, update REAME and rewrite the GET_STARTED chapters (#418, #482, #509, #531, #547, #543)\r\n- Rewrite the [get_started](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fblob\u002Fmaster\u002Fdocs\u002Fen\u002F01-how-to-build\u002Fjetsons.md) for Jetson platforms (#484, #449, #415, #381)\r\n- Fix APIs rendering failure in readthedocs (#443)\r\n- Remove '\\' in API docstring (#495)\r\n- More tutorials in Chinese are checked in - [Tutorial 05: ONNX Model Editing](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fblob\u002Fmaster\u002Fdocs\u002Fzh_cn\u002F05-tutorial\u002F05_onnx_model_editing.md) and [Tutorial 04: onnx custom op](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy\u002Fblob\u002Fmaster\u002Fdocs\u002Fzh_cn\u002F05-tutorial\u002F04_onnx_custom_op.md) (#508, #517)\r\n\r\n## Contributors\r\n\r\n@sanjaypavo @PeterH0323 @tehkillerbee @zytx121 @triple-Mu @zhiqwang @gyf304 @lakshanthad @Dchaoqun @zhouzaida @NagatoYuki0943 @VVsssssk @irexyc @RunningLeon @hanrui1sensetime @lzhangzz @grimoire @tpoisonooo @AllentDan @SingleZombie \r\n","2022-06-09T10:24:36",{"id":283,"version":284,"summary_zh":285,"released_at":286},127626,"v0.4.1","## Improvements\r\n\r\n- Add IPython notebook tutorial (#234)\r\n- Support detecting TensorRT from `CUDA_TOOLKIT_ROOT_DIR` (#357)\r\n- Build onnxruntime backend in GPU dockerfile (#366)\r\n- Add CircleCI workflow for linting (#348)\r\n- Support saving results when testing the deployed model of MMEdit  (#336)\r\n- Support GPU postprocessing for instance segmentation (#276) \r\n\r\n## Bug fixes\r\n\r\n- Make empty bounding box list allowed in text recognizer and pose detector C API (#310, #396)\r\n- Fix the logic of extracting model name from config (#394)\r\n- Fix feature test for std::source_location (#416)\r\n- Add missing codegen for `sm_53` to support Jetson Nano (#407)\r\n- Fix crash caused by accessing the wrong tensor in segmentor C API (#363)\r\n- Fix reading mat type from the wrong image in a batch (#362)\r\n- Fix missing binary flag when saving temp OpenVINO model (#353)\r\n- Fix Windows build for pose demo (#307)\r\n\r\n## Documents\r\n\r\n- Refine documents by fixing typos, correcting build commands, and removing redundant doc tree  (#352, #360, #378, #398)\r\n- Add a tutorial about torch2onnx in Chinese (#365)\r\n\r\n## Contributors\r\n@irexyc @VVsssssk @AllentDan @lzhangzz @PeterH0323 @RunningLeon @zly19540609 @triple-Mu @grimoire @hanrui1sensetime @SingleZombie @Adenialzz @tpoisonooo @lvhan028 @xizi\r\n","2022-04-29T14:56:47"]