[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"tool-megvii-research--mdistiller":3,"similar-megvii-research--mdistiller":104},{"id":4,"github_repo":5,"name":6,"description_en":7,"description_zh":8,"ai_summary_zh":9,"readme_en":10,"readme_zh":11,"quickstart_zh":12,"use_case_zh":13,"hero_image_url":14,"owner_login":15,"owner_name":16,"owner_avatar_url":17,"owner_bio":18,"owner_company":19,"owner_location":19,"owner_email":19,"owner_twitter":19,"owner_website":20,"owner_url":21,"languages":22,"stars":27,"forks":28,"last_commit_at":29,"license":19,"difficulty_score":30,"env_os":31,"env_gpu":32,"env_ram":31,"env_deps":33,"category_tags":40,"github_topics":43,"view_count":53,"oss_zip_url":19,"oss_zip_packed_at":19,"status":54,"created_at":55,"updated_at":56,"faqs":57,"releases":93},3076,"megvii-research\u002Fmdistiller","mdistiller","The official implementation of [CVPR2022] Decoupled Knowledge Distillation https:\u002F\u002Farxiv.org\u002Fabs\u002F2203.08679 and [ICCV2023] DOT: A Distillation-Oriented Trainer  https:\u002F\u002Fopenaccess.thecvf.com\u002Fcontent\u002FICCV2023\u002Fpapers\u002FZhao_DOT_A_Distillation-Oriented_Trainer_ICCV_2023_paper.pdf","mdistiller 是一个基于 PyTorch 构建的开源知识库，旨在为计算机视觉领域的知识蒸馏研究提供一站式解决方案。它不仅集成了 KD、FitNet、CRD 等十余种经典蒸馏算法，支持在 CIFAR-100、ImageNet 及 MS-COCO 等主流数据集上快速复现，更是两篇顶级会议论文（CVPR 2022 的 DKD 与 ICCV 2023 的 DOT）的官方实现代码库。\n\n针对传统知识蒸馏中教师网络与学生网络耦合紧密、训练效率受限等痛点，mdistiller 通过引入“解耦知识蒸馏（DKD）”技术，将目标与非目标类的知识传递分离，显著提升了小模型的学习能力；同时结合“面向蒸馏的训练器（DOT）”，进一步优化了训练流程。基准测试数据显示，在多种师生架构组合下，该方法相比传统 KD 能带来可观的精度提升。\n\n这款工具特别适合人工智能研究人员、算法工程师以及高校学生使用。对于希望深入探索模型压缩技术、复现前沿论文成果，或需要在实际项目中部署高效轻量级模型的开发者而言，mdistiller 提供了规范化的代码框架和详实的实验参考，能够帮助用户降低研究门槛，加速从理论验证到工程落地的","mdistiller 是一个基于 PyTorch 构建的开源知识库，旨在为计算机视觉领域的知识蒸馏研究提供一站式解决方案。它不仅集成了 KD、FitNet、CRD 等十余种经典蒸馏算法，支持在 CIFAR-100、ImageNet 及 MS-COCO 等主流数据集上快速复现，更是两篇顶级会议论文（CVPR 2022 的 DKD 与 ICCV 2023 的 DOT）的官方实现代码库。\n\n针对传统知识蒸馏中教师网络与学生网络耦合紧密、训练效率受限等痛点，mdistiller 通过引入“解耦知识蒸馏（DKD）”技术，将目标与非目标类的知识传递分离，显著提升了小模型的学习能力；同时结合“面向蒸馏的训练器（DOT）”，进一步优化了训练流程。基准测试数据显示，在多种师生架构组合下，该方法相比传统 KD 能带来可观的精度提升。\n\n这款工具特别适合人工智能研究人员、算法工程师以及高校学生使用。对于希望深入探索模型压缩技术、复现前沿论文成果，或需要在实际项目中部署高效轻量级模型的开发者而言，mdistiller 提供了规范化的代码框架和详实的实验参考，能够帮助用户降低研究门槛，加速从理论验证到工程落地的过程。","\u003Cdiv align=center>\u003Cimg src=\".github\u002Fmdistiller.png\" width=\"40%\" >\u003Cdiv align=left>\n\nThis repo is\n\n(1) a PyTorch library that provides classical knowledge distillation algorithms on mainstream CV benchmarks,\n\n(2) the official implementation of the CVPR-2022 paper: [Decoupled Knowledge Distillation](https:\u002F\u002Farxiv.org\u002Fabs\u002F2203.08679).\n\n(3) the official implementation of the ICCV-2023 paper: [DOT: A Distillation-Oriented Trainer](https:\u002F\u002Fopenaccess.thecvf.com\u002Fcontent\u002FICCV2023\u002Fpapers\u002FZhao_DOT_A_Distillation-Oriented_Trainer_ICCV_2023_paper.pdf).\n\n\n# DOT: A Distillation-Oriented Trainer\n\n### Framework\n\n\u003Cdiv style=\"text-align:center\">\u003Cimg src=\".github\u002Fdot.png\" width=\"80%\" >\u003C\u002Fdiv>\n\n### Main Benchmark Results\n\nOn CIFAR-100:\n\n| Teacher \u003Cbr> Student | ResNet32x4 \u003Cbr> ResNet8x4| VGG13 \u003Cbr> VGG8| ResNet32x4 \u003Cbr>  ShuffleNet-V2|\n|:---------------:|:-----------------:|:-----------------:|:-----------------:|\n| KD | 73.33 | 72.98 | 74.45 |\n| **KD+DOT** | **75.12** | **73.77** | **75.55** |\n\nOn Tiny-ImageNet:\n\n| Teacher \u003Cbr> Student |ResNet18 \u003Cbr> MobileNet-V2|ResNet18 \u003Cbr> ShuffleNet-V2|\n|:---------------:|:-----------------:|:-----------------:|\n| KD | 58.35 | 62.26 | \n| **KD+DOT** | **64.01** | **65.75** |\n\nOn ImageNet:\n\n| Teacher \u003Cbr> Student |ResNet34 \u003Cbr> ResNet18|ResNet50 \u003Cbr> MobileNet-V1|\n|:---------------:|:-----------------:|:-----------------:|\n| KD | 71.03 | 70.50 | \n| **KD+DOT** | **71.72** | **73.09** |\n\n# Decoupled Knowledge Distillation\n\n### Framework & Performance\n\n\u003Cdiv style=\"text-align:center\">\u003Cimg src=\".github\u002Fdkd.png\" width=\"80%\" >\u003C\u002Fdiv>\n\n### Main Benchmark Results\n\nOn CIFAR-100:\n\n\n| Teacher \u003Cbr> Student |ResNet56 \u003Cbr> ResNet20|ResNet110 \u003Cbr> ResNet32| ResNet32x4 \u003Cbr> ResNet8x4| WRN-40-2 \u003Cbr> WRN-16-2| WRN-40-2 \u003Cbr> WRN-40-1 | VGG13 \u003Cbr> VGG8|\n|:---------------:|:-----------------:|:-----------------:|:-----------------:|:------------------:|:------------------:|:--------------------:|\n| KD | 70.66 | 73.08 | 73.33 | 74.92 | 73.54 | 72.98 |\n| **DKD** | **71.97** | **74.11** | **76.32** | **76.23** | **74.81** | **74.68** |\n\n\n| Teacher \u003Cbr> Student |ResNet32x4 \u003Cbr> ShuffleNet-V1|WRN-40-2 \u003Cbr> ShuffleNet-V1| VGG13 \u003Cbr> MobileNet-V2| ResNet50 \u003Cbr> MobileNet-V2| ResNet32x4 \u003Cbr> MobileNet-V2|\n|:---------------:|:-----------------:|:-----------------:|:-----------------:|:------------------:|:------------------:|\n| KD | 74.07 | 74.83 | 67.37 | 67.35 | 74.45 |\n| **DKD** | **76.45** | **76.70** | **69.71** | **70.35** | **77.07** |\n\n\nOn ImageNet:\n\n| Teacher \u003Cbr> Student |ResNet34 \u003Cbr> ResNet18|ResNet50 \u003Cbr> MobileNet-V1|\n|:---------------:|:-----------------:|:-----------------:|\n| KD | 71.03 | 70.50 | \n| **DKD** | **71.70** | **72.05** |\n\n# MDistiller\n\n### Introduction\n\nMDistiller supports the following distillation methods on CIFAR-100, ImageNet and MS-COCO:\n|Method|Paper Link|CIFAR-100|ImageNet|MS-COCO|\n|:---:|:---:|:---:|:---:|:---:|\n|KD| \u003Chttps:\u002F\u002Farxiv.org\u002Fabs\u002F1503.02531> |&check;|&check;| |\n|FitNet| \u003Chttps:\u002F\u002Farxiv.org\u002Fabs\u002F1412.6550> |&check;| | |\n|AT| \u003Chttps:\u002F\u002Farxiv.org\u002Fabs\u002F1612.03928> |&check;|&check;| |\n|NST| \u003Chttps:\u002F\u002Farxiv.org\u002Fabs\u002F1707.01219> |&check;| | |\n|PKT| \u003Chttps:\u002F\u002Farxiv.org\u002Fabs\u002F1803.10837> |&check;| | |\n|KDSVD| \u003Chttps:\u002F\u002Farxiv.org\u002Fabs\u002F1807.06819> |&check;| | |\n|OFD| \u003Chttps:\u002F\u002Farxiv.org\u002Fabs\u002F1904.01866> |&check;|&check;| |\n|RKD| \u003Chttps:\u002F\u002Farxiv.org\u002Fabs\u002F1904.05068> |&check;| | |\n|VID| \u003Chttps:\u002F\u002Farxiv.org\u002Fabs\u002F1904.05835> |&check;| | |\n|SP| \u003Chttps:\u002F\u002Farxiv.org\u002Fabs\u002F1907.09682> |&check;| | |\n|CRD| \u003Chttps:\u002F\u002Farxiv.org\u002Fabs\u002F1910.10699> |&check;|&check;| |\n|ReviewKD| \u003Chttps:\u002F\u002Farxiv.org\u002Fabs\u002F2104.09044> |&check;|&check;|&check;|\n|DKD| \u003Chttps:\u002F\u002Farxiv.org\u002Fabs\u002F2203.08679> |&check;|&check;|&check;|\n\n\n### Installation\n\nEnvironments:\n\n- Python 3.6\n- PyTorch 1.9.0\n- torchvision 0.10.0\n\nInstall the package:\n\n```\nsudo pip3 install -r requirements.txt\nsudo python3 setup.py develop\n```\n\n### Getting started\n\n0. Wandb as the logger\n\n- The registeration: \u003Chttps:\u002F\u002Fwandb.ai\u002Fhome>.\n- If you don't want wandb as your logger, set `CFG.LOG.WANDB` as `False` at `mdistiller\u002Fengine\u002Fcfg.py`.\n\n1. Evaluation\n\n- You can evaluate the performance of our models or models trained by yourself.\n\n- Our models are at \u003Chttps:\u002F\u002Fgithub.com\u002Fmegvii-research\u002Fmdistiller\u002Freleases\u002Ftag\u002Fcheckpoints>, please download the checkpoints to `.\u002Fdownload_ckpts`\n\n- If test the models on ImageNet, please download the dataset at \u003Chttps:\u002F\u002Fimage-net.org\u002F> and put them to `.\u002Fdata\u002Fimagenet`\n\n  ```bash\n  # evaluate teachers\n  python3 tools\u002Feval.py -m resnet32x4 # resnet32x4 on cifar100\n  python3 tools\u002Feval.py -m ResNet34 -d imagenet # ResNet34 on imagenet\n  \n  # evaluate students\n  python3 tools\u002Feval.p -m resnet8x4 -c download_ckpts\u002Fdkd_resnet8x4 # dkd-resnet8x4 on cifar100\n  python3 tools\u002Feval.p -m MobileNetV1 -c download_ckpts\u002Fimgnet_dkd_mv1 -d imagenet # dkd-mv1 on imagenet\n  python3 tools\u002Feval.p -m model_name -c output\u002Fyour_exp\u002Fstudent_best # your checkpoints\n  ```\n\n\n2. Training on CIFAR-100\n\n- Download the `cifar_teachers.tar` at \u003Chttps:\u002F\u002Fgithub.com\u002Fmegvii-research\u002Fmdistiller\u002Freleases\u002Ftag\u002Fcheckpoints> and untar it to `.\u002Fdownload_ckpts` via `tar xvf cifar_teachers.tar`.\n\n  ```bash\n  # for instance, our DKD method.\n  python3 tools\u002Ftrain.py --cfg configs\u002Fcifar100\u002Fdkd\u002Fres32x4_res8x4.yaml\n\n  # you can also change settings at command line\n  python3 tools\u002Ftrain.py --cfg configs\u002Fcifar100\u002Fdkd\u002Fres32x4_res8x4.yaml SOLVER.BATCH_SIZE 128 SOLVER.LR 0.1\n  ```\n\n3. Training on ImageNet\n\n- Download the dataset at \u003Chttps:\u002F\u002Fimage-net.org\u002F> and put them to `.\u002Fdata\u002Fimagenet`\n\n  ```bash\n  # for instance, our DKD method.\n  python3 tools\u002Ftrain.py --cfg configs\u002Fimagenet\u002Fr34_r18\u002Fdkd.yaml\n  ```\n\n4. Training on MS-COCO\n\n- see [detection.md](detection\u002FREADME.md)\n\n\n5. Extension: Visualizations\n\n- Jupyter notebooks: [tsne](tools\u002Fvisualizations\u002Ftsne.ipynb) and [correlation_matrices](tools\u002Fvisualizations\u002Fcorrelation.ipynb)\n\n\n### Custom Distillation Method\n\n1. create a python file at `mdistiller\u002Fdistillers\u002F` and define the distiller\n  \n  ```python\n  from ._base import Distiller\n\n  class MyDistiller(Distiller):\n      def __init__(self, student, teacher, cfg):\n          super(MyDistiller, self).__init__(student, teacher)\n          self.hyper1 = cfg.MyDistiller.hyper1\n          ...\n\n      def forward_train(self, image, target, **kwargs):\n          # return the output logits and a Dict of losses\n          ...\n      # rewrite the get_learnable_parameters function if there are more nn modules for distillation.\n      # rewrite the get_extra_parameters if you want to obtain the extra cost.\n    ...\n  ```\n\n2. regist the distiller in `distiller_dict` at `mdistiller\u002Fdistillers\u002F__init__.py`\n\n3. regist the corresponding hyper-parameters at `mdistiller\u002Fengines\u002Fcfg.py`\n\n4. create a new config file and test it.\n\n# Citation\n\nIf this repo is helpful for your research, please consider citing the paper:\n\n```BibTeX\n@article{zhao2022dkd,\n  title={Decoupled Knowledge Distillation},\n  author={Zhao, Borui and Cui, Quan and Song, Renjie and Qiu, Yiyu and Liang, Jiajun},\n  journal={arXiv preprint arXiv:2203.08679},\n  year={2022}\n}\n@article{zhao2023dot,\n  title={DOT: A Distillation-Oriented Trainer},\n  author={Zhao, Borui and Cui, Quan and Song, Renjie and Liang, Jiajun},\n  journal={arXiv preprint arXiv:2307.08436},\n  year={2023}\n}\n```\n\n# License\n\nMDistiller is released under the MIT license. See [LICENSE](LICENSE) for details.\n\n# Acknowledgement\n\n- Thanks for CRD and ReviewKD. We build this library based on the [CRD's codebase](https:\u002F\u002Fgithub.com\u002FHobbitLong\u002FRepDistiller) and the [ReviewKD's codebase](https:\u002F\u002Fgithub.com\u002Fdvlab-research\u002FReviewKD).\n\n- Thanks Yiyu Qiu and Yi Shi for the code contribution during their internship in MEGVII Technology.\n\n- Thanks Xin Jin for the discussion about DKD.\n","\u003Cdiv align=center>\u003Cimg src=\".github\u002Fmdistiller.png\" width=\"40%\" >\u003Cdiv align=left>\n\n这个仓库是\n\n(1) 一个 PyTorch 库，提供了在主流计算机视觉基准上的经典知识蒸馏算法，\n\n(2) CVPR-2022 论文 [解耦知识蒸馏](https:\u002F\u002Farxiv.org\u002Fabs\u002F2203.08679) 的官方实现。\n\n(3) ICCV-2023 论文 [DOT：面向蒸馏的训练器](https:\u002F\u002Fopenaccess.thecvf.com\u002Fcontent\u002FICCV2023\u002Fpapers\u002FZhao_DOT_A_Distillation-Oriented_Trainer_ICCV_2023_paper.pdf) 的官方实现。\n\n\n# DOT：面向蒸馏的训练器\n\n### 框架\n\n\u003Cdiv style=\"text-align:center\">\u003Cimg src=\".github\u002Fdot.png\" width=\"80%\" >\u003C\u002Fdiv>\n\n### 主要基准测试结果\n\n在 CIFAR-100 上：\n\n| 教师 \u003Cbr> 学生 | ResNet32x4 \u003Cbr> ResNet8x4| VGG13 \u003Cbr> VGG8| ResNet32x4 \u003Cbr> ShuffleNet-V2|\n|:---------------:|:-----------------:|:-----------------:|:-----------------:|\n| KD | 73.33 | 72.98 | 74.45 |\n| **KD+DOT** | **75.12** | **73.77** | **75.55** |\n\n在 Tiny-ImageNet 上：\n\n| 教师 \u003Cbr> 学生 |ResNet18 \u003Cbr> MobileNet-V2|ResNet18 \u003Cbr> ShuffleNet-V2|\n|:---------------:|:-----------------:|:-----------------:|\n| KD | 58.35 | 62.26 | \n| **KD+DOT** | **64.01** | **65.75** |\n\n在 ImageNet 上：\n\n| 教师 \u003Cbr> 学生 |ResNet34 \u003Cbr> ResNet18|ResNet50 \u003Cbr> MobileNet-V1|\n|:---------------:|:-----------------:|:-----------------:|\n| KD | 71.03 | 70.50 | \n| **KD+DOT** | **71.72** | **73.09** |\n\n# 解耦知识蒸馏\n\n### 框架与性能\n\n\u003Cdiv style=\"text-align:center\">\u003Cimg src=\".github\u002Fdkd.png\" width=\"80%\" >\u003C\u002Fdiv>\n\n### 主要基准测试结果\n\n在 CIFAR-100 上：\n\n\n| 教师 \u003Cbr> 学生 |ResNet56 \u003Cbr> ResNet20|ResNet110 \u003Cbr> ResNet32| ResNet32x4 \u003Cbr> ResNet8x4| WRN-40-2 \u003Cbr> WRN-16-2| WRN-40-2 \u003Cbr> WRN-40-1 | VGG13 \u003Cbr> VGG8|\n|:---------------:|:-----------------:|:-----------------:|:-----------------:|:------------------:|:------------------:|:--------------------:|\n| KD | 70.66 | 73.08 | 73.33 | 74.92 | 73.54 | 72.98 |\n| **DKD** | **71.97** | **74.11** | **76.32** | **76.23** | **74.81** | **74.68** |\n\n\n| 教师 \u003Cbr> 学生 |ResNet32x4 \u003Cbr> ShuffleNet-V1|WRN-40-2 \u003Cbr> ShuffleNet-V1| VGG13 \u003Cbr> MobileNet-V2| ResNet50 \u003Cbr> MobileNet-V2| ResNet32x4 \u003Cbr> MobileNet-V2|\n|:---------------:|:-----------------:|:-----------------:|:-----------------:|:------------------:|:------------------:|\n| KD | 74.07 | 74.83 | 67.37 | 67.35 | 74.45 |\n| **DKD** | **76.45** | **76.70** | **69.71** | **70.35** | **77.07** |\n\n\n在 ImageNet 上：\n\n| 教师 \u003Cbr> 学生 |ResNet34 \u003Cbr> ResNet18|ResNet50 \u003Cbr> MobileNet-V1|\n|:---------------:|:-----------------:|:-----------------:|\n| KD | 71.03 | 70.50 | \n| **DKD** | **71.70** | **72.05** |\n\n# MDistiller\n\n### 简介\n\nMDistiller 支持在 CIFAR-100、ImageNet 和 MS-COCO 上的以下蒸馏方法：\n|方法|论文链接|CIFAR-100|ImageNet|MS-COCO|\n|:---:|:---:|:---:|:---:|:---:|\n|KD| \u003Chttps:\u002F\u002Farxiv.org\u002Fabs\u002F1503.02531> |&check;|&check;| |\n|FitNet| \u003Chttps:\u002F\u002Farxiv.org\u002Fabs\u002F1412.6550> |&check;| | |\n|AT| \u003Chttps:\u002F\u002Farxiv.org\u002Fabs\u002F1612.03928> |&check;|&check;| |\n|NST| \u003Chttps:\u002F\u002Farxiv.org\u002Fabs\u002F1707.01219> |&check;| | |\n|PKT| \u003Chttps:\u002F\u002Farxiv.org\u002Fabs\u002F1803.10837> |&check;| | |\n|KDSVD| \u003Chttps:\u002F\u002Farxiv.org\u002Fabs\u002F1807.06819> |&check;| | |\n|OFD| \u003Chttps:\u002F\u002Farxiv.org\u002Fabs\u002F1904.01866> |&check;|&check;| |\n|RKD| \u003Chttps:\u002F\u002Farxiv.org\u002Fabs\u002F1904.05068> |&check;| | |\n|VID| \u003Chttps:\u002F\u002Farxiv.org\u002Fabs\u002F1904.05835> |&check;| | |\n|SP| \u003Chttps:\u002F\u002Farxiv.org\u002Fabs\u002F1907.09682> |&check;| | |\n|CRD| \u003Chttps:\u002F\u002Farxiv.org\u002Fabs\u002F1910.10699> |&check;|&check;| |\n|ReviewKD| \u003Chttps:\u002F\u002Farxiv.org\u002Fabs\u002F2104.09044> |&check;|&check;|&check;|\n|DKD| \u003Chttps:\u002F\u002Farxiv.org\u002Fabs\u002F2203.08679> |&check;|&check;|&check;|\n\n\n### 安装\n\n环境要求：\n\n- Python 3.6\n- PyTorch 1.9.0\n- torchvision 0.10.0\n\n安装包：\n\n```\nsudo pip3 install -r requirements.txt\nsudo python3 setup.py develop\n```\n\n### 使用指南\n\n0. 使用 Wandb 作为日志记录器\n\n- 注册地址： \u003Chttps:\u002F\u002Fwandb.ai\u002Fhome>。\n- 如果您不想使用 Wandb 作为日志记录器，请在 `mdistiller\u002Fengine\u002Fcfg.py` 中将 `CFG.LOG.WANDB` 设置为 `False`。\n\n1. 评估\n\n- 您可以评估我们提供的模型或您自己训练的模型的性能。\n\n- 我们的模型位于 \u003Chttps:\u002F\u002Fgithub.com\u002Fmegvii-research\u002Fmdistiller\u002Freleases\u002Ftag\u002Fcheckpoints>,请将检查点下载到 `.\u002Fdownload_ckpts`。\n\n- 如果要在 ImageNet 上测试模型，请从 \u003Chttps:\u002F\u002Fimage-net.org\u002F> 下载数据集，并将其放入 `.\u002Fdata\u002Fimagenet`。\n\n  ```bash\n  # 评估教师模型\n  python3 tools\u002Feval.py -m resnet32x4 # resnet32x4 在 cifar100 上\n  python3 tools\u002Feval.py -m ResNet34 -d imagenet # ResNet34 在 imagenet 上\n  \n  # 评估学生模型\n  python3 tools\u002Feval.p -m resnet8x4 -c download_ckpts\u002Fdkd_resnet8x4 # dkd-resnet8x4 在 cifar100 上\n  python3 tools\u002Feval.p -m MobileNetV1 -c download_ckpts\u002Fimgnet_dkd_mv1 -d imagenet # dkd-mv1 在 imagenet 上\n  python3 tools\u002Feval.p -m model_name -c output\u002Fyour_exp\u002Fstudent_best # 您自己的检查点\n  ```\n\n\n2. 在 CIFAR-100 上训练\n\n- 从 \u003Chttps:\u002F\u002Fgithub.com\u002Fmegvii-research\u002Fmdistiller\u002Freleases\u002Ftag\u002Fcheckpoints> 下载 `cifar_teachers.tar`，并使用 `tar xvf cifar_teachers.tar` 将其解压到 `.\u002Fdownload_ckpts`。\n\n  ```bash\n  # 以我们的 DKD 方法为例。\n  python3 tools\u002Ftrain.py --cfg configs\u002Fcifar100\u002Fdkd\u002Fres32x4_res8x4.yaml\n\n  # 您也可以在命令行中更改设置\n  python3 tools\u002Ftrain.py --cfg configs\u002Fcifar100\u002Fdkd\u002Fres32x4_res8x4.yaml SOLVER.BATCH_SIZE 128 SOLVER.LR 0.1\n  ```\n\n3. 在 ImageNet 上训练\n\n- 从 \u003Chttps:\u002F\u002Fimage-net.org\u002F> 下载数据集，并将其放入 `.\u002Fdata\u002Fimagenet`。\n\n  ```bash\n  # 以我们的 DKD 方法为例。\n  python3 tools\u002Ftrain.py --cfg configs\u002Fimagenet\u002Fr34_r18\u002Fdkd.yaml\n  ```\n\n4. 在 MS-COCO 上训练\n\n- 请参阅 [detection.md](detection\u002FREADME.md)\n\n\n5. 扩展：可视化\n\n- Jupyter 笔记本：[tsne](tools\u002Fvisualizations\u002Ftsne.ipynb) 和 [correlation_matrices](tools\u002Fvisualizations\u002Fcorrelation.ipynb)\n\n\n### 自定义知识蒸馏方法\n\n1. 在 `mdistiller\u002Fdistillers\u002F` 目录下创建一个 Python 文件，并定义您的蒸馏器。\n\n  ```python\n  from ._base import Distiller\n\n  class MyDistiller(Distiller):\n      def __init__(self, student, teacher, cfg):\n          super(MyDistiller, self).__init__(student, teacher)\n          self.hyper1 = cfg.MyDistiller.hyper1\n          ...\n\n      def forward_train(self，image，target，**kwargs):\n          # 返回输出 logits 和损失字典\n          ...\n      # 如果有更多用于蒸馏的神经网络模块，则重写 get_learnable_parameters 函数。\n      # 如果需要获取额外的代价，则重写 get_extra_parameters 函数。\n    ...\n  ```\n\n2. 在 `mdistiller\u002Fdistillers\u002F__init__.py` 中的 `distiller_dict` 中注册该蒸馏器。\n\n3. 在 `mdistiller\u002Fengines\u002Fcfg.py` 中注册相应的超参数。\n\n4. 创建一个新的配置文件并进行测试。\n\n# 引用\n\n如果本仓库对您的研究有所帮助，请考虑引用以下论文：\n\n```BibTeX\n@article{zhao2022dkd,\n  title={解耦知识蒸馏},\n  author={Zhao, Borui and Cui, Quan and Song, Renjie and Qiu, Yiyu and Liang, Jiajun},\n  journal={arXiv预印本 arXiv:2203.08679},\n  year={2022}\n}\n@article{zhao2023dot,\n  title={DOT：面向知识蒸馏的训练器},\n  author={Zhao, Borui and Cui, Quan and Song, Renjie and Liang, Jiajun},\n  journal={arXiv预印本 arXiv:2307.08436},\n  year={2023}\n}\n```\n\n# 许可证\n\nMDistiller 采用 MIT 许可证发布。详情请参阅 [LICENSE](LICENSE) 文件。\n\n# 致谢\n\n- 感谢 CRD 和 ReviewKD。我们基于 [CRD 的代码库](https:\u002F\u002Fgithub.com\u002FHobbitLong\u002FRepDistiller) 和 [ReviewKD 的代码库](https:\u002F\u002Fgithub.com\u002Fdvlab-research\u002FReviewKD) 构建了这个库。\n\n- 感谢邱一宇和史毅在旷视科技实习期间的代码贡献。\n\n- 感谢金鑫关于 DKD 的讨论。","# MDistiller 快速上手指南\n\nMDistiller 是一个基于 PyTorch 的知识蒸馏库，集成了主流计算机视觉基准测试中的经典蒸馏算法，并官方实现了 CVPR-2022 论文 **DKD (Decoupled Knowledge Distillation)** 和 ICCV-2023 论文 **DOT (Distillation-Oriented Trainer)**。支持 CIFAR-100、ImageNet 和 MS-COCO 数据集。\n\n## 环境准备\n\n在开始之前，请确保您的开发环境满足以下要求：\n\n*   **操作系统**: Linux (推荐)\n*   **Python**: 3.6+\n*   **PyTorch**: 1.9.0\n*   **torchvision**: 0.10.0\n*   **其他依赖**: 详见项目根目录下的 `requirements.txt`\n\n> **提示**：国内用户建议使用清华源或阿里源加速 Python 包的安装。\n\n## 安装步骤\n\n1.  **克隆仓库** (如果尚未下载)：\n    ```bash\n    git clone https:\u002F\u002Fgithub.com\u002Fmegvii-research\u002Fmdistiller.git\n    cd mdistiller\n    ```\n\n2.  **安装依赖包**：\n    建议使用国内镜像源加速安装：\n    ```bash\n    pip3 install -r requirements.txt -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n    ```\n\n3.  **安装 MDistiller 包**：\n    以开发模式安装，以便修改代码后即时生效：\n    ```bash\n    sudo python3 setup.py develop\n    ```\n\n## 基本使用\n\n### 1. 配置日志工具 (可选)\n默认使用 Wandb 记录训练日志。若无需使用，请编辑 `mdistiller\u002Fengine\u002Fcfg.py`，将 `CFG.LOG.WANDB` 设置为 `False`。\n\n### 2. 模型评估 (Evaluation)\n您可以评估预训练模型或自己训练的模型。\n\n*   **下载预训练权重**：\n    从 [Releases 页面](https:\u002F\u002Fgithub.com\u002Fmegvii-research\u002Fmdistiller\u002Freleases\u002Ftag\u002Fcheckpoints) 下载 checkpoints 并解压至 `.\u002Fdownload_ckpts` 目录。\n    *   ImageNet 数据集需单独下载并放置于 `.\u002Fdata\u002Fimagenet`。\n\n*   **运行评估命令**：\n    ```bash\n    # 评估教师模型 (CIFAR-100 上的 resnet32x4)\n    python3 tools\u002Feval.py -m resnet32x4\n\n    # 评估教师模型 (ImageNet 上的 ResNet34)\n    python3 tools\u002Feval.py -m ResNet34 -d imagenet\n\n    # 评估学生模型 (使用 DKD 方法训练的 cifar100 模型)\n    python3 tools\u002Feval.py -m resnet8x4 -c download_ckpts\u002Fdkd_resnet8x4\n\n    # 评估学生模型 (使用 DKD 方法训练的 ImageNet 模型)\n    python3 tools\u002Feval.py -m MobileNetV1 -c download_ckpts\u002Fimgnet_dkd_mv1 -d imagenet\n\n    # 评估自定义训练的模型\n    python3 tools\u002Feval.py -m model_name -c output\u002Fyour_exp\u002Fstudent_best\n    ```\n    *(注：原文 README 中部分命令误写为 `eval.p`，此处已修正为标准的 `eval.py`)*\n\n### 3. 开始训练 (Training)\n\n#### 在 CIFAR-100 上训练\n首先下载教师模型权重 `cifar_teachers.tar` 并解压到 `.\u002Fdownload_ckpts`：\n```bash\ntar xvf cifar_teachers.tar -C .\u002Fdownload_ckpts\n```\n\n执行训练命令（以 DKD 方法为例）：\n```bash\n# 使用默认配置文件训练\npython3 tools\u002Ftrain.py --cfg configs\u002Fcifar100\u002Fdkd\u002Fres32x4_res8x4.yaml\n\n# 或通过命令行覆盖参数 (例如修改 Batch Size 和学习率)\npython3 tools\u002Ftrain.py --cfg configs\u002Fcifar100\u002Fdkd\u002Fres32x4_res8x4.yaml SOLVER.BATCH_SIZE 128 SOLVER.LR 0.1\n```\n\n#### 在 ImageNet 上训练\n确保数据集已下载并放置在 `.\u002Fdata\u002Fimagenet` 目录下。\n\n执行训练命令：\n```bash\n# 以 ResNet34 蒸馏到 ResNet18 (DKD 方法) 为例\npython3 tools\u002Ftrain.py --cfg configs\u002Fimagenet\u002Fr34_r18\u002Fdkd.yaml\n```\n\n#### 在 MS-COCO 上训练\n目标检测任务的训练配置请参考 `detection\u002FREADME.md`。\n\n### 4. 可视化扩展\n项目提供了 Jupyter Notebook 用于可视化分析：\n*   **t-SNE 可视化**: `tools\u002Fvisualizations\u002Ftsne.ipynb`\n*   **相关性矩阵可视化**: `tools\u002Fvisualizations\u002Fcorrelation.ipynb`","某自动驾驶初创公司的算法团队正致力于将高精度的重型检测模型部署到算力受限的车载边缘芯片上，急需在保持精度的同时大幅压缩模型体积。\n\n### 没有 mdistiller 时\n- **精度损失严重**：直接使用传统知识蒸馏（KD）方法训练轻量级学生模型时，在复杂路况下的识别准确率比教师模型下降了超过 5%，难以满足安全标准。\n- **调参成本高昂**：面对 FitNet、AT、CRD 等多种蒸馏策略，团队需手动复现并逐一调试超参数，耗费数周时间却难以确定最优组合。\n- **训练效率低下**：缺乏统一的训练框架，每次切换蒸馏算法都需要重构数据加载和损失函数代码，导致实验迭代周期长达数天。\n- **异构架构适配难**：当尝试将 ResNet 教师模型的知识迁移到 ShuffleNet 或 MobileNet 等不同架构的学生模型时，特征对齐困难，收敛效果极不稳定。\n\n### 使用 mdistiller 后\n- **显著提升小模型性能**：引入 mdistiller 中的 DKD（解耦知识蒸馏）和 DOT 训练器后，学生模型在同等压缩率下准确率提升了 2-3 个百分点，接近教师模型水平。\n- **一站式算法库支持**：直接调用库中集成的十多种经典及 SOTA 蒸馏算法（如 ReviewKD、OFD），无需重复造轮子，当天即可完成多策略对比验证。\n- **标准化训练流程**：利用其基于 PyTorch 的统一接口，团队将实验配置时间从几天缩短至几小时，快速锁定了针对车载芯片的最佳蒸馏方案。\n- **跨架构迁移顺畅**：借助 mdistiller 对异构网络（如 ResNet 到 MobileNet）的原生支持，成功实现了高效的知识迁移，解决了特征维度不匹配的难题。\n\nmdistiller 通过提供标准化的前沿蒸馏算法与高效训练器，帮助团队以最低成本突破了边缘端模型的性能瓶颈。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmegvii-research_mdistiller_2c054181.png","megvii-research","MEGVII Research","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fmegvii-research_9dd88987.png","Power Human with AI. 持续创新拓展认知边界 非凡科技成就产品价值",null,"https:\u002F\u002Fwww.megvii.com\u002F","https:\u002F\u002Fgithub.com\u002Fmegvii-research",[23],{"name":24,"color":25,"percentage":26},"Python","#3572A5",100,896,132,"2026-04-01T08:59:34",3,"未说明","未说明 (基于 PyTorch，通常建议配备支持 CUDA 的 NVIDIA GPU 以进行训练)",{"notes":34,"python":35,"dependencies":36},"该工具主要用于计算机视觉领域的知识蒸馏研究。安装时需先安装 requirements.txt 中的依赖，然后运行 setup.py develop。默认使用 Wandb 作为日志记录工具，若不需要可在配置文件中关闭。训练和评估前需手动下载 CIFAR-100、ImageNet 或 MS-COCO 数据集及预训练权重文件到指定目录。","3.6",[37,38,39],"torch==1.9.0","torchvision==0.10.0","wandb",[41,42],"开发框架","图像",[44,45,46,47,48,49,50,51,52],"pytorch","knowledge-distillation","computer-vision","deep-learning","cifar","coco","cvpr2022","imagenet","iccv2023",2,"ready","2026-03-27T02:49:30.150509","2026-04-06T05:44:23.273034",[58,63,68,73,78,83,88],{"id":59,"question_zh":60,"answer_zh":61,"source_url":62},14163,"安装 mdistiller 后运行 train.py 提示找不到模块（ModuleNotFoundError）怎么办？","这通常是因为 Python 路径未正确配置。解决方法有两种：\n1. 手动在代码开头添加路径：\n```python\nimport sys\nsys.path.append('path_to_mdistiller')\n```\n2. 如果使用的是 Python 3.9 或其他非 3.6 版本，建议使用以下命令重新安装开发模式：\n```bash\nsudo python3 setup.py develop --user\n```\n同时请检查 sys.path 中是否包含 mdistiller 的路径。","https:\u002F\u002Fgithub.com\u002Fmegvii-research\u002Fmdistiller\u002Fissues\u002F26",{"id":64,"question_zh":65,"answer_zh":66,"source_url":67},14164,"无法复现论文中的准确率结果（如 DKD、ReviewKD 等），可能的原因是什么？","复现结果差异通常由超参数设置不当引起，特别是学习率（LR）和批次大小（BATCH_SIZE）的匹配问题。\n例如在 ReviewKD 实验中，若 BATCH_SIZE=128，学习率应设为 0.02；若改为 BATCH_SIZE=64，学习率可设为 0.01，并适当调整蒸馏权重（如 REVIEWKD_WEIGHT=30.0）。\n建议仔细核对配置文件中的学习率与批次大小的比例关系，并参考官方脚本或已验证的配置进行调整。","https:\u002F\u002Fgithub.com\u002Fmegvii-research\u002Fmdistiller\u002Fissues\u002F39",{"id":69,"question_zh":70,"answer_zh":71,"source_url":72},14165,"如何在单阶段检测器（如 YOLOv7）中使用 DKD 蒸馏方法？应该使用哪部分的 logits？","在检测任务中使用 DKD 时，应使用 NMS（非极大值抑制）处理前的 logits 进行蒸馏。具体来说，使用 teacher 模型在 NMS 前的输出 logits 来蒸馏 student 模型在 NMS 前的 logits。\n虽然 YOLO 类检测器的预测置信度组数可能远大于目标类别数，但这不影响蒸馏效果。DKD 在检测任务中已被验证有效，可以直接应用于 YOLOv7 等单阶段检测器。","https:\u002F\u002Fgithub.com\u002Fmegvii-research\u002Fmdistiller\u002Fissues\u002F40",{"id":74,"question_zh":75,"answer_zh":76,"source_url":77},14166,"如何使用 VGG 架构运行 ReviewKD 方法？遇到通道数不匹配错误如何解决？","遇到通道数不匹配错误（如 expected input to have 256 channels, but got 512）时，需要正确配置 ReviewKD 的输入输出通道和形状参数。\n关键原则是：\n- IN_CHANNELS 和 SHAPES 应来自 student 模型的特征图（student_feats）\n- OUT_CHANNELS 和 OUT_SHAPES 应来自 teacher 模型的特征图（teacher_feats）\n建议使用调试工具打印 student_feats 和 teacher_feats 的实际形状，然后据此配置 YAML 文件。例如对于 VGG13 到 VGG8：\n```yaml\nREVIEWKD:\n  IN_CHANNELS: [128, 256, 512, 512, 512]\n  OUT_CHANNELS: [128, 256, 512, 512, 512]\n  SHAPES: [1, 4, 4, 8, 16, 32]\n  OUT_SHAPES: [1, 4, 4, 8, 16, 32]\n  REVIEWKD_WEIGHT: 8.0\n```","https:\u002F\u002Fgithub.com\u002Fmegvii-research\u002Fmdistiller\u002Fissues\u002F23",{"id":79,"question_zh":80,"answer_zh":81,"source_url":82},14167,"如何从头训练单个模型（如 ResNet32x4）而不使用预训练模型？为什么带有'student'后缀的模型文件更小？","可以直接使用仓库中的配置训练单个模型，无需预训练模型。\n关于模型文件大小差异：当前实现中，所有检查点都保存了完整参数（包括 student、teacher、connector 等）。即使使用 Vanilla 模式（无蒸馏），保存的文件仍包含 teacher 的参数（实际上无用），导致文件较大。而带有'student'后缀的文件可能只保存了 student 部分的参数，因此体积较小。\n维护者已意识到这个问题并计划修复，目前可以忽略大小差异，重点关注模型性能。","https:\u002F\u002Fgithub.com\u002Fmegvii-research\u002Fmdistiller\u002Fissues\u002F20",{"id":84,"question_zh":85,"answer_zh":86,"source_url":87},14168,"想用自己的网络结构替换原有模型进行训练，但出现错误，应该如何操作？","自定义网络结构时出现错误，通常是因为网络定义与加载的参数存在冲突。\n解决步骤：\n1. 修改网络定义的 Python 文件，确保新网络结构与原结构兼容或相应调整加载逻辑\n2. 检查配置文件（YAML）中的模型名称是否正确指向新定义的网络\n3. 确保自定义模型的权重文件路径正确，并且模型架构与权重匹配\n4. 如果使用自适应卷积等特殊结构，需确保新旧模型在层数和通道数上能够对应\n建议先打印模型结构（如 print(model())）对比差异，逐步排查冲突点。","https:\u002F\u002Fgithub.com\u002Fmegvii-research\u002Fmdistiller\u002Fissues\u002F37",{"id":89,"question_zh":90,"answer_zh":91,"source_url":92},14169,"WRN 模型蒸馏结果明显低于论文报告值，可能是什么原因？","WRN 模型蒸馏结果偏低可能是由于随机性或硬件环境差异导致。有用户反馈在单 GPU 上训练 4 次后，平均准确率为 75.505%，接近但仍略低于论文报告的 76.24%。\n建议：\n1. 多次运行实验取平均值\n2. 确认使用的超参数完全一致（包括随机种子）\n3. 检查硬件环境和深度学习框架版本是否与论文实验环境一致\n4. 注意论文中教师模型本身的准确率也可能存在波动，这会直接影响学生模型的上限","https:\u002F\u002Fgithub.com\u002Fmegvii-research\u002Fmdistiller\u002Fissues\u002F8",[94,99],{"id":95,"version":96,"summary_zh":97,"released_at":98},80917,"checkpoints_dot","交通部门的额外检查点。","2023-11-05T09:23:59",{"id":100,"version":101,"summary_zh":102,"released_at":103},80918,"checkpoints","DKD的一些检查点。","2022-03-19T14:34:47",[105,114,123,131,139,152],{"id":106,"name":107,"github_repo":108,"description_zh":109,"stars":110,"difficulty_score":30,"last_commit_at":111,"category_tags":112,"status":54},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",[41,42,113],"Agent",{"id":115,"name":116,"github_repo":117,"description_zh":118,"stars":119,"difficulty_score":53,"last_commit_at":120,"category_tags":121,"status":54},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 真正成长为懂上",138956,"2026-04-05T11:33:21",[41,113,122],"语言模型",{"id":124,"name":125,"github_repo":126,"description_zh":127,"stars":128,"difficulty_score":53,"last_commit_at":129,"category_tags":130,"status":54},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,"2026-04-03T11:11:01",[41,42,113],{"id":132,"name":133,"github_repo":134,"description_zh":135,"stars":136,"difficulty_score":53,"last_commit_at":137,"category_tags":138,"status":54},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[41,122],{"id":140,"name":141,"github_repo":142,"description_zh":143,"stars":144,"difficulty_score":53,"last_commit_at":145,"category_tags":146,"status":54},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,"2026-04-05T10:45:23",[42,147,148,149,113,150,122,41,151],"数据工具","视频","插件","其他","音频",{"id":153,"name":154,"github_repo":155,"description_zh":156,"stars":157,"difficulty_score":30,"last_commit_at":158,"category_tags":159,"status":54},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,"2026-04-04T04:44:48",[113,42,41,122,150]]