[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-open-mmlab--mmrazor":3,"tool-open-mmlab--mmrazor":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 真正成长为懂上",144730,2,"2026-04-07T23:26:32",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107888,"2026-04-06T11:32:50",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[52,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":10,"last_commit_at":59,"category_tags":60,"status":17},4487,"LLMs-from-scratch","rasbt\u002FLLMs-from-scratch","LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目，旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型（LLM）。它不仅是同名技术著作的官方代码库，更提供了一套完整的实践方案，涵盖模型开发、预训练及微调的全过程。\n\n该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型，却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码，用户能够透彻掌握 Transformer 架构、注意力机制等关键原理，从而真正理解大模型是如何“思考”的。此外，项目还包含了加载大型预训练权重进行微调的代码，帮助用户将理论知识延伸至实际应用。\n\nLLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API，而是渴望探究模型构建细节的技术人员而言，这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计：将复杂的系统工程拆解为清晰的步骤，配合详细的图表与示例，让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础，还是为未来研发更大规模的模型做准备",90106,"2026-04-06T11:19:32",[35,15,13,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":73,"owner_avatar_url":74,"owner_bio":75,"owner_company":76,"owner_location":76,"owner_email":76,"owner_twitter":73,"owner_website":77,"owner_url":78,"languages":79,"stars":96,"forks":97,"last_commit_at":98,"license":99,"difficulty_score":10,"env_os":100,"env_gpu":101,"env_ram":100,"env_deps":102,"category_tags":108,"github_topics":109,"view_count":32,"oss_zip_url":76,"oss_zip_packed_at":76,"status":17,"created_at":121,"updated_at":122,"faqs":123,"releases":151},5428,"open-mmlab\u002Fmmrazor","mmrazor","OpenMMLab Model Compression Toolbox and Benchmark.","MMRazor 是 OpenMMLab 推出的模型压缩工具箱与基准测试平台，旨在帮助开发者轻松实现人工智能模型的“瘦身”与自动化优化。在深度学习应用中，大型模型往往面临计算资源消耗大、推理速度慢等部署难题，MMRazor 通过提供神经架构搜索（NAS）、模型剪枝、知识蒸馏和量化这四大主流技术，有效解决了模型在保持高精度的同时降低算力需求的问题。\n\n这款工具特别适合算法工程师、研究人员以及需要在边缘设备或资源受限环境中部署模型的开发者使用。其核心优势在于极高的兼容性与灵活性：得益于模块化设计，MMRazor 能够无缝接入 OpenMMLab 旗下的各类视觉任务项目，让用户像搭积木一样灵活组合不同的压缩算法。无论是想要探索更高效的网络结构，还是需要将现有模型快速转化为适合移动端运行的轻量版本，MMRazor 都提供了便捷的开发接口和丰富的预训练模型库（Model Zoo），大大降低了模型压缩的技术门槛，让高性能 AI 的落地变得更加简单高效。","\u003Cdiv align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fopen-mmlab_mmrazor_readme_478b6ebf2bfc.png\" width=\"600\"\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\u003C!--算法库 Badges-->\n\n[![PyPI](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Fmmrazor)](https:\u002F\u002Fpypi.org\u002Fproject\u002Fmmrazor)\n[![docs](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fdocs-latest-blue)](https:\u002F\u002Fmmrazor.readthedocs.io\u002Fen\u002Flatest\u002F)\n[![badge](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmrazor\u002Fworkflows\u002Fbuild\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmrazor\u002Factions)\n[![codecov](https:\u002F\u002Fcodecov.io\u002Fgh\u002Fopen-mmlab\u002Fmmrazor\u002Fbranch\u002Fmaster\u002Fgraph\u002Fbadge.svg)](https:\u002F\u002Fcodecov.io\u002Fgh\u002Fopen-mmlab\u002Fmmrazor)\n[![license](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fopen-mmlab\u002Fmmrazor.svg)](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmrazor\u002Fblob\u002Fmaster\u002FLICENSE)\n[![open issues](https:\u002F\u002Fisitmaintained.com\u002Fbadge\u002Fopen\u002Fopen-mmlab\u002Fmmrazor.svg)](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmrazor\u002Fissues)\n[![issue resolution](https:\u002F\u002Fisitmaintained.com\u002Fbadge\u002Fresolution\u002Fopen-mmlab\u002Fmmrazor.svg)](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmrazor\u002Fissues)\n\n\u003C!--快速链接-->\n\n\u003C!--Note:请根据各算法库自身情况设置项目和链接-->\n\n[📘Documentation](https:\u002F\u002Fmmrazor.readthedocs.io\u002Fen\u002Flatest\u002F) |\n[🛠️Installation](https:\u002F\u002Fmmrazor.readthedocs.io\u002Fen\u002Flatest\u002Fget_started\u002Finstallation.html) |\n[👀Model Zoo](https:\u002F\u002Fmmrazor.readthedocs.io\u002Fen\u002Flatest\u002Fget_started\u002Fmodel_zoo.html) |\n[🤔Reporting Issues](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmrazor\u002Fissues\u002Fnew\u002Fchoose)\n\n\u003C\u002Fdiv>\n\n\u003C!--中\u002F英 文档切换-->\n\n\u003Cdiv align=\"center\">\n\nEnglish | [简体中文](README_zh-CN.md)\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_mmrazor_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_mmrazor_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_mmrazor_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_mmrazor_readme_204fe79b5a90.png\" width=\"3%\" alt=\"\" \u002F>\u003C\u002Fa>\n\u003C\u002Fdiv>\n\n\u003C\u002Fdiv>\n\n**:star: MMRazor for Large Models** is Available Now! Please refer to [MMRazorLarge](projects\u002Fmmrazor_large\u002FREADME.md)\n\n## Introduction\n\nMMRazor is a model compression toolkit for model slimming and AutoML, which includes 4 mainstream technologies:\n\n- Neural Architecture Search (NAS)\n- Pruning\n- Knowledge Distillation (KD)\n- Quantization\n\nIt is a part of the [OpenMMLab](https:\u002F\u002Fopenmmlab.com\u002F) project.\n\nMajor features:\n\n- **Compatibility**\n\n  MMRazor can be easily applied to various projects in OpenMMLab, due to the similar architecture design of OpenMMLab as well as the decoupling of slimming algorithms and vision tasks.\n\n- **Flexibility**\n\n  Different algorithms, e.g., NAS, pruning and KD, can be incorporated in a plug-n-play manner to build a more powerful system.\n\n- **Convenience**\n\n  With better modular design, developers can implement new model compression algorithms with only a few codes, or even by simply modifying config files.\n\nAbout MMRazor's design and implementation, please refer to [tutorials](https:\u002F\u002Fmmrazor.readthedocs.io\u002Fen\u002Flatest\u002Fget_started\u002Foverview.html) for more details.\n\n## Latest Updates\n\n**The default branch is now `main` and the code on the branch has been upgraded to v1.0.0. The old `master` branch code now exists on the 0.x branch**\n\nMMRazor v1.0.0 was released in 2023-4-24, Major updates from 1.0.0rc2 include:\n\n1. MMRazor quantization is released.\n2. Add a new pruning algorithm named GroupFisher.\n3. Support distilling rtmdet with MMRazor.\n\nTo know more about the updates in MMRazor 1.0, please refer to [Changelog](https:\u002F\u002Fmmrazor.readthedocs.io\u002Fen\u002Flatest\u002Fnotes\u002Fchangelog.html) for more details!\n\n## Benchmark and model zoo\n\nResults and models are available in the [model zoo](https:\u002F\u002Fmmrazor.readthedocs.io\u002Fen\u002Flatest\u002Fget_started\u002Fmodel_zoo.html).\n\nSupported algorithms:\n\n\u003Cdetails open>\n\u003Csummary>Neural Architecture Search\u003C\u002Fsummary>\n\n- [x] [DARTS(ICLR'2019)](configs\u002Fnas\u002Fmmcls\u002Fdarts)\n\n- [x] [DetNAS(NeurIPS'2019)](configs\u002Fnas\u002Fmmdet\u002Fdetnas)\n\n- [x] [SPOS(ECCV'2020)](configs\u002Fnas\u002Fmmcls\u002Fspos)\n\n\u003C\u002Fdetails>\n\n\u003Cdetails open>\n\u003Csummary>Pruning\u003C\u002Fsummary>\n\n- [x] [AutoSlim(NeurIPS'2019)](\u002Fconfigs\u002Fpruning\u002Fmmcls\u002Fautoslim)\n\n- [x] [L1-norm](\u002Fconfigs\u002Fpruning\u002Fmmcls\u002Fl1-norm)\n\n- [x] [Group Fisher](\u002Fconfigs\u002Fpruning\u002Fbase\u002Fgroup_fisher)\n\n- [x] [DMCP](\u002Fconfigs\u002Fpruning\u002Fmmcls\u002Fdmcp)\n\n\u003C\u002Fdetails>\n\n\u003Cdetails open>\n\u003Csummary>Knowledge Distillation\u003C\u002Fsummary>\n\n- [x] [CWD(ICCV'2021)](\u002Fconfigs\u002Fdistill\u002Fmmdet\u002Fcwd)\n\n- [x] [WSLD(ICLR'2021)](\u002Fconfigs\u002Fdistill\u002Fmmcls\u002Fwsld)\n\n- [x] [ABLoss](\u002Fconfigs\u002Fdistill\u002Fmmcls\u002Fabloss)\n\n- [x] [BYOT](\u002Fconfigs\u002Fdistill\u002Fmmcls\u002Fbyot)\n\n- [x] [DAFL](\u002Fconfigs\u002Fdistill\u002Fmmcls\u002Fdafl)\n\n- [x] [DFAD](\u002Fconfigs\u002Fdistill\u002Fmmcls\u002Fdfad)\n\n- [x] [DKD](\u002Fconfigs\u002Fdistill\u002Fmmcls\u002Fdkd)\n\n- [x] [Factor Transfer](\u002Fconfigs\u002Fdistill\u002Fmmcls\u002Ffactor_transfer)\n\n- [x] [FitNets](\u002Fconfigs\u002Fdistill\u002Fmmcls\u002Ffitnets)\n\n- [x] [KD](\u002Fconfigs\u002Fdistill\u002Fmmcls\u002Fkd)\n\n- [x] [OFD](\u002Fconfigs\u002Fdistill\u002Fmmcls\u002Fofd)\n\n- [x] [RKD](\u002Fconfigs\u002Fdistill\u002Fmmcls\u002Frkd)\n\n- [x] [ZSKT](\u002Fconfigs\u002Fdistill\u002Fmmcls\u002Fzskt)\n\n- [x] [FBKD](\u002Fconfigs\u002Fdistill\u002Fmmdet\u002Ffbkd)\n\n\u003C\u002Fdetails>\n\n\u003Cdetails open>\n\u003Csummary>Quantization\u003C\u002Fsummary>\n\n- [x] [PTQ](\u002Fconfigs\u002Fquantization\u002Fptq\u002Fbase)\n\n- [x] [QAT](\u002Fconfigs\u002Fquantization\u002Fqat\u002Fbase)\n\n- [x] [LSQ](\u002Fconfigs\u002Fquantization\u002Fqat\u002Flsq)\n\n\u003C\u002Fdetails>\n\n## Installation\n\nMMRazor depends on [PyTorch](https:\u002F\u002Fpytorch.org\u002F), [MMCV](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmcv) and [MMEngine](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmengine).\n\nPlease refer to [installation.md](https:\u002F\u002Fmmrazor.readthedocs.io\u002Fen\u002Flatest\u002Fget_started\u002Finstallation.html) for more detailed instruction.\n\n## Getting Started\n\nPlease refer to [user guides](https:\u002F\u002Fmmrazor.readthedocs.io\u002Fen\u002Flatest\u002Fuser_guides\u002Findex.html) for the basic usage of MMRazor. There are also [advanced guides](https:\u002F\u002Fmmrazor.readthedocs.io\u002Fen\u002Flatest\u002Fadvanced_guides\u002Findex.html):\n\n## Contributing\n\nWe appreciate all contributions to improve MMRazor.\nPlease refer to [CONTRUBUTING.md](https:\u002F\u002Fmmrazor.readthedocs.io\u002Fen\u002Flatest\u002Fnotes\u002Fcontribution_guide.html) for the contributing guideline.\n\n## Acknowledgement\n\nMMRazor is an open source project that is contributed by researchers and engineers from various colleges and companies. We appreciate all the contributors who implement their methods or add new features, as well as users who give valuable feedbacks.\nWe wish that the toolbox and benchmark could serve the growing research community by providing a flexible toolkit to reimplement existing methods and develop their own new model compression methods.\n\n## Citation\n\nIf you find this project useful in your research, please consider cite:\n\n```BibTeX\n@misc{2021mmrazor,\n    title={OpenMMLab Model Compression Toolbox and Benchmark},\n    author={MMRazor Contributors},\n    howpublished = {\\url{https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmrazor}},\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- [MMCV](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmcv): OpenMMLab foundational library for computer vision.\n- [MIM](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmim): MIM installs OpenMMLab packages.\n- [MMClassification](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmclassification): OpenMMLab image classification toolbox and benchmark.\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- [MMRotate](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmrotate): OpenMMLab rotated object detection toolbox and benchmark.\n- [MMYOLO](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmyolo): OpenMMLab YOLO series 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- [MMSelfSup](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmselfsup): OpenMMLab self-supervised learning toolbox and benchmark.\n- [MMRazor](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmrazor): OpenMMLab model compression 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- [MMTracking](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmtracking): OpenMMLab video perception toolbox and benchmark.\n- [MMFlow](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmflow): OpenMMLab optical flow toolbox and benchmark.\n- [MMEditing](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmediting): OpenMMLab image and video editing toolbox.\n- [MMGeneration](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmgeneration): OpenMMLab image and video generative models toolbox.\n- [MMDeploy](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy): OpenMMLab model deployment framework.\n","\u003Cdiv align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fopen-mmlab_mmrazor_readme_478b6ebf2bfc.png\" width=\"600\"\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\u003C!--算法库徽章-->\n\n[![PyPI](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Fmmrazor)](https:\u002F\u002Fpypi.org\u002Fproject\u002Fmmrazor)\n[![文档](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fdocs-latest-blue)](https:\u002F\u002Fmmrazor.readthedocs.io\u002Fen\u002Flatest\u002F)\n[![构建](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmrazor\u002Fworkflows\u002Fbuild\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmrazor\u002Factions)\n[![代码覆盖率](https:\u002F\u002Fcodecov.io\u002Fgh\u002Fopen-mmlab\u002Fmmrazor\u002Fbranch\u002Fmaster\u002Fgraph\u002Fbadge.svg)](https:\u002F\u002Fcodecov.io\u002Fgh\u002Fopen-mmlab\u002Fmmrazor)\n[![许可证](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fopen-mmlab\u002Fmmrazor.svg)](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmrazor\u002Fblob\u002Fmaster\u002FLICENSE)\n[![开放问题](https:\u002F\u002Fisitmaintained.com\u002Fbadge\u002Fopen\u002Fopen-mmlab\u002Fmmrazor.svg)](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmrazor\u002Fissues)\n[![问题解决率](https:\u002F\u002Fisitmaintained.com\u002Fbadge\u002Fresolution\u002Fopen-mmlab\u002Fmmrazor.svg)](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmrazor\u002Fissues)\n\n\u003C!--快速链接-->\n\n\u003C!--注：请根据各算法库自身情况设置项目和链接-->\n\n[📘文档](https:\u002F\u002Fmmrazor.readthedocs.io\u002Fen\u002Flatest\u002F) |\n[🛠️安装](https:\u002F\u002Fmmrazor.readthedocs.io\u002Fen\u002Flatest\u002Fget_started\u002Finstallation.html) |\n[👀模型库](https:\u002F\u002Fmmrazor.readthedocs.io\u002Fen\u002Flatest\u002Fget_started\u002Fmodel_zoo.html) |\n[🤔提交问题](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmrazor\u002Fissues\u002Fnew\u002Fchoose)\n\n\u003C\u002Fdiv>\n\n\u003C!--中\u002F英 文档切换-->\n\n\u003Cdiv align=\"center\">\n\nEnglish | [简体中文](README_zh-CN.md)\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_mmrazor_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_mmrazor_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_mmrazor_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_mmrazor_readme_204fe79b5a90.png\" width=\"3%\" alt=\"\" \u002F>\u003C\u002Fa>\n\u003C\u002Fdiv>\n\n\u003C\u002Fdiv>\n\n**:star: MMRazor for Large Models** 现已发布！请参阅 [MMRazorLarge](projects\u002Fmmrazor_large\u002FREADME.md)\n\n## 简介\n\nMMRazor 是一个用于模型瘦身和 AutoML 的模型压缩工具包，包含四种主流技术：\n\n- 神经架构搜索 (NAS)\n- 剪枝\n- 知识蒸馏 (KD)\n- 量化\n\n它是 [OpenMMLab](https:\u002F\u002Fopenmmlab.com\u002F) 项目的一部分。\n\n主要特性：\n\n- **兼容性**\n\n  由于 OpenMMLab 的架构设计相似，且瘦身算法与视觉任务解耦，MMRazor 可以轻松应用于 OpenMMLab 中的各种项目。\n\n- **灵活性**\n\n  不同的算法，如 NAS、剪枝和 KD，可以以即插即用的方式组合，构建更强大的系统。\n\n- **便捷性**\n\n  通过更好的模块化设计，开发者只需少量代码，甚至仅修改配置文件，即可实现新的模型压缩算法。\n\n关于 MMRazor 的设计与实现，请参阅 [教程](https:\u002F\u002Fmmrazor.readthedocs.io\u002Fen\u002Flatest\u002Fget_started\u002Foverview.html) 获取更多详情。\n\n## 最新更新\n\n**默认分支现已切换为 `main`，该分支上的代码已升级至 v1.0.0。旧的 `master` 分支代码现位于 0.x 分支**\n\nMMRazor v1.0.0 于 2023 年 4 月 24 日发布，相较于 1.0.0rc2 的主要更新包括：\n\n1. MMRazor 量化功能正式发布。\n2. 新增名为 GroupFisher 的剪枝算法。\n3. 支持使用 MMRazor 对 rtmdet 进行蒸馏。\n\n欲了解更多关于 MMRazor 1.0 的更新内容，请参阅 [Changelog](https:\u002F\u002Fmmrazor.readthedocs.io\u002Fen\u002Flatest\u002Fnotes\u002Fchangelog.html)！\n\n## 基准测试与模型库\n\n结果和模型可在 [模型库](https:\u002F\u002Fmmrazor.readthedocs.io\u002Fen\u002Flatest\u002Fget_started\u002Fmodel_zoo.html) 中找到。\n\n支持的算法：\n\n\u003Cdetails open>\n\u003Csummary>神经架构搜索\u003C\u002Fsummary>\n\n- [x] [DARTS(ICLR'2019)](configs\u002Fnas\u002Fmmcls\u002Fdarts)\n\n- [x] [DetNAS(NeurIPS'2019)](configs\u002Fnas\u002Fmmdet\u002Fdetnas)\n\n- [x] [SPOS(ECCV'2020)](configs\u002Fnas\u002Fmmcls\u002Fspos)\n\n\u003C\u002Fdetails>\n\n\u003Cdetails open>\n\u003Csummary>剪枝\u003C\u002Fsummary>\n\n- [x] [AutoSlim(NeurIPS'2019)](\u002Fconfigs\u002Fpruning\u002Fmmcls\u002Fautoslim)\n\n- [x] [L1范数](\u002Fconfigs\u002Fpruning\u002Fmmcls\u002Fl1-norm)\n\n- [x] [Group Fisher](\u002Fconfigs\u002Fpruning\u002Fbase\u002Fgroup_fisher)\n\n- [x] [DMCP](\u002Fconfigs\u002Fpruning\u002Fmmcls\u002Fdmcp)\n\n\u003C\u002Fdetails>\n\n\u003Cdetails open>\n\u003Csummary>知识蒸馏\u003C\u002Fsummary>\n\n- [x] [CWD(ICCV'2021)](\u002Fconfigs\u002Fdistill\u002Fmmdet\u002Fcwd)\n\n- [x] [WSLD(ICLR'2021)](\u002Fconfigs\u002Fdistill\u002Fmmcls\u002Fwsld)\n\n- [x] [ABLoss](\u002Fconfigs\u002Fdistill\u002Fmmcls\u002Fabloss)\n\n- [x] [BYOT](\u002Fconfigs\u002Fdistill\u002Fmmcls\u002Fbyot)\n\n- [x] [DAFL](\u002Fconfigs\u002Fdistill\u002Fmmcls\u002Fdafl)\n\n- [x] [DFAD](\u002Fconfigs\u002Fdistill\u002Fmmcls\u002Fdfad)\n\n- [x] [DKD](\u002Fconfigs\u002Fdistill\u002Fmmcls\u002Fdkd)\n\n- [x] [Factor Transfer](\u002Fconfigs\u002Fdistill\u002Fmmcls\u002Ffactor_transfer)\n\n- [x] [FitNets](\u002Fconfigs\u002Fdistill\u002Fmmcls\u002Ffitnets)\n\n- [x] [KD](\u002Fconfigs\u002Fdistill\u002Fmmcls\u002Fkd)\n\n- [x] [OFD](\u002Fconfigs\u002Fdistill\u002Fmmcls\u002Fofd)\n\n- [x] [RKD](\u002Fconfigs\u002Fdistill\u002Fmmcls\u002Frkd)\n\n- [x] [ZSKT](\u002Fconfigs\u002Fdistill\u002Fmmcls\u002Fzskt)\n\n- [x] [FBKD](\u002Fconfigs\u002Fdistill\u002Fmmdet\u002Ffbkd)\n\n\u003C\u002Fdetails>\n\n\u003Cdetails open>\n\u003Csummary>量化\u003C\u002Fsummary>\n\n- [x] [PTQ](\u002Fconfigs\u002Fquantization\u002Fptq\u002Fbase)\n\n- [x] [QAT](\u002Fconfigs\u002Fquantization\u002Fqat\u002Fbase)\n\n- [x] [LSQ](\u002Fconfigs\u002Fquantization\u002Fqat\u002Flsq)\n\n\u003C\u002Fdetails>\n\n## 安装\n\nMMRazor 依赖于 [PyTorch](https:\u002F\u002Fpytorch.org\u002F)、[MMCV](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmcv) 和 [MMEngine](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmengine)。\n\n详细安装说明请参阅 [installation.md](https:\u002F\u002Fmmrazor.readthedocs.io\u002Fen\u002Flatest\u002Fget_started\u002Finstallation.html)。\n\n## 使用指南\n\n有关 MMRazor 的基本用法，请参阅 [用户指南](https:\u002F\u002Fmmrazor.readthedocs.io\u002Fen\u002Flatest\u002Fuser_guides\u002Findex.html)。此外，还有 [高级指南](https:\u002F\u002Fmmrazor.readthedocs.io\u002Fen\u002Flatest\u002Fadvanced_guides\u002Findex.html)：\n\n## 贡献\n\n我们感谢所有为改进 MMRazor 所做的贡献。请参阅 [CONTRUBUTING.md](https:\u002F\u002Fmmrazor.readthedocs.io\u002Fen\u002Flatest\u002Fnotes\u002Fcontribution_guide.html) 以获取贡献指南。\n\n## 致谢\n\nMMRazor 是一个开源项目，由来自不同高校和公司的研究人员与工程师共同贡献而成。我们感谢所有实现其方法或添加新功能的贡献者，以及提供宝贵反馈的用户。我们希望该工具箱和基准测试能够为不断壮大的研究社区服务，提供一个灵活的工具集，用于复现现有方法并开发新的模型压缩技术。\n\n## 引用\n\n如果您在研究中发现本项目有所帮助，请考虑引用：\n\n```BibTeX\n@misc{2021mmrazor,\n    title={OpenMMLab 模型压缩工具箱及基准},\n    author={MMRazor 贡献者},\n    howpublished = {\\url{https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmrazor}},\n    year={2021}\n}\n```\n\n## 许可证\n\n本项目采用 [Apache 2.0 许可证](LICENSE) 发布。\n\n## OpenMMLab 中的其他项目\n\n- [MMCV](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmcv)：OpenMMLab 面向计算机视觉的基础库。\n- [MIM](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmim)：MIM 用于安装 OpenMMLab 的相关软件包。\n- [MMClassification](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmclassification)：OpenMMLab 图像分类工具箱及基准。\n- [MMDetection](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdetection)：OpenMMLab 目标检测工具箱及基准。\n- [MMDetection3D](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdetection3d)：OpenMMLab 下一代通用 3D 物体检测平台。\n- [MMRotate](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmrotate)：OpenMMLab 旋转目标检测工具箱及基准。\n- [MMYOLO](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmyolo)：OpenMMLab YOLO 系列工具箱及基准。\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- [MMSelfSup](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmselfsup)：OpenMMLab 自监督学习工具箱及基准。\n- [MMRazor](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmrazor)：OpenMMLab 模型压缩工具箱及基准。\n- [MMFewShot](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmfewshot)：OpenMMLab 少样本学习工具箱及基准。\n- [MMAction2](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmaction2)：OpenMMLab 下一代动作理解工具箱及基准。\n- [MMTracking](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmtracking)：OpenMMLab 视频感知工具箱及基准。\n- [MMFlow](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmflow)：OpenMMLab 光流计算工具箱及基准。\n- [MMEditing](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmediting)：OpenMMLab 图像与视频编辑工具箱。\n- [MMGeneration](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmgeneration)：OpenMMLab 图像与视频生成模型工具箱。\n- [MMDeploy](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdeploy)：OpenMMLab 模型部署框架。","# MMRazor 快速上手指南\n\nMMRazor 是 OpenMMLab 推出的模型压缩工具库，支持神经架构搜索 (NAS)、剪枝 (Pruning)、知识蒸馏 (KD) 和量化 (Quantization) 四大主流技术。它可与 MMClassification、MMDetection 等 OpenMMLab 项目无缝集成。\n\n## 环境准备\n\n在开始之前，请确保您的系统满足以下要求：\n\n*   **操作系统**: Linux (推荐), Windows, macOS\n*   **Python**: 3.7 及以上版本\n*   **PyTorch**: 1.6 及以上版本\n*   **CUDA**: 可选，用于 GPU 加速（需与 PyTorch 版本匹配）\n\n**前置依赖**:\nMMRazor 强依赖以下 OpenMMLab 核心库，安装前请确保已正确安装：\n*   [MMEngine](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmengine)\n*   [MMCV](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmcv) (Full version)\n\n> **国内用户提示**: 建议使用国内镜像源加速 Python 包下载。\n> *   PyPI 镜像: `https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple`\n> *   Conda 镜像: `https:\u002F\u002Fmirrors.tuna.tsinghua.edu.cn\u002Fanaconda\u002Fcloud\u002F`\n\n## 安装步骤\n\n推荐使用 `pip` 进行安装。如果您尚未安装 PyTorch，请先前往 [PyTorch 官网](https:\u002F\u002Fpytorch.org\u002F) 根据您的环境安装对应版本。\n\n### 1. 安装 MMEngine 和 MMCV\n\n```bash\npip install -U openmim\nmim install mmengine\nmim install \"mmcv>=2.0.0\"\n```\n\n### 2. 安装 MMRazor\n\n您可以直接从 PyPI 安装稳定版：\n\n```bash\npip install mmrazor\n```\n\n或者从源码安装以获取最新功能：\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmrazor.git\ncd mmrazor\npip install -v -e .\n```\n\n> **国内加速**: 若 pip 下载缓慢，可添加清华源：\n> `pip install mmrazor -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple`\n\n### 3. 验证安装\n\n运行以下命令检查是否安装成功：\n\n```python\nimport mmrazor\nprint(mmrazor.__version__)\n```\n\n## 基本使用\n\nMMRazor 的核心操作通过配置文件驱动。以下是一个基于**知识蒸馏 (Knowledge Distillation)** 的最简使用示例，展示如何修改配置并启动训练。\n\n### 1. 准备配置文件\n\n假设您想对图像分类模型进行知识蒸馏。您可以复制现有的配置文件作为模板：\n\n```bash\nmkdir configs\u002Fmy_distill\ncp configs\u002Fdistill\u002Fmmcls\u002Fkd\u002Fkd_resnet50_resnet18_8xb32_in1k.py configs\u002Fmy_distill\u002F\n```\n\n### 2. 修改配置 (可选)\n\n编辑 `configs\u002Fmy_distill\u002Fkd_resnet50_resnet18_8xb32_in1k.py`，调整数据路径或超参数。MMRazor 的配置结构清晰，通常只需修改 `data_root` 或 `model` 部分。\n\n### 3. 启动训练\n\n使用 `tools\u002Ftrain.py` 脚本启动训练任务。以下命令使用 8 张 GPU 进行训练：\n\n```bash\npython tools\u002Ftrain.py configs\u002Fmy_distill\u002Fkd_resnet50_resnet18_8xb32_in1k.py --launcher pytorch --gpus 8\n```\n\n如果是单卡训练：\n\n```bash\npython tools\u002Ftrain.py configs\u002Fmy_distill\u002Fkd_resnet50_resnet18_8xb32_in1k.py\n```\n\n### 4. 模型推理\n\n训练完成后，使用 `tools\u002Ftest.py` 评估模型性能：\n\n```bash\npython tools\u002Ftest.py configs\u002Fmy_distill\u002Fkd_resnet50_resnet18_8xb32_in1k.py work_dirs\u002Fkd_resnet50_resnet18_8xb32_in1k\u002Fepoch_100.pth\n```\n\n---\n更多高级用法（如 NAS 搜索策略自定义、剪枝细粒度控制、量化感知训练等），请参考 [官方文档](https:\u002F\u002Fmmrazor.readthedocs.io\u002Fzh_CN\u002Flatest\u002F)。","某边缘计算团队正致力于将高精度的行人重识别（ReID）模型部署到算力受限的安防摄像头端，面临模型过大导致无法实时运行的困境。\n\n### 没有 mmrazor 时\n- **算法整合困难**：团队需分别寻找并手动拼凑剪枝、量化和知识蒸馏的代码，不同来源的算法接口不统一，调试耗时数周。\n- **精度损失不可控**：缺乏系统的基准测试，盲目压缩模型导致识别准确率大幅下跌，难以在“速度”与“精度”间找到平衡点。\n- **迁移成本高昂**：自行编写的压缩脚本与现有的 OpenMMLab 训练流程不兼容，每次更换骨干网络都需重写大量适配代码。\n- **搜索效率低下**：若尝试使用神经架构搜索（NAS）自动寻找最优结构，需从零搭建搜索空间与评估策略，开发门槛极高。\n\n### 使用 mmrazor 后\n- **一站式算法库**：直接调用 mmrazor 内置的剪枝、量化及知识蒸馏模块，通过配置文件即可灵活组合多种压缩策略，当天完成原型验证。\n- **精度性能双优**：利用其成熟的基准测试工具，快速定位最佳压缩参数，在模型体积缩小 4 倍的同时，将精度损失控制在 1% 以内。\n- **无缝生态集成**：凭借与 OpenMMLab 系列项目同源的建筑风格，无需修改原有训练代码，仅需引入配置即可对现有 ReID 模型进行“瘦身”。\n- **自动化架构优化**：启用 NAS 功能自动搜索适合特定硬件的最优子网络，替代了人工试错，显著提升了模型在边缘端的推理帧率。\n\nmmrazor 通过标准化的模型压缩流程，让开发者能以最低成本将庞大模型高效转化为适合边缘部署的轻量级应用。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fopen-mmlab_mmrazor_478b6ebf.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",[80,84,88,92],{"name":81,"color":82,"percentage":83},"Python","#3572A5",98.6,{"name":85,"color":86,"percentage":87},"Jupyter Notebook","#DA5B0B",0.9,{"name":89,"color":90,"percentage":91},"Shell","#89e051",0.4,{"name":93,"color":94,"percentage":95},"Dockerfile","#384d54",0.1,1667,242,"2026-04-07T10:07:02","Apache-2.0","未说明","需要 NVIDIA GPU (依赖 PyTorch)，具体型号、显存大小及 CUDA 版本未在文档中明确说明",{"notes":103,"python":100,"dependencies":104},"该工具是 OpenMMLab 项目的一部分，主要用于模型压缩（包括神经架构搜索、剪枝、知识蒸馏和量化）。默认分支已升级至 v1.0.0。详细的安装步骤（包括具体的 Python 和 CUDA 版本要求）需参考官方安装文档链接，README 正文中未直接列出具体版本号。",[105,106,107],"PyTorch","MMCV","MMEngine",[14,15],[110,111,112,113,114,115,116,117,118,119,120],"nas","pruning","knowledge-distillation","spos","darts","autoslim","detection","segmentation","classification","pytorch","quantization","2026-03-27T02:49:30.150509","2026-04-08T14:34:46.084576",[124,129,134,139,143,147],{"id":125,"question_zh":126,"answer_zh":127,"source_url":128},24630,"在使用 AutoSlim 进行目标检测训练时，如果出现 NaN 或蒸馏效果不佳，有什么建议？","建议在目标检测任务中使用梯度裁剪（grad clip）来处理梯度问题。如果不使用蒸馏，结果通常令人满意；但如果应用如 CWD 之类的蒸馏方法，结果可能会变差。如果在训练开始时遇到 NaN，可以尝试使用 grad clip。此外，目前大多数即时网络（如 BigNAS）并未详细说明如何在目标检测中使用蒸馏，这是一个正在探索的领域。","https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmrazor\u002Fissues\u002F79",{"id":130,"question_zh":131,"answer_zh":132,"source_url":133},24631,"运行 YOLOX 的 AutoSlim 配置时遇到 'TypeError: __init__() got an unexpected keyword argument ann_file' 错误，如何解决？","该问题与 PyTorch 版本兼容性有关。Pruner 中的自动追踪（auto-trace）功能在 PyTorch 1.8.1、1.10.2 和 1.11.0 版本中会出现错误。建议暂时避免使用这些版本，改用其他版本（例如 PyTorch 1.10.0 已被验证可以正常工作）。维护者表示将尽快修复代码中的相关错误。","https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmrazor\u002Fissues\u002F117",{"id":135,"question_zh":136,"answer_zh":137,"source_url":138},24632,"在使用 mmrazor 进行量化或剪枝时遇到 'torch.fx.proxy.TraceError: Proxy object cannot be iterated' 错误，该如何解决？","该错误是由于部分针对 mmdet 的修改尚未合并到 mmdet 主分支导致的。临时解决方案是手动修改本地的 mmdet 代码，可以参考此提交记录：https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdetection\u002Fcompare\u002Fmain...pppppM:mmdetection:for_razor，或者直接使用该分支：https:\u002F\u002Fgithub.com\u002FpppppM\u002Fmmdetection\u002Ftree\u002Ffor_razor。应用这些更改后，即可成功使用 fx 追踪 mmdet 中的单阶段模型。","https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmrazor\u002Fissues\u002F554",{"id":140,"question_zh":141,"answer_zh":142,"source_url":128},24633,"如何让 Pruner 支持 FPN（特征金字塔网络）结构？","目前直接对包含 FPN 结构的模型（如 mmdet 中的 ATSS）进行剪枝时会抛出异常。用户建议最好能让用户将整个模块块（如 neck 和 bbox_head）配置为一个组并共享掩码，因为这些块结构复杂，解析器难以修改以适应这些情况。目前官方尚未提供直接的 FPN 支持方案，需关注后续更新或尝试自定义配置组。",{"id":144,"question_zh":145,"answer_zh":146,"source_url":128},24634,"AutoSlim 在其他任务（如语义分割）上的进展如何？","由于人力不足，将 AutoSlim 迁移到其他任务的进展尚不理想。团队目前正在复现 BigNAS，如果进展顺利，将会发布关于语义分割的 BigNAS 示例。",{"id":148,"question_zh":149,"answer_zh":150,"source_url":128},24635,"是否有更节省内存的 AutoSlim 实现方式可以参考？","有用户分享了自己实现的 AutoSlim 版本，其内存使用效率比 mmrazor 高很多。虽然具体实现细节未在 Issue 中完全展开，但维护者表示非常欢迎分享具体的内存优化方法，以便基于此改进现有代码。建议关注社区中关于梯度裁剪和非蒸馏训练的实践。",[152,157,162,167,172,177,182,187],{"id":153,"version":154,"summary_zh":155,"released_at":156},154204,"v1.0.0","# v1.0.0 (2023年4月24日)\n\n我们很高兴地宣布 MMRazor 1.0 的首个正式版本发布。\n\n## 亮点\n\n- MMRazor 量化功能正式上线，已成功应用于各类任务模型及模型部署。借助该功能，我们可以快速将 OpenMMLab 中的预训练模型量化并部署到指定后端。\n\n## 新特性与改进\n\n### NAS\n\n- 更新可搜索模型。（https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmrazor\u002Fpull\u002F438）\n- 更新 NasMutator，用于构建 NAS 中的搜索空间。（https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmrazor\u002Fpull\u002F426）\n\n### 剪枝\n\n- 新增名为 GroupFisher 的剪枝算法。我们支持 GroupFisher 的完整流程，包括剪枝、微调和部署。（https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmrazor\u002Fpull\u002F459）\n\n### KD\n\n- 支持在达到特定轮次后停止知识蒸馏。（https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmrazor\u002Fpull\u002F455）\n- 支持使用 mmrazor 对 rtmdet 进行知识蒸馏，详情请参阅此处。（https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmyolo\u002Fpull\u002F544）\n- 在 MGD 损失中新增掩码通道。（https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmrazor\u002Fpull\u002F461）\n\n### 量化\n\n- 支持两种量化方式：QAT 和 PTQ。（https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmrazor\u002Fpull\u002F513）\n- 支持多种量化位数。（https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmrazor\u002Fpull\u002F513）\n- 支持多种量化方法，例如 per_tensor \u002F per_channel、对称 \u002F 非对称等。（https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmrazor\u002Fpull\u002F513）\n- 支持将量化后的模型部署到多个后端，如 OpenVINO、TensorRT 等。（https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmrazor\u002Fpull\u002F513）\n- 支持直接将量化算法应用于多个任务仓库，例如 mmcls、mmdet 等。（https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmrazor\u002Fpull\u002F513）\n\n## Bug 修复\n\n- 修复 Darts 配置中的 split 问题。（https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmrazor\u002Fpull\u002F451）\n- 修复 Recorder 中的一个 bug。（https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmrazor\u002Fpull\u002F446）\n- 修复使用 get_channel_unit.py 时的一个 bug。（https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmrazor\u002Fpull\u002F432）\n- 修复将剪枝模型部署到 CUDA 时的一个 bug。（https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmrazor\u002Fpull\u002F495）\n\n## 贡献者\n\n本次发布共有 23 名开发者参与贡献。\n特别感谢 @415905716、@gaoyang07、@humu789、@LKJacky、@HIT-cwh、@aptsunny、@cape-zck、@vansin、@twmht、@wm901115nwpu、@Hiwyl、@NickYangMin、@spynccat、@sunnyxiaohu、@kitecats、@TinyTigerPan、@twmht、@yivona08、@xinxinxinxu、@cape-zck、@Weiyun1025、@vansin、@Lxtccc。\n\n## 新贡献者\n* @Hiwyl 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmrazor\u002Fpull\u002F193 中完成了首次贡献。\n* @NickYangMin 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmrazor\u002Fpull\u002F195 中完成了首次贡献。\n* @spynccat 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmrazor\u002Fpull\u002F222 中完成了首次贡献。\n* @sunnyxiaohu 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmrazor\u002Fpull\u002F242 中完成了首次贡献。\n* @kitecats 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmrazor\u002Fpull\u002F334 中完成了首次贡献。\n* @TinyTigerPan 在 https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmrazor\u002Fpull\u002F356 中完成了首次贡献。\n* @twmht 完成了…","2023-04-24T09:52:49",{"id":158,"version":159,"summary_zh":160,"released_at":161},154211,"v0.1.0","## 亮点\nMMRazor v0.1.0 正式发布。\n\n## 主要特性\n- **兼容性**\n\n  由于 OpenMMLab 的架构设计具有相似性，且模型剪枝算法与视觉任务实现了解耦，MMRazor 可以轻松应用于 OpenMMLab 中的各类项目。\n\n- **灵活性**\n\n  不同的算法，例如 NAS、剪枝和知识蒸馏等，都可以以即插即用的方式集成，从而构建功能更强大的系统。\n\n- **便捷性**\n\n  通过更优的模块化设计，开发者只需编写少量代码，甚至仅需修改配置文件，即可实现新的模型压缩算法。","2021-12-23T13:18:12",{"id":163,"version":164,"summary_zh":165,"released_at":166},154205,"v1.0.0rc2","# v1.0.0rc2 更改日志\n\n## v1.0.0rc2 (2022年6月1日)\n\n我们很高兴地宣布 MMRazor 1.0.0rc2 的发布。\n\n## 新特性\n### NAS\n\n\n- 添加性能预测器：支持四种基于基础机器学习算法的性能预测器，可在无需评估的情况下直接预测模型精度。（https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmrazor\u002Fpull\u002F306）\n\n\n- 支持 [Autoformer](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2107.00651.pdf)，这是一种专用于视觉 Transformer 搜索的单次架构搜索算法。（https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmrazor\u002Fpull\u002F315）\n\n- 支持 [BigNAS](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2003.11142)，这是一种采用单次范式在 MobileNetV3 中搜索以下参数的 NAS 算法：卷积核大小、输出通道数、扩展比例、模块深度以及输入尺寸。（https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmrazor\u002Fpull\u002F219）\n\n### 剪枝\n\n\n- 支持 [DCFF](https:\u002F\u002Farxiv.org\u002Fabs\u002F2107.06916)，这是一种专用于高效图像分类的滤波器通道剪枝算法。（https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmrazor\u002Fpull\u002F295）\n\n\n- 我们发布了一款强大的自动分析通道依赖关系的工具，名为 ChannelAnalyzer。示例如下所示。（https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmrazor\u002Fpull\u002F371）\n\n目前，ChannelAnalyzer 已经支持 torchvision、mmcls、mmseg 和 mmdet 中的大多数 CNN 模型。我们将继续增加对更多模型的支持。\n\n```python\nfrom mmrazor.models.task_modules import ChannelAnalyzer\nfrom mmengine.hub import get_model\nimport json\n\nmodel = get_model('mmdet::retinanet\u002Fretinanet_r18_fpn_1x_coco.py')\nunit_configs: dict = ChannelAnalyzer().analyze(model)\nunit_config0 = list(unit_configs.values())[0]\nprint(json.dumps(unit_config0, indent=4))\n# # 配置的简短版本\n# {\n#     \"channels\": {\n#         \"input_related\": [\n#             {\"name\": \"backbone.layer2.0.bn1\"},\n#             {“name\": \"backbone.layer2.0.conv2\"}\n#         ],\n#         \"output_related\": [\n#             {\"name\": \"backbone.layer2.0.conv1\"},\n#             {\"name\": \"backbone.layer2.0.bn1\"}\n#         ]\n#     },\n#}\n```\n\n\n### KD\n- 支持 [MGD](https:\u002F\u002Farxiv.org\u002Fabs\u002F2205.01529)，这是一种检测任务中的蒸馏算法。（https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmrazor\u002Fpull\u002F381）\n\n## 错误修复\n- 修复了 `FpnTeacherDistll` 教师模型的前向传播，将其从 `backbone + neck + head` 调整为 `backbone + neck`（#387）\n- 修复了一些过期的配置文件和检查点（#373 #372 #422）\n\n## 正在进行的变更\n我们将在下一个版本（1.0.0rc3）中发布量化功能！\n\n## 贡献者\n\n本次发布共有 11 位开发者参与贡献：@wutongshenqiu @sunnyxiaohu @aptsunny @humu789 @TinyTigerPan @FreakieHuang @LKJacky @wilxy @gaoyang07 @spynccat @yivona08。\n\n## 新贡献者\n\n- @TinyTigerPan 和 @yivona08 在以下 PR 中完成了他们的首次贡献：（https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmrazor\u002Fpull\u002F356）（https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmrazor\u002Fpull\u002F388）","2023-01-06T11:15:34",{"id":168,"version":169,"summary_zh":170,"released_at":171},154206,"v1.0.0rc1","# v1.0.0rc1 更改日志\n\n## v1.0.0rc1 (2022年10月27日)\n\n我们很高兴地宣布 MMRazor 1.0.0rc1 的发布。\n\n### 亮点\n- **全新剪枝框架**：我们对剪枝模块进行了系统性的重构。新的剪枝模块能够更自动地解析通道之间的依赖关系，并覆盖更多的边界情况。\n### 新特性\n#### 剪枝\n\n\n\n- 本次发布引入了全新的剪枝框架。（#311，#313）\n该框架由五个核心模块组成，包括 Algorithm、``ChannelMutator``、``MutableChannelUnit``、``MutableChannel`` 和 ``DynamicOp``。\n\n- 首次引入了 MutableChannelUnit。每个 MutableChannelUnit 负责管理所有具有通道依赖关系的通道。\n\n    ```python\n    from mmrazor.registry import MODELS\n    \n    ARCHITECTURE_CFG = dict(\n        _scope_='mmcls',\n        type='ImageClassifier',\n        backbone=dict(type='MobileNetV2', widen_factor=1.5),\n        neck=dict(type='GlobalAveragePooling'),\n        head=dict(type='mmcls.LinearClsHead', num_classes=1000, in_channels=1920))\n    model = MODELS.build(ARCHITECTURE_CFG)\n    from mmrazor.models.mutators import ChannelMutator\n    \n    channel_mutator = ChannelMutator()\n    channel_mutator.prepare_from_supernet(model)\n    units = channel_mutator.mutable_units\n    print(units[0])\n    # SequentialMutableChannelUnit(\n    #   name=backbone.conv1.conv_(0, 48)_48\n    #   (output_related): ModuleList(\n    #     (0): Channel(backbone.conv1.conv, index=(0, 48), is_output_channel=true, expand_ratio=1)\n    #     (1): Channel(backbone.conv1.bn, index=(0, 48), is_output_channel=true, expand_ratio=1)\n    #     (2): Channel(backbone.layer1.0.conv.0.conv, index=(0, 48), is_output_channel=true, expand_ratio=1)\n    #     (3): Channel(backbone.layer1.0.conv.0.bn, index=(0, 48), is_output_channel=true, expand_ratio=1)\n    #   )\n    #   (input_related): ModuleList(\n    #     (0): Channel(backbone.conv1.bn, index=(0, 48), is_output_channel=false, expand_ratio=1)\n    #     (1): Channel(backbone.layer1.0.conv.0.conv, index=(0, 48), is_output_channel=false, expand_ratio=1)\n    #     (2): Channel(backbone.layer1.0.conv.0.bn, index=(0, 48), is_output_channel=false, expand_ratio=1)\n    #     (3): Channel(backbone.layer1.0.conv.1.conv, index=(0, 48), is_output_channel=false, expand_ratio=1)\n    #   )\n    #   (mutable_channel): SquentialMutableChannel(num_channels=48, activated_channels=48)\n    # )\n    ``` \n我们的新剪枝算法可以帮助您更流畅地开发剪枝算法。有关模型的详细信息，请参阅我们的文档 [PruningUserGuide](.\u002Fdocs\u002Fen\u002Fuser_guides\u002F..\u002F..\u002Fpruning\u002F[pruning_user_guide.md](http:\u002F\u002Fpruning_user_guide.md\u002F))。\n\n#### 知识蒸馏\n- 支持基于对比表征学习的知识蒸馏算法 [CRD](https:\u002F\u002Farxiv.org\u002Fabs\u002F1910.10699)。（#281）\n\n- 支持可在 ``MMDetection`` 和 ``MMDetection3D`` 中使用的知识蒸馏算法 [PKD](https:\u002F\u002Farxiv.org\u002Fabs\u002F2207.02039)。#304 \n\n- 支持","2022-11-01T14:54:52",{"id":173,"version":174,"summary_zh":175,"released_at":176},154207,"v1.0.0rc0","# v1.x 版本更新日志\n\n## v1.0.0rc0 (2022年8月31日)\n\n我们很高兴地宣布 MMRazor 1.0.0rc0 的发布。\nMMRazor 1.0.0rc0 是 MMRazor 1.x 系列的第一个版本，属于 OpenMMLab 2.0 项目的一部分。\n基于全新的 [训练引擎](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmengine)，\nMMRazor 1.x 简化了与其他 OpenMMLab 仓库的交互，并升级了知识蒸馏、剪枝和 NAS 的基础 API。\n同时，它还提供了一系列知识蒸馏算法。\n\n### 亮点\n\n- **全新引擎**。MMRazor 1.x 基于 [MMEngine](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmengine)，该引擎提供了一个通用且功能强大的运行器，支持更灵活的自定义配置，并显著简化了高层接口的入口点。\n\n- **统一接口**。作为 OpenMMLab 2.0 项目的一部分，MMRazor 1.x 统一并重构了训练、测试、数据集、模型、评估和可视化等模块的接口及内部逻辑。所有 OpenMMLab 2.0 项目在这些接口和逻辑上采用相同的设计，从而支持多任务\u002F多模态算法的开发。\n\n- **更可配置的知识蒸馏**。MMRazor 1.x 新增了 [Recorder](..\u002Fadvanced_guides\u002Frecorder.md)，用于更自动地获取知识蒸馏所需的数据；新增了 [Delivery ](..\u002Fadvanced_guides\u002Fdelivery.md)，用于自动将教师模型的中间结果传递给学生模型；同时还提供了连接器来处理教师和学生模型之间特征维度不匹配的问题。\n\n- **更多类型的知识蒸馏算法**。得益于强大的知识蒸馏 API，我们新增了几类知识蒸馏算法，包括无数据蒸馏、自蒸馏以及零样本蒸馏。\n\n- **统一 NAS 和剪枝的基础接口**。我们重构了 [Mutable](..\u002Fadvanced_guides\u002Fmutable.md)，增加了可变值和可变通道的功能。无论是 NAS 还是剪枝，都可以基于可变对象进行开发。\n\n- **更多文档和教程**。我们新增了一系列文档和教程，帮助用户更顺利地入门。请在此处阅读：[https:\u002F\u002Fmmrazor.readthedocs.io\u002Fen\u002F1.0.0rc0\u002F](https:\u002F\u002Fmmrazor.readthedocs.io\u002Fen\u002F1.0.0rc0\u002F)。\n\n### 破坏性变更\n\n#### 训练与测试\n\n- MMRazor 1.x 需要 PyTorch>=1.6 才能运行。为了支持混合精度训练及其他自 PyTorch 1.6 起引入的新特性，我们已弃用对 PyTorch 1.5 的支持。部分模型仍可在 PyTorch 1.5 上运行，但无法保证 MMRazor 1.x 的全部功能正常工作。\n- MMRazor 1.x 使用的是 [MMEngine](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmengine) 中的 Runner，而非 MMCV 中的 Runner。新的 Runner 实现并统一了数据集、模型、评估和可视化组件的构建逻辑。因此，MMRazor 1.x 不再维护 `mmdet.train.apis` 和 `tools\u002Ftrain.py` 中这些模块的构建逻辑。相关代码已被迁移到 [MMEngine](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmengine\u002Fblob\u002Fmain\u002Fmmengine\u002Frunner\u002Frunner.py) 中。\n- MMEngine 中的 Runner 同样支持测试和验证。测试脚本也得到了简化，其逻辑与训练脚本类似，均用于构建 Runner。\n\n#### 配置","2022-09-01T05:06:40",{"id":178,"version":179,"summary_zh":180,"released_at":181},154208,"v0.3.1","### 功能特性\n- 支持在不同设置下使用不同的数据加载器 (#141)\n### Bug 修复\n- 修复了 `broadcast_object_list` 在多机环境下结果不一致的问题 (#153)\n- 修复了在非分布式模式下无法搜索 NAS 模型的 bug (#153)\n- 修复了 `tools\u002Fmmseg\u002Ftrain_mmseg.py` 无法正常训练的 bug (#152)\n- 修复了包含 GroupNorm 或 InstanceNorm 的模型无法进行剪枝的 bug (#144)\n\n### 改进\n- 在配置文件中添加默认的 `mutable_cfg`、`channel_cfg` 和 `teacher_checkpoint`，以减少对 `cfg-options` 的使用 (#149)\n### 文档\n- 修复了 ReadTheDocs 中的链接错误 (#142)","2022-05-04T17:20:26",{"id":183,"version":184,"summary_zh":185,"released_at":186},154209,"v0.3.0","### 功能特性\n- 支持 MMDeploy（#102）\n- 支持关系知识蒸馏（CVPR 2019）（#127）\n- 在分布式训练时，支持不同进程使用不同的随机种子（#113）\n- `StructurePruner` 支持包含空洞卷积的模型，例如 `YOLOF`（#113）\n- `StructurePruner` 支持包含共享模块的模型，例如 `RetinaNet`（#113）\n### Bug 修复\n- 修复剪枝器无法正确追踪共享模块的问题（#113）\n- 修复剪枝器无法追踪 `requires_grad` 为 False 的模块的问题（#113）\n- 修复剪枝器会影响 `BatchNorm` 统计信息的问题（#81）\n### 优化改进\n- 更新分布式训练工具，支持多节点训练（#114）\n- 同步 `mmdet` 和 `mmcls` 最新版本的 `apis`（#115）\n### 文档\n- 在 README 中添加简要的安装步骤（#121）\n- 在 `GET_STARTED` 相关文档中添加实际示例（#133）","2022-04-02T11:46:39",{"id":188,"version":189,"summary_zh":190,"released_at":191},154210,"v0.2.0","### 亮点\n- 支持 MobileNet 系列搜索空间 (#82)\n### 功能\n- 支持 CPU 训练 (#62)\n- 支持从最新检查点自动恢复训练 (#61)\n### Bug 修复\n- 修复测试过程中 `show_result` 的 bug (#52)\n- 修复所有任务在非分布式训练\u002F测试中的 bug (#63)\n- 修复 KLDivergence 的错误值 (#35)\n- 修复 `WSLD` 的配置错误 (#26)\n- 修复 `DetNAS` 的配置错误 (#103)\n- 修复 `slurm_train_mmcls.sh` 的 bug (#90)\n### 改进\n- 增加分布式训练\u002F测试工具 (#105)\n### 文档\n- 修复部分错别字 (#6, #16, #18, #73)\n- 修复 docstring 中的一些错误 (#24, #29)","2022-03-07T15:28:11"]