[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-SimonVandenhende--Multi-Task-Learning-PyTorch":3,"tool-SimonVandenhende--Multi-Task-Learning-PyTorch":64},[4,17,27,35,43,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},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,3,"2026-04-05T11:01:52",[13,14,15],"开发框架","图像","Agent","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":23,"last_commit_at":24,"category_tags":25,"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,15,26],"语言模型",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":23,"last_commit_at":33,"category_tags":34,"status":16},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",[13,14,15],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":23,"last_commit_at":41,"category_tags":42,"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,26],{"id":44,"name":45,"github_repo":46,"description_zh":47,"stars":48,"difficulty_score":23,"last_commit_at":49,"category_tags":50,"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",[14,51,52,53,15,54,26,13,55],"数据工具","视频","插件","其他","音频",{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":10,"last_commit_at":62,"category_tags":63,"status":16},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",[15,14,13,26,54],{"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":81,"owner_email":82,"owner_twitter":83,"owner_website":84,"owner_url":85,"languages":86,"stars":95,"forks":96,"last_commit_at":97,"license":98,"difficulty_score":10,"env_os":99,"env_gpu":100,"env_ram":99,"env_deps":101,"category_tags":114,"github_topics":115,"view_count":23,"oss_zip_url":82,"oss_zip_packed_at":82,"status":16,"created_at":124,"updated_at":125,"faqs":126,"releases":161},2191,"SimonVandenhende\u002FMulti-Task-Learning-PyTorch","Multi-Task-Learning-PyTorch","PyTorch implementation of multi-task learning architectures, incl. MTI-Net (ECCV2020). ","Multi-Task-Learning-PyTorch 是一个基于 PyTorch 框架的开源项目，专注于实现多种多任务学习架构与训练策略。它旨在解决计算机视觉中“密集预测任务”的协同难题，即如何让一个模型同时高效地处理语义分割、深度估计、法线预测、边缘检测等多个相关任务，从而避免为每个任务单独训练模型带来的资源浪费。\n\n该项目不仅复现了经典的跨任务交互网络（如 ECCV 2020 发表的 MTI-Net），还配套了相关的综述论文代码，为研究者提供了坚实的实验基准。其技术亮点在于支持 HRNet 和 ResNet 等多种主流骨干网络，并灵活集成了 Cross-Stitch、MTAN、PAD-Net 等先进的多任务融合机制。此外，项目内置了对 PASCAL 和 NYUD 等标准数据集的完整支持与自动化评估流程。\n\nMulti-Task-Learning-PyTorch 特别适合人工智能研究人员、算法工程师及高校开发者使用。无论是希望深入探索多任务学习机理的学者，还是需要在实际项目中优化模型效率的开发者，都能利用此代码库快速搭建实验环境，验证创新想法或复用成熟方案，从而加速从理论研究到应用","Multi-Task-Learning-PyTorch 是一个基于 PyTorch 框架的开源项目，专注于实现多种多任务学习架构与训练策略。它旨在解决计算机视觉中“密集预测任务”的协同难题，即如何让一个模型同时高效地处理语义分割、深度估计、法线预测、边缘检测等多个相关任务，从而避免为每个任务单独训练模型带来的资源浪费。\n\n该项目不仅复现了经典的跨任务交互网络（如 ECCV 2020 发表的 MTI-Net），还配套了相关的综述论文代码，为研究者提供了坚实的实验基准。其技术亮点在于支持 HRNet 和 ResNet 等多种主流骨干网络，并灵活集成了 Cross-Stitch、MTAN、PAD-Net 等先进的多任务融合机制。此外，项目内置了对 PASCAL 和 NYUD 等标准数据集的完整支持与自动化评估流程。\n\nMulti-Task-Learning-PyTorch 特别适合人工智能研究人员、算法工程师及高校开发者使用。无论是希望深入探索多任务学习机理的学者，还是需要在实际项目中优化模型效率的开发者，都能利用此代码库快速搭建实验环境，验证创新想法或复用成熟方案，从而加速从理论研究到应用落地的过程。","# Multi-Task Learning\n\nThis repo aims to implement several multi-task learning models and training strategies in PyTorch. The code base complements the following works: \n> [**Multi-Task Learning for Dense Prediction Tasks: A Survey**](https:\u002F\u002Fieeexplore.ieee.org\u002Fabstract\u002Fdocument\u002F9336293)\n>\n> [Simon Vandenhende](https:\u002F\u002Ftwitter.com\u002Fsvandenh1), [Stamatios Georgoulis](https:\u002F\u002Ftwitter.com\u002Fstam_g), Wouter Van Gansbeke, Marc Proesmans, Dengxin Dai and Luc Van Gool.\n\n> [**MTI-Net: Multi-Scale Task Interaction Networks for Multi-Task Learning**](https:\u002F\u002Farxiv.org\u002Fabs\u002F2001.06902)\n>\n> [Simon Vandenhende](https:\u002F\u002Ftwitter.com\u002Fsvandenh1), [Stamatios Georgoulis](https:\u002F\u002Ftwitter.com\u002Fstam_g) and Luc Van Gool.\n\nAn up-to-date list of works on multi-task learning can be found [here](https:\u002F\u002Fgithub.com\u002FSimonVandenhende\u002FAwesome-Multi-Task-Learning).\n\n## Workshop\n\n:loudspeaker: :loudspeaker: :loudspeaker: We organized a **workshop** on multi-task learning at ICCV 2021 ([Link](https:\u002F\u002Fsites.google.com\u002Fview\u002Fdeepmtlworkshop\u002Fhome)).\n\n- Jan 13: The recordings of our invited talks are now available on [Youtube](https:\u002F\u002Fyoutube.com\u002Fplaylist?list=PLJwr5SeuN6XMXbWxnzwD1e7n-aOOJpWJn).\n\n## Installation\nThe code runs with recent Pytorch version, e.g. 1.4.\nAssuming [Anaconda](https:\u002F\u002Fdocs.anaconda.com\u002Fanaconda\u002Finstall\u002F), the most important packages can be installed as:\n```shell\nconda install pytorch torchvision cudatoolkit=10.2 -c pytorch\nconda install imageio scikit-image\t\t   \t   # Image operations\nconda install -c conda-forge opencv\t\t           # OpenCV\nconda install pyyaml easydict                 \t\t   # Configurations\nconda install termcolor                       \t\t   # Colorful print statements\n```\nWe refer to the `requirements.txt` file for an overview of the package versions in our own environment.\n\n## Usage\n\n### Setup \nThe following files need to be adapted in order to run the code on your own machine:\n- Change the file paths to the datasets in `utils\u002Fmypath.py`, e.g. `\u002Fpath\u002Fto\u002Fpascal\u002F`.\n- Specify the output directory in `configs\u002Fyour_env.yml`. All results will be stored under this directory.\n- The [seism](https:\u002F\u002Fgithub.com\u002Fjponttuset\u002Fseism) repository is needed to perform the edge evaluation. See the README in `.\u002Fevaluation\u002Fseism\u002F`.\n- If you want to use the HRNet backbones, please download the pre-trained weights [here](https:\u002F\u002Fgithub.com\u002FHRNet\u002FHRNet-Image-Classification). \nThe provided config files use an HRNet-18 backbone. Download the `hrnet_w18_small_model_v2.pth` and save it to the directory `.\u002Fmodels\u002Fpretrained_models\u002F`.\n\nThe datasets will be downloaded automatically to the specified paths when running the code for the first time.\n\n### Training\nThe configuration files to train the model can be found in the `configs\u002F` directory. The model can be trained by running the following command:\n\n```shell\npython main.py --config_env configs\u002Fenv.yml --config_exp configs\u002F$DATASET\u002F$MODEL.yml\n```\n\n### Evaluation\nWe evaluate the best model at the end of training. The evaluation criterion is based on Equation 10 from our survey paper and requires to pre-train a set of single-tasking networks beforehand. To speed-up training, it is possible to evaluate the model only during the final 10 epochs by adding the following line to your config file:\n\n```python\neval_final_10_epochs_only: True\n``` \n\n## Support\nThe following datasets and tasks are supported.\n\n| Dataset | Sem. Seg. | Depth | Normals | Edge | Saliency | Human Parts |\n|---------|-----------|-------|---------|----------------|----------|-------------|\n| PASCAL  |     Y     |   N   |    Y    |       Y        |    Y     |      Y      |\n| NYUD    |     Y     |   Y   |    Aux  |       Aux       |    N     |      N      |\n\n\nThe following models are supported.\n\n| Backbone | HRNet | ResNet |\n|----------|----------|-----------|\n| Single-Task |  Y    |  Y |\n| Multi-Task | Y | Y |\n| Cross-Stitch | | Y |\n| NDDR-CNN | | Y |\n| MTAN | | Y |\n| PAD-Net | Y | |\n| MTI-Net | Y | |\n\n\n## References\nThis code repository is heavily based on the [ASTMT](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fastmt) repository. In particular, the evaluation and dataloaders were taken from there.\n\n \n## Citation\nIf you find this repo useful for your research, please consider citing the following works:\n\n```\n@article{\n  author={S. Vandenhende and S. Georgoulis and W. Van Gansbeke and M. Proesmans and D. Dai and L. Van Gool},\n  journal={IEEE Transactions on Pattern Analysis and Machine Intelligence}, \n  title={Multi-Task Learning for Dense Prediction Tasks: A Survey}, \n  year={2021},\n  volume={},\n  number={},\n  pages={1-1},\n  doi={10.1109\u002FTPAMI.2021.3054719}}\n\n@article{vandenhende2020mti,\n  title={MTI-Net: Multi-Scale Task Interaction Networks for Multi-Task Learning},\n  author={Vandenhende, Simon and Georgoulis, Stamatios and Van Gool, Luc},\n  journal={ECCV2020},\n  year={2020}\n}\n\n@InProceedings{MRK19,\n  Author    = {Kevis-Kokitsi Maninis and Ilija Radosavovic and Iasonas Kokkinos},\n  Title     = {Attentive Single-Tasking of Multiple Tasks},\n  Booktitle = {IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},\n  Year      = {2019}\n}\n\n@article{pont2015supervised,\n  title={Supervised evaluation of image segmentation and object proposal techniques},\n  author={Pont-Tuset, Jordi and Marques, Ferran},\n  journal={IEEE transactions on pattern analysis and machine intelligence},\n  year={2015},\n}\n```\n\n## Updates\nFor more information see issue #1.\n\nThe initial code used the NYUDv2 dataloader from ASTMT. This implementation was different from the one we used to run our experiments in the survey. Therefore, we have re-written the NYUDv2 dataloader to be consistent with our survey results. To avoid any issues, it is best to remove your old version of the NYUDv2 dataset. The python script will then automatically download the correct version when using the NYUDv2 dataset.\n\nThe depth task is evaluated in a pixel-wise fashion to be consistent with the survey. This is different from ASTMT, which averages the results across the images. \n\n\n## License\nThis software is released under a creative commons license which allows for personal and research use only. For a commercial license please contact the authors. You can view a license summary [here](http:\u002F\u002Fcreativecommons.org\u002Flicenses\u002Fby-nc\u002F4.0\u002F).\n\n## Acknoledgements\nThe authors acknowledge support by Toyota via the TRACE project and MACCHINA (KULeuven, C14\u002F18\u002F065).\n","# 多任务学习\n\n本仓库旨在使用 PyTorch 实现多种多任务学习模型及训练策略。代码库补充了以下工作：\n> [**密集预测任务中的多任务学习：综述**](https:\u002F\u002Fieeexplore.ieee.org\u002Fabstract\u002Fdocument\u002F9336293)\n>\n> [Simon Vandenhende](https:\u002F\u002Ftwitter.com\u002Fsvandenh1)、[Stamatios Georgoulis](https:\u002F\u002Ftwitter.com\u002Fstam_g)、Wouter Van Gansbeke、Marc Proesmans、Dengxin Dai 和 Luc Van Gool。\n\n> [**MTI-Net：用于多任务学习的多尺度任务交互网络**](https:\u002F\u002Farxiv.org\u002Fabs\u002F2001.06902)\n>\n> [Simon Vandenhende](https:\u002F\u002Ftwitter.com\u002Fsvandenh1)、[Stamatios Georgoulis](https:\u002F\u002Ftwitter.com\u002Fstam_g) 和 Luc Van Gool。\n\n关于多任务学习的最新文献列表可以在此处找到：[链接](https:\u002F\u002Fgithub.com\u002FSimonVandenhende\u002FAwesome-Multi-Task-Learning)。\n\n## 研讨会\n\n:loudspeaker: :loudspeaker: :loudspeaker: 我们在 ICCV 2021 上组织了一场关于多任务学习的 **研讨会**（[链接](https:\u002F\u002Fsites.google.com\u002Fview\u002Fdeepmtlworkshop\u002Fhome)）。\n\n- 1月13日：我们的特邀报告录像现已在 [Youtube](https:\u002F\u002Fyoutube.com\u002Fplaylist?list=PLJwr5SeuN6XMXbWxnzwD1e7n-aOOJpWJn) 上发布。\n\n## 安装\n代码可在较新的 PyTorch 版本上运行，例如 1.4。假设已安装 [Anaconda](https:\u002F\u002Fdocs.anaconda.com\u002Fanaconda\u002Finstall\u002F)，最重要的包可以通过以下命令安装：\n```shell\nconda install pytorch torchvision cudatoolkit=10.2 -c pytorch\nconda install imageio scikit-image\t\t   \t   # 图像处理\nconda install -c conda-forge opencv\t\t           # OpenCV\nconda install pyyaml easydict                 \t\t   # 配置文件\nconda install termcolor                       \t\t   # 彩色打印语句\n```\n我们参考 `requirements.txt` 文件来了解我们自身环境中各包的具体版本。\n\n## 使用说明\n\n### 设置\n为了在您自己的机器上运行代码，需要修改以下文件：\n- 修改 `utils\u002Fmypath.py` 中的数据集路径，例如 `\u002Fpath\u002Fto\u002Fpascal\u002F`。\n- 在 `configs\u002Fyour_env.yml` 中指定输出目录。所有结果都将存储在此目录下。\n- 进行边缘评估需要 [seism](https:\u002F\u002Fgithub.com\u002Fjponttuset\u002Fseism) 仓库。请参阅 `.\u002Fevaluation\u002Fseism\u002F` 中的 README 文件。\n- 如果您想使用 HRNet 主干网络，请从 [这里](https:\u002F\u002Fgithub.com\u002FHRNet\u002FHRNet-Image-Classification) 下载预训练权重。\n  提供的配置文件使用 HRNet-18 主干。请下载 `hrnet_w18_small_model_v2.pth` 并将其保存到 `.\u002Fmodels\u002Fpretrained_models\u002F` 目录中。\n\n首次运行代码时，数据集将自动下载到指定路径。\n\n### 训练\n用于训练模型的配置文件位于 `configs\u002F` 目录中。可通过以下命令进行训练：\n\n```shell\npython main.py --config_env configs\u002Fenv.yml --config_exp configs\u002F$DATASET\u002F$MODEL.yml\n```\n\n### 评估\n我们在训练结束时评估最佳模型。评估标准基于我们综述论文中的公式 10，需要事先预训练一组单任务网络。为加快训练速度，可以在配置文件中添加以下行，仅在最后 10 个 epoch 进行评估：\n\n```python\neval_final_10_epochs_only: True\n```\n\n## 支持\n以下数据集和任务得到支持。\n\n| 数据集   | 语义分割 | 深度估计 | 法线估计 | 边缘检测 | 显著性检测 | 人体部位 |\n|----------|-----------|----------|----------|----------|------------|----------|\n| PASCAL   |     Y     |    N     |    Y     |    Y     |     Y      |    Y     |\n| NYUD     |     Y     |    Y     |    辅助    |    辅助    |     N      |    N     |\n\n以下模型得到支持。\n\n| 主干网络 | HRNet | ResNet |\n|----------|--------|---------|\n| 单任务   |  Y     |  Y     |\n| 多任务   |  Y     |  Y     |\n| Cross-Stitch |  |  Y     |\n| NDDR-CNN |  |  Y     |\n| MTAN     |  |  Y     |\n| PAD-Net  |  Y     |         |\n| MTI-Net  |  Y     |         |\n\n## 参考文献\n本代码库大量借鉴了 [ASTMT](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fastmt) 仓库。尤其是评估部分和数据加载器均来自该仓库。\n\n## 引用\n如果您觉得本仓库对您的研究有所帮助，请考虑引用以下文献：\n\n```\n@article{\n  author={S. Vandenhende and S. Georgoulis and W. Van Gansbeke and M. Proesmans and D. Dai and L. Van Gool},\n  journal={IEEE Transactions on Pattern Analysis and Machine Intelligence}, \n  title={Multi-Task Learning for Dense Prediction Tasks: A Survey}, \n  year={2021},\n  volume={},\n  number={},\n  pages={1-1},\n  doi={10.1109\u002FTPAMI.2021.3054719}}\n\n@article{vandenhende2020mti,\n  title={MTI-Net: Multi-Scale Task Interaction Networks for Multi-Task Learning},\n  author={Vandenhende, Simon and Georgoulis, Stamatios and Van Gool, Luc},\n  journal={ECCV2020},\n  year={2020}\n}\n\n@InProceedings{MRK19,\n  Author    = {Kevis-Kokitsi Maninis and Ilija Radosavovic and Iasonas Kokkinos},\n  Title     = {Attentive Single-Tasking of Multiple Tasks},\n  Booktitle = {IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},\n  Year      = {2019}\n}\n\n@article{pont2015supervised,\n  title={Supervised evaluation of image segmentation and object proposal techniques},\n  author={Pont-Tuset, Jordi and Marques, Ferran},\n  journal={IEEE transactions on pattern analysis and machine intelligence},\n  year={2015},\n}\n```\n\n## 更新\n更多信息请参见 issue #1。\n\n初始代码使用了 ASTMT 中的 NYUDv2 数据加载器。该实现与我们在综述中进行实验时所用的不同。因此，我们重新编写了 NYUDv2 数据加载器，以确保与综述结果一致。为避免问题，最好删除旧版本的 NYUDv2 数据集。之后，当您再次使用 NYUDv2 数据集时，Python 脚本将自动下载正确的版本。\n\n深度估计任务采用逐像素方式评估，以与综述保持一致。这与 ASTMT 的做法不同，后者是将结果在图像间取平均值。\n\n\n## 许可证\n本软件采用知识共享许可协议发布，仅允许个人和科研用途。如需商业授权，请联系作者。许可证摘要可在此查看：[链接](http:\u002F\u002Fcreativecommons.org\u002Flicenses\u002Fby-nc\u002F4.0\u002F)。\n\n## 致谢\n作者感谢丰田公司通过 TRACE 项目以及 MACCHINA（鲁汶大学，C14\u002F18\u002F065）提供的支持。","# Multi-Task-Learning-PyTorch 快速上手指南\n\n本指南旨在帮助开发者快速部署并运行基于 PyTorch 的多任务学习（Multi-Task Learning）模型库。该库实现了多种多任务学习策略及模型架构（如 MTI-Net, PAD-Net 等），支持语义分割、深度估计、法向量预测等密集预测任务。\n\n## 环境准备\n\n在开始之前，请确保您的系统满足以下要求：\n\n*   **操作系统**: Linux (推荐) 或 macOS\n*   **Python**: 3.6+\n*   **GPU**: 支持 CUDA 的 NVIDIA 显卡（可选，但强烈推荐用于训练）\n*   **包管理器**: 推荐使用 [Anaconda](https:\u002F\u002Fdocs.anaconda.com\u002Fanaconda\u002Finstall\u002F) 进行环境管理\n\n**前置依赖说明**：\n本项目核心依赖 PyTorch。此外，还需要 `opencv`、`imageio`、`scikit-image` 等图像处理库，以及 `pyyaml`、`easydict` 用于配置解析。\n\n> **国内加速建议**：\n> 安装 Python 包时，建议使用清华或阿里镜像源以加快下载速度。\n> 例如：`pip install -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple \u003Cpackage_name>`\n\n## 安装步骤\n\n### 1. 创建并激活 Conda 环境\n\n首先创建一个独立的虚拟环境，并安装 PyTorch 及相关基础依赖。以下命令基于 CUDA 10.2 版本（可根据实际显卡驱动调整）：\n\n```shell\nconda create -n mtl_pytorch python=3.8\nconda activate mtl_pytorch\n\n# 安装 PyTorch 全家桶 (使用官方源或国内镜像)\nconda install pytorch torchvision cudatoolkit=10.2 -c pytorch\n\n# 安装图像处理与工具库\nconda install imageio scikit-image\nconda install -c conda-forge opencv\nconda install pyyaml easydict\nconda install termcolor\n```\n\n*注：若需精确复现原作者环境，可参考项目根目录下的 `requirements.txt`。*\n\n### 2. 克隆代码仓库\n\n```shell\ngit clone https:\u002F\u002Fgithub.com\u002FSimonVandenhende\u002FMulti-Task-Learning-PyTorch.git\ncd Multi-Task-Learning-PyTorch\n```\n\n### 3. 配置路径与预训练模型\n\n在运行代码前，需修改部分配置文件以适应本地环境：\n\n1.  **数据集路径**：编辑 `utils\u002Fmypath.py`，将数据集路径修改为您本地的存储位置（例如：`\u002Fpath\u002Fto\u002Fpascal\u002F`）。\n    *   *提示：首次运行时，代码会自动下载数据集到指定路径。*\n2.  **输出目录**：编辑 `configs\u002Fyour_env.yml`，指定结果保存目录。\n3.  **HRNet 骨干网络（可选）**：若配置文件中使用了 HRNet  backbone，需手动下载预训练权重。\n    *   下载地址：[HRNet-Image-Classification](https:\u002F\u002Fgithub.com\u002FHRNet\u002FHRNet-Image-Classification)\n    *   获取 `hrnet_w18_small_model_v2.pth` 文件。\n    *   将其保存至项目目录：`.\u002Fmodels\u002Fpretrained_models\u002F`。\n4.  **边缘评估工具（可选）**：如需进行边缘检测评估，需克隆 [seism](https:\u002F\u002Fgithub.com\u002Fjponttuset\u002Fseism) 仓库，具体参见 `.\u002Fevaluation\u002Fseism\u002FREADME`。\n\n## 基本使用\n\n### 训练模型\n\n配置文件位于 `configs\u002F` 目录下。您可以根据需要选择数据集和模型架构。\n\n执行以下命令启动训练（以 PASCAL 数据集和某模型为例）：\n\n```shell\npython main.py --config_env configs\u002Fenv.yml --config_exp configs\u002F$DATASET\u002F$MODEL.yml\n```\n\n**参数说明**：\n*   `--config_env`: 指向包含输出路径等全局设置的环境配置文件。\n*   `--config_exp`: 指向具体的实验配置（包含数据集、模型结构、超参数等）。\n\n### 加速评估技巧\n\n默认情况下，评估基于论文中的公式并在训练结束后对最佳模型进行。为了节省时间，您可以在配置文件中添加以下行，仅在最后 10 个 epoch 进行评估：\n\n```python\neval_final_10_epochs_only: True\n```\n\n### 支持的任务与模型\n\n当前版本支持以下组合：\n\n*   **数据集**: PASCAL (支持语义分割、法向量、边缘、显著性、人体部件), NYUD (支持语义分割、深度)。\n*   **骨干网络**: HRNet, ResNet。\n*   **多任务架构**: Single-Task, Multi-Task (硬共享), Cross-Stitch, NDDR-CNN, MTAN, PAD-Net, MTI-Net。\n\n运行完成后，结果将保存在您在 `configs\u002Fyour_env.yml` 中指定的输出目录下。","某自动驾驶感知团队正在开发车载视觉系统，需要让车辆同时识别道路语义分割、估算障碍物深度以及检测车道边缘，以确保行驶安全。\n\n### 没有 Multi-Task-Learning-PyTorch 时\n- **重复造轮子成本高**：工程师需手动编写代码复现 MTAN、PAD-Net 等复杂的多任务交互架构，耗费数周时间且容易出错。\n- **资源浪费严重**：被迫为分割、深度和边缘检测分别训练独立的单任务模型，导致显存占用翻倍，推理延迟过高，无法满足实时性要求。\n- **任务冲突难调和**：缺乏专业的损失平衡策略，不同任务梯度相互干扰，导致模型在某一任务上表现优异时，其他任务精度大幅下滑。\n- **评估标准不统一**：缺少集成的评估工具（如 seism 接口），难以用统一的学术标准量化多任务综合性能，调优方向模糊。\n\n### 使用 Multi-Task-Learning-PyTorch 后\n- **开箱即用高效部署**：直接调用库中预实现的 MTI-Net 或 Cross-Stitch 架构，通过修改配置文件即可启动训练，将算法验证周期从数周缩短至几天。\n- **共享骨干网提效**：利用 HRNet 或 ResNet 作为共享骨干网络，单模型同时输出多种预测结果，显存占用降低 50%，推理速度显著提升。\n- **智能平衡任务学习**：内置先进的多任务学习策略自动调节梯度权重，有效缓解任务间负迁移，确保分割、深度和边缘检测精度同步提升。\n- **标准化评估体系**：集成成熟的评估脚本，一键生成符合论文标准的综合指标，帮助团队快速定位模型短板并针对性优化。\n\nMulti-Task-Learning-PyTorch 通过提供标准化的多任务架构与训练策略，帮助团队以最低成本实现了高精度、低延迟的端到端感知系统落地。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FSimonVandenhende_Multi-Task-Learning-PyTorch_a9261899.png","SimonVandenhende","svandenh","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FSimonVandenhende_599f9aaf.jpg","I am a research engineer at Meta AI working on computer vision.","Meta Platforms Inc.","California, USA",null,"svandenh1","https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Fsvandenh1\u002F","https:\u002F\u002Fgithub.com\u002FSimonVandenhende",[87,91],{"name":88,"color":89,"percentage":90},"Python","#3572A5",98.7,{"name":92,"color":93,"percentage":94},"MATLAB","#e16737",1.3,840,112,"2026-03-09T10:34:37","NOASSERTION","未说明","需要 NVIDIA GPU (通过 cudatoolkit=10.2 推断)，具体显存大小未说明",{"notes":102,"python":103,"dependencies":104},"建议使用 Anaconda 管理环境。运行前需手动配置数据集路径和输出目录。若使用 HRNet 骨干网络，需单独下载预训练权重文件。边缘评估任务需要额外安装 'seism' 仓库。首次运行代码时会自动下载数据集。商业许可需联系作者。","未说明 (需兼容 PyTorch 1.4+)",[105,106,107,108,109,110,111,112,113],"pytorch>=1.4","torchvision","cudatoolkit=10.2","imageio","scikit-image","opencv","pyyaml","easydict","termcolor",[14,13],[116,117,118,119,120,121,122,123],"multi-task-learning","computer-vision","pytorch","nyud","pascal","segmentation","scene-understanding","eccv2020","2026-03-27T02:49:30.150509","2026-04-06T05:16:19.056768",[127,132,137,142,147,152,157],{"id":128,"question_zh":129,"answer_zh":130,"source_url":131},10104,"如何复现论文中 HRNet-48 的高性能结果（如 49% mIoU）？如果我的训练结果较低该怎么办？","当前代码库主要针对基于编码器的方法（ResNet-50\u002F18）和基于解码器的方法（HRNet-18）进行了超参数微调。如果您使用 HRNet-48，结果可能存在细微差异。建议检查 `utils\u002Fcommon_config.py` 中主干网络通道数的设置，确保其等于 HRNet-48 生成的多尺度特征表示的通道数（例如 [48, 96, 192, 384]）。此外，建议使用当前实现以获得公平的架构比较，因为作者已针对不同方法花费大量时间微调超参数并统一了数据增强等细节。","https:\u002F\u002Fgithub.com\u002FSimonVandenhende\u002FMulti-Task-Learning-PyTorch\u002Fissues\u002F1",{"id":133,"question_zh":134,"answer_zh":135,"source_url":136},10105,"为什么我训练的 ResNet-50 单任务基线分割结果（mIoU）低于论文报告的值？","这通常是因为数据集版本或下载问题。作者曾修复过自动下载数据的提交遗漏问题。请确保您使用的是正确版本的 NYUDv2 数据集。如果数据加载器中的 URL 显示为 '\u002FTO\u002FBE\u002FDEFINED\u002F'，说明当前版本可能无法自动下载正确的数据集，请参考相关 Issue（如 #1）获取更多信息或手动确认数据路径和预处理是否正确。","https:\u002F\u002Fgithub.com\u002FSimonVandenhende\u002FMulti-Task-Learning-PyTorch\u002Fissues\u002F5",{"id":138,"question_zh":139,"answer_zh":140,"source_url":141},10106,"在多任务学习中，如何快速确定各任务的固定权重（fixed weights）？","建议先跟踪每个任务在几个迭代或 epoch 中的特定任务损失值。然后调整任务权重，使所有损失的量级大致相同。例如，如果任务 1 的平均损失是任务 2 的 100 倍，且两者初始权重均为 1.0，则应将任务 2 的权重乘以 100。此外，对于多任务基线，Adam 优化器有时比 SGD 能获得更好的结果。虽然可以通过试错法进一步调整，但上述方法在实践中效果良好。","https:\u002F\u002Fgithub.com\u002FSimonVandenhende\u002FMulti-Task-Learning-PyTorch\u002Fissues\u002F12",{"id":143,"question_zh":144,"answer_zh":145,"source_url":146},10107,"运行 MTI-Net 实验时出现文件丢失错误（FileNotFoundError），缺少单任务基准结果文件怎么办？","多任务学习性能的计算依赖于单任务基线的性能（参考论文公式 10）。因此，要计算 MTI-Net 的多任务性能，必须先训练单任务模型以生成相应的结果文件（如 `results\u002FNYUD_test_semseg.json`）。如果您只关心分割和深度任务的结果，可以忽略多任务性能指标，直接运行代码；否则，请先运行单任务训练脚本生成所需的基准文件。","https:\u002F\u002Fgithub.com\u002FSimonVandenhende\u002FMulti-Task-Learning-PyTorch\u002Fissues\u002F7",{"id":148,"question_zh":149,"answer_zh":150,"source_url":151},10108,"多任务评估代码中，边缘检测任务（edge）的损失越低越好，为什么计算性能时是加上差值而不是减去？","这是正确的。虽然边缘检测的原始损失（loss）是越低越好，但代码中使用的评估指标是 `odsF`（Optimal Dataset Scale F-measure）。对于 `odsF` 分数，数值越高代表性能越好。因此，在计算多任务性能提升时，应当加上 `(mtl['odsF'] - stl['odsF']) \u002F stl['odsF']`，这与语义分割（mIoU 越高越好）的处理逻辑一致。","https:\u002F\u002Fgithub.com\u002FSimonVandenhende\u002FMulti-Task-Learning-PyTorch\u002Fissues\u002F4",{"id":153,"question_zh":154,"answer_zh":155,"source_url":156},10109,"如何使用该仓库可视化的工具生成彩色图像（如语义分割、人体部位、显著性图等）？","您可以复用仓库中的可视化代码片段。对于语义分割和人体部位分割，颜色映射（cmap）通常是相同的。只需将代码中的 `semseg_filename` 替换为 `human_parts_filename` 即可生成人体部位的可视化图像。对于其他任务（如显著性图 sal、法线图 normals、边缘图 edge），原理类似，需调用对应的文件名变量并使用适当的颜色映射进行渲染。","https:\u002F\u002Fgithub.com\u002FSimonVandenhende\u002FMulti-Task-Learning-PyTorch\u002Fissues\u002F3",{"id":158,"question_zh":159,"answer_zh":160,"source_url":151},10110,"在多 GPU 环境下训练单个任务（如 depth 或 semseg）时程序崩溃，有解决方案吗？","作者主要在显存较大（>32GB）的高端 GPU 上进行实验，因此未充分测试多 GPU 设置，也没有遇到此类崩溃问题。如果您在多 GPU 环境下遇到崩溃，可能是显存分配或分布式训练配置的问题。建议检查 PyTorch 的 DistributedDataParallel 设置，或者尝试在单卡大显存机器上运行。如有具体报错信息，可进一步向社区反馈。",[]]