[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-hila-chefer--Transformer-MM-Explainability":3,"tool-hila-chefer--Transformer-MM-Explainability":64},[4,17,25,39,48,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},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,2,"2026-04-05T11:33:21",[13,14,15],"开发框架","Agent","语言模型","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":10,"last_commit_at":23,"category_tags":24,"status":16},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",[13,15],{"id":26,"name":27,"github_repo":28,"description_zh":29,"stars":30,"difficulty_score":10,"last_commit_at":31,"category_tags":32,"status":16},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",[33,34,35,36,14,37,15,13,38],"图像","数据工具","视频","插件","其他","音频",{"id":40,"name":41,"github_repo":42,"description_zh":43,"stars":44,"difficulty_score":45,"last_commit_at":46,"category_tags":47,"status":16},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,3,"2026-04-04T04:44:48",[14,33,13,15,37],{"id":49,"name":50,"github_repo":51,"description_zh":52,"stars":53,"difficulty_score":45,"last_commit_at":54,"category_tags":55,"status":16},519,"PaddleOCR","PaddlePaddle\u002FPaddleOCR","PaddleOCR 是一款基于百度飞桨框架开发的高性能开源光学字符识别工具包。它的核心能力是将图片、PDF 等文档中的文字提取出来，转换成计算机可读取的结构化数据，让机器真正“看懂”图文内容。\n\n面对海量纸质或电子文档，PaddleOCR 解决了人工录入效率低、数字化成本高的问题。尤其在人工智能领域，它扮演着连接图像与大型语言模型（LLM）的桥梁角色，能将视觉信息直接转化为文本输入，助力智能问答、文档分析等应用场景落地。\n\nPaddleOCR 适合开发者、算法研究人员以及有文档自动化需求的普通用户。其技术优势十分明显：不仅支持全球 100 多种语言的识别，还能在 Windows、Linux、macOS 等多个系统上运行，并灵活适配 CPU、GPU、NPU 等各类硬件。作为一个轻量级且社区活跃的开源项目，PaddleOCR 既能满足快速集成的需求，也能支撑前沿的视觉语言研究，是处理文字识别任务的理想选择。",74913,"2026-04-05T10:44:17",[15,33,13,37],{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":45,"last_commit_at":62,"category_tags":63,"status":16},2181,"OpenHands","OpenHands\u002FOpenHands","OpenHands 是一个专注于 AI 驱动开发的开源平台，旨在让智能体（Agent）像人类开发者一样理解、编写和调试代码。它解决了传统编程中重复性劳动多、环境配置复杂以及人机协作效率低等痛点，通过自动化流程显著提升开发速度。\n\n无论是希望提升编码效率的软件工程师、探索智能体技术的研究人员，还是需要快速原型验证的技术团队，都能从中受益。OpenHands 提供了灵活多样的使用方式：既可以通过命令行（CLI）或本地图形界面在个人电脑上轻松上手，体验类似 Devin 的流畅交互；也能利用其强大的 Python SDK 自定义智能体逻辑，甚至在云端大规模部署上千个智能体并行工作。\n\n其核心技术亮点在于模块化的软件智能体 SDK，这不仅构成了平台的引擎，还支持高度可组合的开发模式。此外，OpenHands 在 SWE-bench 基准测试中取得了 77.6% 的优异成绩，证明了其解决真实世界软件工程问题的能力。平台还具备完善的企业级功能，支持与 Slack、Jira 等工具集成，并提供细粒度的权限管理，适合从个人开发者到大型企业的各类用户场景。",70612,"2026-04-05T11:12:22",[15,14,13,36],{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":70,"readme_en":71,"readme_zh":72,"quickstart_zh":73,"use_case_zh":74,"hero_image_url":75,"owner_login":76,"owner_name":77,"owner_avatar_url":78,"owner_bio":79,"owner_company":80,"owner_location":80,"owner_email":80,"owner_twitter":81,"owner_website":82,"owner_url":83,"languages":84,"stars":109,"forks":110,"last_commit_at":111,"license":112,"difficulty_score":45,"env_os":113,"env_gpu":114,"env_ram":115,"env_deps":116,"category_tags":126,"github_topics":127,"view_count":10,"oss_zip_url":80,"oss_zip_packed_at":80,"status":16,"created_at":139,"updated_at":140,"faqs":141,"releases":171},3283,"hila-chefer\u002FTransformer-MM-Explainability","Transformer-MM-Explainability","[ICCV 2021- Oral] Official PyTorch implementation for Generic Attention-model Explainability for Interpreting Bi-Modal and Encoder-Decoder Transformers, a novel method to visualize any Transformer-based network. Including examples for DETR, VQA.","Transformer-MM-Explainability 是一款专为解读多模态 Transformer 模型而设计的开源可视化工具。它源自 ICCV 2021 的口头报告论文，旨在解决深度学习领域长期存在的“黑盒”难题：即用户难以理解模型在处理图像与文本混合数据时，究竟关注了哪些关键区域或词汇。\n\n通过提供一种通用的注意力机制解释方法，该工具能够直观地展示模型内部的决策逻辑。无论是双模态编码器（如 LXMERT、CLIP），还是编码器 - 解码器架构（如 DETR、VisualBERT），甚至是纯视觉模型（ViT），它都能生成清晰的热力图，高亮显示模型在回答问题或检测物体时所依赖的图像区域和文本片段。\n\n其核心技术亮点在于“通用性”，无需针对特定模型重新训练即可直接应用，并支持在 Google Colab 上快速运行示例代码或体验 Hugging Face 在线演示。这使得研究人员能够深入分析模型行为、发现潜在偏差；开发者可以据此优化算法性能；对可解释性 AI 感兴趣的设计师也能利用它向非技术人员展示模型工作原理。如果你正在探索视觉问答、图像描述生成或多模态理解领域，Transfor","Transformer-MM-Explainability 是一款专为解读多模态 Transformer 模型而设计的开源可视化工具。它源自 ICCV 2021 的口头报告论文，旨在解决深度学习领域长期存在的“黑盒”难题：即用户难以理解模型在处理图像与文本混合数据时，究竟关注了哪些关键区域或词汇。\n\n通过提供一种通用的注意力机制解释方法，该工具能够直观地展示模型内部的决策逻辑。无论是双模态编码器（如 LXMERT、CLIP），还是编码器 - 解码器架构（如 DETR、VisualBERT），甚至是纯视觉模型（ViT），它都能生成清晰的热力图，高亮显示模型在回答问题或检测物体时所依赖的图像区域和文本片段。\n\n其核心技术亮点在于“通用性”，无需针对特定模型重新训练即可直接应用，并支持在 Google Colab 上快速运行示例代码或体验 Hugging Face 在线演示。这使得研究人员能够深入分析模型行为、发现潜在偏差；开发者可以据此优化算法性能；对可解释性 AI 感兴趣的设计师也能利用它向非技术人员展示模型工作原理。如果你正在探索视觉问答、图像描述生成或多模态理解领域，Transformer-MM-Explainability 将是一个得力的辅助伙伴，帮助你透过复杂的网络结构，看清智能背后的逻辑脉络。","[ICCV 2021- Oral] PyTorch Implementation of `Generic Attention-model Explainability for Interpreting Bi-Modal and Encoder-Decoder Transformers \u003Chttps:\u002F\u002Farxiv.org\u002Fabs\u002F2103.15679>`_\n=================================================================================================================================================================\n\n|youtube|\n\n.. |youtube| image:: https:\u002F\u002Fimg.shields.io\u002Fstatic\u002Fv1?label=ICCV2021&message=12MinuteVideo&color=red\n                   :target: https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=bQTL34Dln-M\n\nNotebooks for LXMERT + DETR:\n----------------------------\n\n|DETR_LXMERT|\n\n.. |DETR_LXMERT| image:: https:\u002F\u002Fcolab.research.google.com\u002Fassets\u002Fcolab-badge.svg\n                   :target: https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fhila-chefer\u002FTransformer-MM-Explainability\u002Fblob\u002Fmain\u002FTransformer_MM_Explainability.ipynb\n\nNotebook for CLIP:\n----------------------------\n\n|CLIP|\n\n.. |CLIP| image:: https:\u002F\u002Fcolab.research.google.com\u002Fassets\u002Fcolab-badge.svg\n                   :target: https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fhila-chefer\u002FTransformer-MM-Explainability\u002Fblob\u002Fmain\u002FCLIP_explainability.ipynb\n\n**Demo**: You can check out a demo on `Huggingface spaces \u003Chttps:\u002F\u002Fhuggingface.co\u002Fspaces\u002FPaulHilders\u002FCLIPGroundingExplainability>`_ or scan the following QR code.\n\n.. image:: https:\u002F\u002Fuser-images.githubusercontent.com\u002F19412343\u002F176676771-d26f2146-9901-49e7-99be-b030f3d790de.png\n   :width: 100\n\n\nNotebook for ViT:\n----------------------------\n\n|ViT|\n\n.. |ViT| image:: https:\u002F\u002Fcolab.research.google.com\u002Fassets\u002Fcolab-badge.svg\n                   :target: https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fhila-chefer\u002FTransformer-MM-Explainability\u002Fblob\u002Fmain\u002FTransformer_MM_explainability_ViT.ipynb\n\n.. sectnum::\n\n\nUsing Colab\n----------------\n\n* Please notice that the notebook assumes that you are using a GPU. To switch runtime go to Runtime -> change runtime type and select GPU.\n* Installing all the requirements may take some time. After installation, please restart the runtime.\n\nRunning Examples\n----------------\n\nNotice that we have two `jupyter` notebooks to run the examples presented in the paper.\n\n* `The notebook for LXMERT \u003C.\u002FLXMERT.ipynb>`_ contains both the examples from the paper and examples with images from the internet and free form questions.\n  To use your own input, simply change the `URL` variable to your image and the `question` variable to your free form question.\n\n  .. image:: LXMERT.PNG\n\n  .. image:: LXMERT-web.PNG\n\n* `The notebook for DETR \u003C.\u002FDETR.ipynb>`_ contains the examples from the paper.\n  To use your own input, simply change the `URL` variable to your image.\n\n  .. image:: DETR.PNG\n\nReproduction of results\n-----------------------\n\n^^^^^^^^^^\nVisualBERT\n^^^^^^^^^^\n\nRun the `run.py` script as follows:\n\n.. code-block:: bash\n\n   CUDA_VISIBLE_DEVICES=0 PYTHONPATH=`pwd` python VisualBERT\u002Frun.py --method=\u003Cmethod_name> --is-text-pert=\u003Ctrue\u002Ffalse> --is-positive-pert=\u003Ctrue\u002Ffalse> --num-samples=10000 config=projects\u002Fvisual_bert\u002Fconfigs\u002Fvqa2\u002Fdefaults.yaml model=visual_bert dataset=vqa2 run_type=val checkpoint.resume_zoo=visual_bert.finetuned.vqa2.from_coco_train env.data_dir=\u002Fpath\u002Fto\u002Fdata_dir training.num_workers=0 training.batch_size=1 training.trainer=mmf_pert training.seed=1234\n\n.. note::\n\n  If the datasets aren't already in `env.data_dir`, then the script will download the data automatically to the path in `env.data_dir`.\n\n\n^^^^^^\nLXMERT\n^^^^^^\n\n#. Download `valid.json \u003Chttps:\u002F\u002Fnlp.cs.unc.edu\u002Fdata\u002Flxmert_data\u002Fvqa\u002Fvalid.json>`_:\n\n    .. code-block:: bash\n\n      pushd data\u002Fvqa\n      wget https:\u002F\u002Fnlp.cs.unc.edu\u002Fdata\u002Flxmert_data\u002Fvqa\u002Fvalid.json\n      popd\n\n#. Download the `COCO_val2014` set to your local machine.\n\n   .. note::\n\n      If you already downloaded `COCO_val2014` for the `VisualBERT`_ tests, you can simply use the same path you used for `VisualBERT`_.\n\n#. Run the `perturbation.py` script as follows:\n\n    .. code-block:: bash\n\n      CUDA_VISIBLE_DEVICES=0 PYTHONPATH=`pwd` python lxmert\u002Flxmert\u002Fperturbation.py  --COCO_path \u002Fpath\u002Fto\u002FCOCO_val2014 --method \u003Cmethod_name> --is-text-pert \u003Ctrue\u002Ffalse> --is-positive-pert \u003Ctrue\u002Ffalse>\n\n\n\n^^^^\nDETR\n^^^^\n\n#. Download the COCO dataset as described in the `DETR repository \u003Chttps:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fdetr#data-preparation>`_.\n   Notice you only need the validation set.\n   \n#. Lower the IoU minimum threshold from 0.5 to 0.2 using the following steps:\n         \n   * Locate the `cocoeval.py` script in your python library path:\n      \n     find library path:\n    \n      .. code-block:: python\n\n         import sys\n         print(sys.path)\n         \n     find `cocoeval.py`: \n  \n      .. code-block:: bash\n      \n         cd \u002Fpath\u002Fto\u002Flib\n         find -name cocoeval.py\n         \n   * Change the `self.iouThrs` value in the `setDetParams` function (which sets the parameters for the COCO detection evaluation) in the `Params` class as follows:\n      \n     insead of:\n    \n      .. code-block:: python\n\n       self.iouThrs = np.linspace(.5, 0.95, int(np.round((0.95 - .5) \u002F .05)) + 1, endpoint=True)\n     use: \n  \n      .. code-block:: python\n\n       self.iouThrs = np.linspace(.2, 0.95, int(np.round((0.95 - .2) \u002F .05)) + 1, endpoint=True)\n\n#. Run the segmentation experiment, use the following command:\n\n    .. code-block:: bash\n\n       CUDA_VISIBLE_DEVICES=0 PYTHONPATH=`pwd`  python DETR\u002Fmain.py --coco_path \u002Fpath\u002Fto\u002Fcoco\u002Fdataset  --eval --masks --resume https:\u002F\u002Fdl.fbaipublicfiles.com\u002Fdetr\u002Fdetr-r50-e632da11.pth --batch_size 1 --method \u003Cmethod_name>\n\nCiting\n-------\n\nIf you make use of our work, please cite our paper:\n\n    .. code-block:: latex\n\n       @InProceedings{Chefer_2021_ICCV,\n          author    = {Chefer, Hila and Gur, Shir and Wolf, Lior},\n          title     = {Generic Attention-Model Explainability for Interpreting Bi-Modal and Encoder-Decoder Transformers},\n          booktitle = {Proceedings of the IEEE\u002FCVF International Conference on Computer Vision (ICCV)},\n          month     = {October},\n          year      = {2021},\n          pages     = {397-406}\n       }\n\n\nCredits\n-------\n\n* VisualBERT implementation is based on the `MMF \u003Chttps:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fmmf>`_ framework.\n* LXMERT implementation is based on the `offical LXMERT \u003Chttps:\u002F\u002Fgithub.com\u002Fairsplay\u002Flxmert>`_ implementation and on `Hugging Face Transformers \u003Chttps:\u002F\u002Fgithub.com\u002Fhuggingface\u002Ftransformers>`_.\n* DETR implementation is based on the `offical DETR \u003Chttps:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fdetr>`_ implementation.\n* CLIP implementation is based on the `offical CLIP \u003Chttps:\u002F\u002Fgithub.com\u002Fopenai\u002FCLIP>`_ implementation.\n* The CLIP huggingface spaces demo was made by Paul Hilders, Danilo de Goede, and Piyush Bagad from the University of Amsterdam as part of their `final project \u003Chttps:\u002F\u002Fgithub.com\u002Fbpiyush\u002FCLIP-grounding>`_.\n","[ICCV 2021- 口头报告] `用于解释双模态和编码器-解码器Transformer的通用注意力模型可解释性 \u003Chttps:\u002F\u002Farxiv.org\u002Fabs\u002F2103.15679>`_ 的PyTorch实现\n=================================================================================================================================================================\n\n|youtube|\n\n.. |youtube| image:: https:\u002F\u002Fimg.shields.io\u002Fstatic\u002Fv1?label=ICCV2021&message=12MinuteVideo&color=red\n                   :target: https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=bQTL34Dln-M\n\nLXMERT + DETR 的笔记本：\n----------------------------\n\n|DETR_LXMERT|\n\n.. |DETR_LXMERT| image:: https:\u002F\u002Fcolab.research.google.com\u002Fassets\u002Fcolab-badge.svg\n                   :target: https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fhila-chefer\u002FTransformer-MM-Explainability\u002Fblob\u002Fmain\u002FTransformer_MM_Explainability.ipynb\n\nCLIP 的笔记本：\n----------------------------\n\n|CLIP|\n\n.. |CLIP| image:: https:\u002F\u002Fcolab.research.google.com\u002Fassets\u002Fcolab-badge.svg\n                   :target: https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fhila-chefer\u002FTransformer-MM-Explainability\u002Fblob\u002Fmain\u002FCLIP_explainability.ipynb\n\n**演示**：您可以在 `Huggingface spaces \u003Chttps:\u002F\u002Fhuggingface.co\u002Fspaces\u002FPaulHilders\u002FCLIPGroundingExplainability>`_ 上查看演示，或扫描以下二维码。\n\n.. image:: https:\u002F\u002Fuser-images.githubusercontent.com\u002F19412343\u002F176676771-d26f2146-9901-49e7-99be-b030f3d790de.png\n   :width: 100\n\n\nViT 的笔记本：\n----------------------------\n\n|ViT|\n\n.. |ViT| image:: https:\u002F\u002Fcolab.research.google.com\u002Fassets\u002Fcolab-badge.svg\n                   :target: https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fhila-chefer\u002FTransformer-MM-Explainability\u002Fblob\u002Fmain\u002FTransformer_MM_explainability_ViT.ipynb\n\n.. sectnum::\n\n\n使用Colab\n----------------\n\n* 请注意，该笔记本假设您正在使用GPU。要切换运行时，请转到“Runtime”->“change runtime type”，然后选择GPU。\n* 安装所有依赖项可能需要一些时间。安装完成后，请重启运行时。\n\n运行示例\n----------------\n\n请注意，我们有两个`jupyter`笔记本可以运行论文中展示的示例。\n\n* `LXMERT 的笔记本 \u003C.\u002FLXMERT.ipynb>`_ 包含了论文中的示例以及来自互联网的图片和自由问题的示例。\n  要使用您自己的输入，只需将`URL`变量更改为您的图片，并将`question`变量更改为您的自由问题。\n\n  .. image:: LXMERT.PNG\n\n  .. image:: LXMERT-web.PNG\n\n* `DETR 的笔记本 \u003C.\u002FDETR.ipynb>`_ 包含了论文中的示例。\n  要使用您自己的输入，只需将`URL`变量更改为您的图片。\n\n  .. image:: DETR.PNG\n\n结果复现\n-----------------------\n\n^^^^^^^^^^\nVisualBERT\n^^^^^^^^^^\n\n按照如下方式运行`run.py`脚本：\n\n.. code-block:: bash\n\n   CUDA_VISIBLE_DEVICES=0 PYTHONPATH=`pwd` python VisualBERT\u002Frun.py --method=\u003Cmethod_name> --is-text-pert=\u003Ctrue\u002Ffalse> --is-positive-pert=\u003Ctrue\u002Ffalse> --num-samples=10000 config=projects\u002Fvisual_bert\u002Fconfigs\u002Fvqa2\u002Fdefaults.yaml model=visual_bert dataset=vqa2 run_type=val checkpoint.resume_zoo=visual_bert.finetuned.vqa2.from_coco_train env.data_dir=\u002Fpath\u002Fto\u002Fdata_dir training.num_workers=0 training.batch_size=1 training.trainer=mmf_pert training.seed=1234\n\n.. note::\n\n  如果数据集尚未位于`env.data_dir`中，则脚本会自动将数据下载到`env.data_dir`路径下。\n\n\n^^^^^^\nLXMERT\n^^^^^^\n\n#. 下载`valid.json \u003Chttps:\u002F\u002Fnlp.cs.unc.edu\u002Fdata\u002Flxmert_data\u002Fvqa\u002Fvalid.json>`_:\n\n    .. code-block:: bash\n\n      pushd data\u002Fvqa\n      wget https:\u002F\u002Fnlp.cs.unc.edu\u002Fdata\u002Flxmert_data\u002Fvqa\u002Fvalid.json\n      popd\n\n#. 将`COCO_val2014`数据集下载到您的本地机器上。\n\n   .. note::\n\n      如果您已经为`VisualBERT`测试下载了`COCO_val2014`，则可以直接使用之前为`VisualBERT`使用的路径。\n\n#. 按照如下方式运行`perturbation.py`脚本：\n\n    .. code-block:: bash\n\n      CUDA_VISIBLE_DEVICES=0 PYTHONPATH=`pwd` python lxmert\u002Flxmert\u002Fperturbation.py  --COCO_path \u002Fpath\u002Fto\u002FCOCO_val2014 --method \u003Cmethod_name> --is-text-pert \u003Ctrue\u002Ffalse> --is-positive-pert \u003Ctrue\u002Ffalse>\n\n\n\n^^^^\nDETR\n^^^^\n\n#. 按照`DETR 仓库 \u003Chttps:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fdetr#data-preparation>`_ 中的说明下载COCO数据集。\n   请注意，您只需要验证集。\n   \n#. 通过以下步骤将IoU最小阈值从0.5降低到0.2：\n         \n   * 在您的Python库路径中找到`cocoeval.py`脚本：\n      \n     查找库路径：\n    \n      .. code-block:: python\n\n         import sys\n         print(sys.path)\n         \n     查找`cocoeval.py`：\n  \n      .. code-block:: bash\n      \n         cd \u002Fpath\u002Fto\u002Flib\n         find -name cocoeval.py\n         \n   * 在`Params`类的`setDetParams`函数中（该函数设置COCO检测评估的参数），将`self.iouThrs`值修改如下：\n      \n     原本是：\n    \n      .. code-block:: python\n\n       self.iouThrs = np.linspace(.5, 0.95, int(np.round((0.95 - .5) \u002F .05)) + 1, endpoint=True)\n     改为：\n  \n      .. code-block:: python\n\n       self.iouThrs = np.linspace(.2, 0.95, int(np.round((0.95 - .2) \u002F .05)) + 1, endpoint=True)\n\n#. 运行分割实验，使用以下命令：\n\n    .. code-block:: bash\n\n       CUDA_VISIBLE_DEVICES=0 PYTHONPATH=`pwd`  python DETR\u002Fmain.py --coco_path \u002Fpath\u002Fto\u002Fcoco\u002Fdataset  --eval --masks --resume https:\u002F\u002Fdl.fbaipublicfiles.com\u002Fdetr\u002Fdetr-r50-e632da11.pth --batch_size 1 --method \u003Cmethod_name>\n\n引用\n-------\n\n如果您使用了我们的工作，请引用我们的论文：\n\n    .. code-block:: latex\n\n       @InProceedings{Chefer_2021_ICCV,\n          author    = {Chefer, Hila and Gur, Shir and Wolf, Lior},\n          title     = {Generic Attention-Model Explainability for Interpreting Bi-Modal and Encoder-Decoder Transformers},\n          booktitle = {Proceedings of the IEEE\u002FCVF International Conference on Computer Vision (ICCV)},\n          month     = {October},\n          year      = {2021},\n          pages     = {397-406}\n       }\n\n\n致谢\n-------\n\n* VisualBERT的实现基于`MMF \u003Chttps:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fmmf>`_框架。\n* LXMERT的实现基于`官方LXMERT \u003Chttps:\u002F\u002Fgithub.com\u002Fairsplay\u002Flxmert>`_实现以及`Hugging Face Transformers \u003Chttps:\u002F\u002Fgithub.com\u002Fhuggingface\u002Ftransformers>`_。\n* DETR的实现基于`官方DETR \u003Chttps:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fdetr>`_实现。\n* CLIP的实现基于`官方CLIP \u003Chttps:\u002F\u002Fgithub.com\u002Fopenai\u002FCLIP>`_实现。\n* CLIP的Hugging Face Spaces演示由阿姆斯特丹大学的Paul Hilders、Danilo de Goede和Piyush Bagad在其`毕业项目 \u003Chttps:\u002F\u002Fgithub.com\u002Fbpiyush\u002FCLIP-grounding>`_中完成。","# Transformer-MM-Explainability 快速上手指南\n\n本工具是 ICCV 2021 Oral 论文《Generic Attention-model Explainability for Interpreting Bi-Modal and Encoder-Decoder Transformers》的 PyTorch 实现，用于解释多模态（如图像 - 文本）及编码器 - 解码器 Transformer 模型的注意力机制。支持 LXMERT、DETR、CLIP 和 ViT 等模型。\n\n## 环境准备\n\n*   **系统要求**：Linux 或 macOS（Windows 需使用 WSL），必须配备 **GPU**（CUDA 环境）。\n*   **前置依赖**：\n    *   Python 3.7+\n    *   PyTorch (建议 1.8+)\n    *   Git\n*   **注意**：部分脚本依赖 `mmf` (Facebook Multi-Modal Framework) 或特定版本的 `transformers`，建议优先使用官方提供的 Colab 环境以避免依赖冲突。\n\n## 安装步骤\n\n### 方式一：使用 Google Colab（推荐，最快上手）\n无需本地配置环境，直接点击以下链接在云端运行：\n\n*   **LXMERT + DETR 示例**: [打开 Notebook](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fhila-chefer\u002FTransformer-MM-Explainability\u002Fblob\u002Fmain\u002FTransformer_MM_Explainability.ipynb)\n*   **CLIP 示例**: [打开 Notebook](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fhila-chefer\u002FTransformer-MM-Explainability\u002Fblob\u002Fmain\u002FCLIP_explainability.ipynb)\n*   **ViT 示例**: [打开 Notebook](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fhila-chefer\u002FTransformer-MM-Explainability\u002Fblob\u002Fmain\u002FTransformer_MM_explainability_ViT.ipynb)\n\n> **Colab 设置提示**：进入 Notebook 后，请点击菜单栏 `Runtime` -> `Change runtime type`，将硬件加速器选择为 **GPU**。首次运行安装依赖可能需要几分钟，安装完成后请重启运行时 (`Runtime` -> `Restart runtime`)。\n\n### 方式二：本地源码安装\n若需在本地复现论文结果或进行大规模实验：\n\n1.  **克隆仓库**\n    ```bash\n    git clone https:\u002F\u002Fgithub.com\u002Fhila-chefer\u002FTransformer-MM-Explainability.git\n    cd Transformer-MM-Explainability\n    ```\n\n2.  **安装依赖**\n    根据你打算运行的模型（VisualBERT, LXMERT, DETR, CLIP），需安装对应的框架。\n    *   **VisualBERT**: 基于 MMF 框架。\n        ```bash\n        pip install mmf\n        ```\n    *   **LXMERT**: 基于官方 LXMERT 和 Hugging Face Transformers。\n        ```bash\n        pip install transformers torch torchvision\n        # 其他依赖参考 lxmert 目录下的 requirements\n        ```\n    *   **DETR**: 基于官方 DETR 实现。\n        ```bash\n        pip install cython scipy\n        # 安装 pycocotools (Linux\u002FMac)\n        pip install 'git+https:\u002F\u002Fgithub.com\u002Fcocodataset\u002Fcocoapi.git#subdirectory=PythonAPI'\n        ```\n    *   **CLIP**: 基于官方 CLIP 实现。\n        ```bash\n        pip install ftfy regex tqdm\n        pip install git+https:\u002F\u002Fgithub.com\u002Fopenai\u002FCLIP.git\n        ```\n\n## 基本使用\n\n### 1. 快速体验（Jupyter Notebook）\n这是最简单的使用方式，支持自定义图片和问题。\n\n*   **LXMERT (视觉问答解释)**:\n    打开 `LXMERT.ipynb`，修改以下变量即可运行：\n    ```python\n    URL = \"你的图片链接\"  # 替换为网络图片 URL\n    question = \"你的自由形式问题\" # 替换为你想问的问题\n    ```\n    运行单元格即可生成注意力热力图。\n\n*   **DETR (目标检测解释)**:\n    打开 `DETR.ipynb`，仅需修改图片链接：\n    ```python\n    URL = \"你的图片链接\"\n    ```\n\n### 2. 命令行复现实验 (以 VisualBERT 为例)\n确保数据目录已设置，运行以下命令进行推理和解释生成：\n\n```bash\nCUDA_VISIBLE_DEVICES=0 PYTHONPATH=`pwd` python VisualBERT\u002Frun.py --method=\u003Cmethod_name> --is-text-pert=\u003Ctrue\u002Ffalse> --is-positive-pert=\u003Ctrue\u002Ffalse> --num-samples=10000 config=projects\u002Fvisual_bert\u002Fconfigs\u002Fvqa2\u002Fdefaults.yaml model=visual_bert dataset=vqa2 run_type=val checkpoint.resume_zoo=visual_bert.finetuned.vqa2.from_coco_train env.data_dir=\u002Fpath\u002Fto\u002Fdata_dir training.num_workers=0 training.batch_size=1 training.trainer=mmf_pert training.seed=1234\n```\n*注：如果 `env.data_dir` 下没有数据集，脚本会自动下载。*\n\n### 3. 在线 Demo\n无需代码，可直接在 Huggingface Spaces 体验 CLIP 模型的接地解释功能：\n*   **Demo 地址**: [CLIP Grounding Explainability](https:\u002F\u002Fhuggingface.co\u002Fspaces\u002FPaulHilders\u002FCLIPGroundingExplainability)","某电商团队正在优化其智能客服系统，该系统基于 LXMERT 模型处理用户上传的商品图片并回答相关咨询，但近期频繁出现“答非所问”的投诉。\n\n### 没有 Transformer-MM-Explainability 时\n- 开发人员面对模型错误输出时如同“盲人摸象”，完全无法判断是图像特征提取偏差还是文本理解逻辑出错。\n- 调试过程依赖大量试错和人工标注数据，需反复调整超参数，耗时数周仍难以定位具体的注意力分散区域。\n- 向非技术背景的产品经理解释故障原因时，只能展示冰冷的准确率数字，缺乏直观证据说明模型为何关注了背景而非商品主体。\n- 难以区分模型是真正理解了“红色连衣裙的袖口细节”，还是仅仅利用了数据集中的统计偏见进行猜测。\n\n### 使用 Transformer-MM-Explainability 后\n- 通过生成的热力图可视化，团队能清晰看到模型在回答“袖口颜色”时，注意力精准聚焦在图片袖口区域，迅速锁定失效案例中的关注点偏移问题。\n- 利用对双模态（图像 + 文本）注意力的解析能力，开发人员针对性地清洗了误导性的训练样本，将迭代修复周期从数周缩短至两天。\n- 直观的注意力分布图成为跨部门沟通的通用语言，产品团队能直接看到模型“看”到了哪里，快速确认优化方向是否符合业务预期。\n- 能够验证模型是否真正建立了图文语义关联，有效剔除那些靠“猜”对的伪高性能样本，提升了系统的鲁棒性。\n\nTransformer-MM-Explainability 将黑盒般的多模态决策过程转化为可视化的白盒洞察，让复杂模型的调试与信任构建变得有据可依。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fhila-chefer_Transformer-MM-Explainability_b42434a8.png","hila-chefer","Hila Chefer","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fhila-chefer_96b2b515.jpg","Researcher @ Black Forest Labs",null,"hila_chefer","https:\u002F\u002Fhila-chefer.github.io\u002F","https:\u002F\u002Fgithub.com\u002Fhila-chefer",[85,89,93,97,100,103,106],{"name":86,"color":87,"percentage":88},"Jupyter Notebook","#DA5B0B",90.2,{"name":90,"color":91,"percentage":92},"Python","#3572A5",9.7,{"name":94,"color":95,"percentage":96},"JavaScript","#f1e05a",0,{"name":98,"color":99,"percentage":96},"Shell","#89e051",{"name":101,"color":102,"percentage":96},"C","#555555",{"name":104,"color":105,"percentage":96},"CSS","#663399",{"name":107,"color":108,"percentage":96},"Dockerfile","#384d54",904,116,"2026-04-02T06:23:28","MIT","Linux","必需 NVIDIA GPU (命令中包含 CUDA_VISIBLE_DEVICES)，具体型号和显存大小未说明","未说明",{"notes":117,"python":115,"dependencies":118},"1. 官方提供 Google Colab 笔记本，使用时需在运行时设置中切换为 GPU 模式。2. 安装依赖可能需要较长时间，安装完成后建议重启运行时。3. 运行 VisualBERT 示例时，若本地无数据集，脚本会自动下载至指定目录。4. 运行 DETR 示例前，需手动修改 Python 库中的 cocoeval.py 文件，将 IoU 阈值下限从 0.5 调整为 0.2。5. 该项目主要基于多个官方实现（MMF, LXMERT, DETR, CLIP），环境配置可能较为复杂。",[119,120,121,122,123,124,125],"PyTorch","MMF (for VisualBERT)","LXMERT (official or Hugging Face)","DETR (official)","CLIP (official)","Jupyter Notebooks","COCO API (pycocotools)",[36,15],[128,129,130,131,132,133,134,135,136,137,138],"transformers","transformer","vqa","detr","visualization","explainability","explainable-ai","interpretability","lxmert","visualbert","clip","2026-03-27T02:49:30.150509","2026-04-06T05:36:54.104182",[142,147,152,157,162,167],{"id":143,"question_zh":144,"answer_zh":145,"source_url":146},15082,"如何在 CLIP ViT-B\u002F16 模型上复现注意力图结果？与 ViT-B\u002F32 相比有何不同？","要在 ViT-B\u002F16 模型上运行代码，需要进行以下修改：\n1. 在 `CLIP\u002Fclip\u002Fclip.py` 的 `_MODELS` 字典中添加 ViT-B\u002F16 的下载链接。\n2. 修改 `interpret` 函数中的 reshape 操作：将硬编码的 `(1, 1, 7, 7)` 改为动态计算 `(1, 1, dim, dim)`，其中 `dim = int(image_relevance.numel() ** 0.5)`。\n\n关于差异：ViT-B\u002F16 由于 patch size 较小（16 vs 32），相比 ViT-B\u002F32 更关注局部行为（local behavior），这可能导致生成的注意力图视觉效果有所不同，但这通常是模型特性的正常表现而非错误。","https:\u002F\u002Fgithub.com\u002Fhila-chefer\u002FTransformer-MM-Explainability\u002Fissues\u002F8",{"id":148,"question_zh":149,"answer_zh":150,"source_url":151},15083,"如何将此方法应用于 Swin Transformer，特别是当不同块的注意力尺寸不一致时？","Swin Transformer 的难点在于其 patch size 随块（block）变化，导致不同层的注意力图尺寸（grad 和 cam 的形状）不一致，无法直接套用原始代码中简单的 `reshape` 和矩阵乘法逻辑。\n\n建议方案：需要针对 Swin Transformer 的特性自定义实现，处理不同层级间的尺寸对齐问题。目前社区已有用户计划提交包含具体实现的 PR（Pull Request），建议关注仓库更新或参考后续合并的代码来获取针对 Swin Transformer 的具体适配方案。","https:\u002F\u002Fgithub.com\u002Fhila-chefer\u002FTransformer-MM-Explainability\u002Fissues\u002F4",{"id":153,"question_zh":154,"answer_zh":155,"source_url":156},15084,"Transformer-MM-Explainability 与前作 Transformer-Explainability (LRP) 的核心区别是什么？如何实现前向传播的解释方法？","核心区别在于传播方向和实施难度：\n1. **Transformer-Explainability (LRP)**：采用反向传播（Backward），需要从输出向输入推导相关性。这要求为所有网络层（如 concat, split, self-attention 中的矩阵乘法等）硬编码具体的流规则，实施复杂且需要自定义每一层。\n2. **Transformer-MM-Explainability**：采用前向传播（Forward），只需在正向传递过程中添加钩子（hooks）来保存注意力权重和梯度。\n\n实现步骤：\n- 无需逆向工程数据流。\n- 只需添加 `get_attn`, `save_attn`, `save_attn_gradients`, `get_attn_gradients` 等方法。\n- 利用 `one_hot.backward(retain_graph=True)` 获取公式中的梯度项（∂y_t\u002F∂A）。\n- 这种方法更易于追踪和集成到现有模型（如 Hugging Face 模型）中。","https:\u002F\u002Fgithub.com\u002Fhila-chefer\u002FTransformer-MM-Explainability\u002Fissues\u002F2",{"id":158,"question_zh":159,"answer_zh":160,"source_url":161},15085,"是否可以将 ViT 解释方法应用于更高分辨率（如 384x384）的预训练模型？","可以尝试应用，但需要注意以下几点：\n1. **配置修改**：可以直接修改配置文件（如 `ViT_new.py`）中的输入尺寸设置为 384x384。\n2. **权重加载**：下载并加载对应分辨率（如 `vit_base_patch16_384`）的预训练权重。\n3. **预期效果**：理论上更高的分辨率可能提供更精细的相关性图（relevancy map），因为包含了更多的图像细节。\n4. **注意事项**：确保模型架构定义与预训练权重完全匹配。如果官方代码未明确支持，可能需要微调部分维度参数以适配新的 patch 数量。","https:\u002F\u002Fgithub.com\u002Fhila-chefer\u002FTransformer-MM-Explainability\u002Fissues\u002F6",{"id":163,"question_zh":164,"answer_zh":165,"source_url":166},15086,"如何将此解释方法应用于非标准分类任务的自定义多模态架构（如视频到文本生成）？","对于自定义架构（如 AV-HuBERT 等视频 - 文本模型），应用该方法需注意：\n1. **注意力概率来源**：确认 `attn_probs` 确实是每一层经过 Softmax 处理后的注意力输出。\n2. **任务适配**：如果不是简单的分类任务（例如是生成任务），不能直接使用分类 logits 进行反向传播。需要根据具体任务目标（如生成的 token 概率）构建合适的目标函数来计算梯度。\n3. **梯度计算**：参考 CLIP 示例，从输出投影层保存注意力权重，并利用梯度计算 Grad-CAM。如果结果不符合预期，检查梯度是否正确回传到了注意力层，以及是否选择了正确的目标节点进行 `backward()`。\n4. **调试建议**：先在一个简化的子模块上验证梯度流和注意力图的形状是否匹配，再扩展到整个架构。","https:\u002F\u002Fgithub.com\u002Fhila-chefer\u002FTransformer-MM-Explainability\u002Fissues\u002F22",{"id":168,"question_zh":169,"answer_zh":170,"source_url":161},15087,"在哪里可以找到 ImageNet 分割数据集（gtsegs_ijcv.mat）及其类别标签？","该数据集的官方下载地址为：http:\u002F\u002Fcalvin-vision.net\u002Fbigstuff\u002Fproj-imagenet\u002Fdata\u002Fgtsegs_ijcv.mat。\n\n关于数据细节：\n1. **内容**：该文件主要包含原始图像和对应的真值分割掩码（ground truth segmentation）。\n2. **类别与划分**：由于该模型主要用于分类任务的可解释性分析，具体的训练\u002F验证\u002F测试集划分在此场景下并不关键，只要模型能正确预测类别即可。如果原网站关于类别标签的说明已移除，通常可以通过模型预测的最高概率类别来确定每张图像的标签，或者参考标准的 ImageNet 类别映射表。",[]]