[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-yu-changqian--TorchSeg":3,"tool-yu-changqian--TorchSeg":64},[4,17,27,35,44,52],{"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 真正成长为懂上",140436,2,"2026-04-05T23:32:43",[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":10,"last_commit_at":41,"category_tags":42,"status":16},4292,"Deep-Live-Cam","hacksider\u002FDeep-Live-Cam","Deep-Live-Cam 是一款专注于实时换脸与视频生成的开源工具，用户仅需一张静态照片，即可通过“一键操作”实现摄像头画面的即时变脸或制作深度伪造视频。它有效解决了传统换脸技术流程繁琐、对硬件配置要求极高以及难以实时预览的痛点，让高质量的数字内容创作变得触手可及。\n\n这款工具不仅适合开发者和技术研究人员探索算法边界，更因其极简的操作逻辑（仅需三步：选脸、选摄像头、启动），广泛适用于普通用户、内容创作者、设计师及直播主播。无论是为了动画角色定制、服装展示模特替换，还是制作趣味短视频和直播互动，Deep-Live-Cam 都能提供流畅的支持。\n\n其核心技术亮点在于强大的实时处理能力，支持口型遮罩（Mouth Mask）以保留使用者原始的嘴部动作，确保表情自然精准；同时具备“人脸映射”功能，可同时对画面中的多个主体应用不同面孔。此外，项目内置了严格的内容安全过滤机制，自动拦截涉及裸露、暴力等不当素材，并倡导用户在获得授权及明确标注的前提下合规使用，体现了技术发展与伦理责任的平衡。",88924,"2026-04-06T03:28:53",[13,14,15,43],"视频",{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":23,"last_commit_at":50,"category_tags":51,"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":53,"name":54,"github_repo":55,"description_zh":56,"stars":57,"difficulty_score":23,"last_commit_at":58,"category_tags":59,"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,60,43,61,15,62,26,13,63],"数据工具","插件","其他","音频",{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":69,"readme_en":70,"readme_zh":71,"quickstart_zh":72,"use_case_zh":73,"hero_image_url":74,"owner_login":75,"owner_name":76,"owner_avatar_url":77,"owner_bio":78,"owner_company":79,"owner_location":80,"owner_email":81,"owner_twitter":82,"owner_website":83,"owner_url":84,"languages":85,"stars":98,"forks":99,"last_commit_at":100,"license":101,"difficulty_score":102,"env_os":103,"env_gpu":104,"env_ram":105,"env_deps":106,"category_tags":116,"github_topics":81,"view_count":23,"oss_zip_url":81,"oss_zip_packed_at":81,"status":16,"created_at":117,"updated_at":118,"faqs":119,"releases":150},4201,"yu-changqian\u002FTorchSeg","TorchSeg","Fast, modular reference implementation and easy training of Semantic Segmentation algorithms in PyTorch.","TorchSeg 是一个基于 PyTorch 构建的语义分割算法参考实现平台，旨在为研究人员和开发者提供快速、模块化的模型训练与推理方案。它主要解决了传统分割模型在代码复用性差、多卡训练效率低以及复现经典算法门槛高等痛点。\n\n通过高度模块化设计，TorchSeg 允许用户像搭积木一样灵活组合不同组件，轻松构建定制化的语义分割模型。其核心技术亮点在于采用了多进程并行分布式训练策略，相比传统的多线程方法，训练速度提升超过 60%，并完美支持多 GPU 环境下的训练与多种推理模式。此外，项目内置了 FCN、PSPNet、BiSeNet、DFN 等多种主流模型的预训练权重，并在 PASCAL VOC 和 Cityscapes 等权威数据集上提供了经过验证的性能基准。\n\n无论是希望快速验证新想法的学术研究者，还是需要高效落地分割任务的算法工程师，TorchSeg 都能凭借清晰的代码结构和卓越的训练效率，成为您探索计算机视觉领域的得力助手。","# TorchSeg\nThis project aims at providing a fast, modular reference implementation for semantic segmentation models using PyTorch.\n\n![demo image](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fyu-changqian_TorchSeg_readme_d4d5e9bb5b9e.png)\n\n## Highlights\n- **Modular Design:** easily construct customized semantic segmentation models by combining different components.\n- **Distributed Training:** **>60%** faster than the multi-thread parallel method([nn.DataParallel](https:\u002F\u002Fpytorch.org\u002Fdocs\u002Fstable\u002Fnn.html#dataparallel)), we use the multi-processing parallel method.\n- **Multi-GPU training and inference:** support different manners of inference.\n- Provides pre-trained models and implement different semantic segmentation models.\n\n## Prerequisites\n- PyTorch 1.0\n  - `pip3 install torch torchvision`\n- Easydict\n  - `pip3 install easydict`\n- [Apex](https:\u002F\u002Fnvidia.github.io\u002Fapex\u002Findex.html)\n- Ninja\n  - `sudo apt-get install ninja-build`\n- tqdm\n  - `pip3 install tqdm`\n  \n## Updates\nv0.1.1 (05\u002F14\u002F2019)\n- Release the pre-trained models and all trained models\n- Add PSANet for ADE20K\n- Add support for CamVid, PASCAL-Context datasets\n- Start only supporting the distributed training manner\n\n## Model Zoo\n### Pretrained Model\n- [ResNet18](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1PP7mEMvqW6vBMDeNhrS6l13RU5TwI6cA\u002Fview?usp=sharing)\n- [ResNet50](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1iEshXXzI3tCexo2CH92TNNOyizf2R_db\u002Fview?usp=sharing)\n- [ResNet101](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1iELk6WeQ1smockQJGKU_DEG6slcqw6Mu\u002Fview?usp=sharing)\n\n### Supported Model\n- FCN\n- [DFN](https:\u002F\u002Farxiv.org\u002Fabs\u002F1804.09337) \n- [BiSeNet](https:\u002F\u002Farxiv.org\u002Fabs\u002F1808.00897)\n- PSPNet\n- PSANet\n\n### Performance and Benchmarks\nSS:Single Scale MSF:Multi-scale + Flip\n\n### PASCAL VOC 2012\n Methods | Backbone | TrainSet | EvalSet | Mean IoU(ss) | Mean IoU(msf) | Model \n:--:|:--:|:--:|:--:|:--:|:--:|:--:\n FCN-32s     | R101_v1c | *train_aug*  | *val*  | 71.26 | -                 |  \n DFN(paper)  | R101_v1c | *train_aug*  | *val*  | 79.67 | 80.6\u003Csup>*\u003C\u002Fsup>  |  \n DFN(ours)   | R101_v1c | *train_aug*  | *val*  | 79.40 | 81.40             | [GoogleDrive](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1dK5v1oakTMP1UKMARfYf5kdBP15mEgiL\u002Fview?usp=sharing) \n\n80.6\u003Csup>*\u003C\u002Fsup>: this result reported in paper is further finetuned on *train* dataset. \n\n### Cityscapes\n#### Non-real-time Methods\n Methods | Backbone |OHEM| TrainSet | EvalSet | Mean IoU(ss) | Mean IoU(msf) | Model \n:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:\n DFN(paper)                 | R101_v1c |✗| *train_fine* | *val*  | 78.5  | 79.3   | \n DFN(ours)                  | R101_v1c |✗| *train_fine* | *val*  | 79.09 | 80.41  | [GoogleDrive](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1QGM652rWQWZx83oe2A5r48HGYtfZCRrm\u002Fview?usp=sharing)\n DFN(ours)                  | R101_v1c |✓| *train_fine* | *val*  | 79.16 | 80.53  | [GoogleDrive](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1KEX5g5dXF2cNpCh1NUe9iKvVye9g9JaD\u002Fview?usp=sharing) \n BiSeNet(paper)             | R101_v1c |✓| *train_fine* | *val*  |  -    | 80.3   |  \n BiSeNet(ours)              | R101_v1c |✓| *train_fine* | *val*  | 79.09 | 80.39  | [GoogleDrive](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1yTbozInCLGiCklJ8plNTl5GgeGnW_fC0\u002Fview?usp=sharing) \n BiSeNet(paper)             | R18      |✓| *train_fine* | *val*  | 76.21 | 78.57  |  \n BiSeNet(ours)              | R18      |✓| *train_fine* | *val*  | 76.28 | 78.00  | [GoogleDrive](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1hFF-J9qoXlbVRRUr29aWeQpL4Lwn45mU\u002Fview?usp=sharing)  \n BiSeNet(paper)             | X39      |✓| *train_fine* | *val*  | 70.1  | 72     | \n BiSeNet(ours)\u003Csup>*\u003C\u002Fsup>  | X39      |✓| *train_fine* | *val*  | 70.32 | 72.06  | [GoogleDrive](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1hb_qk3QLwZtQUmevZUFOHNiRHhRr0IQB\u002Fview?usp=sharing)  \n \n #### Real-time Methods\n  Methods | Backbone |OHEM| TrainSet | EvalSet | Mean IoU | Model \n:--:|:--:|:--:|:--:|:--:|:--:|:--:\n BiSeNet(paper)             | R18      |✓| *train_fine* | *val*  | 74.8  | \n BiSeNet(ours)              | R18      |✓| *train_fine* | *val*  | 74.83 | [GoogleDrive](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1bLc7YC0qePcKZQTLrqsrNRnzx3cmC-1C\u002Fview?usp=sharing) \n BiSeNet(paper)             | X39      |✓| *train_fine* | *val*  | 69    | \n BiSeNet(ours)\u003Csup>*\u003C\u002Fsup>  | X39      |✓| *train_fine* | *val*  | 68.51 | [GoogleDrive](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1xZEQLtJR-FSYt6ri7kfSTJ7UT9fXZtxc\u002Fview?usp=sharing) \n \nBiSeNet(ours)\u003Csup>*\u003C\u002Fsup>: because we didn't pre-train the Xception39 model on ImageNet in PyTorch, we train this experiment from scratch. We will release the pre-trained Xception39 model in PyTorch and the corresponding experiment.\n\n### ADE\n  Methods | Backbone | TrainSet | EvalSet | Mean IoU(ss) | Accuracy(ss)|  Model \n:--:|:--:|:--:|:--:|:--:|:--:|:--:\n PSPNet(paper)             | R50_v1c  | *train* | *val*  | 41.68 | 80.04 |  \n PSPNet(ours)              | R50_v1c  | *train* | *val*  | 41.65 | 79.74 | [GoogleDrive](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1jDj3UJCAAffmPQ4ckTOFxQdvFWxThCoy\u002Fview?usp=sharing)\n PSPNet(paper)             | R101_v1c | *train* | *val*  | 41.96 | 80.64 |  \n PSPNet(ours)              | R101_v1c | *train* | *val*  | 42.89 | 80.55 | [GoogleDrive](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1Y6OErgb9F1qc2cJmGhW6VlUfaSdFfmfu\u002Fview?usp=sharing)\n PSANet(paper)             | R50_v1c  | *train* | *val*  | 41.92 | 80.17 |  \n PSANet(ours)\u003Csup>*\u003C\u002Fsup>  | R50_v1c  | *train* | *val*  | 41.67 | 80.09 | [GoogleDrive](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1bHD1NBgJUY1PSDgyuXH2FUXPXUB7DlLj\u002Fview?usp=sharing)\n PSANet(paper)             | R101_v1c | *train* | *val*  | 42.75 | 80.71 |  \n PSANet(ours)              | R101_v1c | *train* | *val*  | 43.04 | 80.56 | [GoogleDrive](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1nnq0-pDNTttvSgtqiSo-QZ4HeYVaZl5T\u002Fview?usp=sharing)\n\nPSANet(ours)\u003Csup>*\u003C\u002Fsup>: The original PSANet in the paper constructs the \nattention map with over-parameters, while we only predict the attention map with \nthe same size of the feature map. The performance is almost similar to the \noriginal one.\n\n### To Do\n- [ ] offer comprehensive documents \n- [ ] support more semantic segmentation models\n  - [ ] Deeplab v3 \u002F Deeplab v3+\n  - [ ] DenseASPP\n  - [ ] EncNet\n  - [ ] OCNet\n\n\n## Training\n1. create the config file of dataset:`train.txt`, `val.txt`, `test.txt`   \n    file structure：(split with `tab`)\n    ```txt\n    path-of-the-image   path-of-the-groundtruth\n    ```\n2. modify the `config.py` according to your requirements\n3. train a network:\n\n### Distributed Training\nWe use the official `torch.distributed.launch` in order to launch multi-gpu training. \nThis utility function from PyTorch spawns as many Python processes as the number \nof GPUs we want to use, and each Python process will only use a single GPU.\n\nFor each experiment, you can just run this script:\n```bash\nexport NGPUS=8\npython -m torch.distributed.launch --nproc_per_node=$NGPUS train.py\n```\n\n## Inference\nIn the evaluator, we have implemented the multi-gpu inference base on the multi-process. In the inference phase, the function will spawns as many Python processes as the number of GPUs we want to use, and each Python process will handle a subset of the whole evaluation dataset on a single GPU.\n1. evaluate a trained network on the validation set:\n    ```bash\n    python3 eval.py\n    ```\n2. input arguments:\n    ```bash\n    usage: -e epoch_idx -d device_idx [--verbose ] \n    [--show_image] [--save_path Pred_Save_Path]\n    ```\n\n\n## Disclaimer\nThis project is under active development. So things that are currently working might break in a future release. However, feel free to open issue if you get stuck anywhere.\n\n## Citation\nThe following are BibTeX references. The BibTeX entry requires the url LaTeX package.\n\nPlease consider citing this project in your publications if it helps your research. \n```\n@misc{torchseg2019,\n  author =       {Yu, Changqian},\n  title =        {TorchSeg},\n  howpublished = {\\url{https:\u002F\u002Fgithub.com\u002Fycszen\u002FTorchSeg}},\n  year =         {2019}\n}\n```\n\nPlease consider citing the [DFN](https:\u002F\u002Farxiv.org\u002Fabs\u002F1804.09337) in your publications if it helps your research. \n\n```\n@inproceedings{yu2018dfn,\n  title={Learning a Discriminative Feature Network for Semantic Segmentation},\n  author={Yu, Changqian and Wang, Jingbo and Peng, Chao and Gao, Changxin and Yu, Gang and Sang, Nong},\n  booktitle={Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},\n  year={2018}\n}\n```\n\nPlease consider citing the [BiSeNet](https:\u002F\u002Farxiv.org\u002Fabs\u002F1808.00897) in your publications if it helps your research. \n\n```\n@inproceedings{yu2018bisenet,\n  title={Bisenet: Bilateral segmentation network for real-time semantic segmentation},\n  author={Yu, Changqian and Wang, Jingbo and Peng, Chao and Gao, Changxin and Yu, Gang and Sang, Nong},\n  booktitle={European Conference on Computer Vision},\n  pages={334--349},\n  year={2018},\n  organization={Springer}\n}\n```\n\n## Why this name, Furnace?\nFurnace means the **Alchemical Furnace**. We all are the **Alchemist**, so I hope everyone can have a good alchemical furnace to practice the **Alchemy**. Hope you can be a excellent alchemist. \n\n","# TorchSeg\n本项目旨在提供一个基于 PyTorch 的语义分割模型的快速、模块化参考实现。\n\n![demo image](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fyu-changqian_TorchSeg_readme_d4d5e9bb5b9e.png)\n\n## 亮点\n- **模块化设计：** 通过组合不同的组件，轻松构建自定义的语义分割模型。\n- **分布式训练：** 比多线程并行方法（[nn.DataParallel](https:\u002F\u002Fpytorch.org\u002Fdocs\u002Fstable\u002Fnn.html#dataparallel)）快 **>60%**，我们采用多进程并行方法。\n- **多GPU训练与推理：** 支持多种推理方式。\n- 提供预训练模型，并实现了多种语义分割模型。\n\n## 前置条件\n- PyTorch 1.0\n  - `pip3 install torch torchvision`\n- Easydict\n  - `pip3 install easydict`\n- [Apex](https:\u002F\u002Fnvidia.github.io\u002Fapex\u002Findex.html)\n- Ninja\n  - `sudo apt-get install ninja-build`\n- tqdm\n  - `pip3 install tqdm`\n\n## 更新日志\nv0.1.1 (2019年5月14日)\n- 发布预训练模型及所有训练好的模型\n- 添加适用于 ADE20K 数据集的 PSANet\n- 增加对 CamVid 和 PASCAL-Context 数据集的支持\n- 仅支持分布式训练方式\n\n## 模型库\n### 预训练模型\n- [ResNet18](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1PP7mEMvqW6vBMDeNhrS6l13RU5TwI6cA\u002Fview?usp=sharing)\n- [ResNet50](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1iEshXXzI3tCexo2CH92TNNOyizf2R_db\u002Fview?usp=sharing)\n- [ResNet101](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1iELk6WeQ1smockQJGKU_DEG6slcqw6Mu\u002Fview?usp=sharing)\n\n### 支持的模型\n- FCN\n- [DFN](https:\u002F\u002Farxiv.org\u002Fabs\u002F1804.09337)\n- [BiSeNet](https:\u002F\u002Farxiv.org\u002Fabs\u002F1808.00897)\n- PSPNet\n- PSANet\n\n### 性能与基准测试\nSS：单尺度；MSF：多尺度 + 翻转\n\n### PASCAL VOC 2012\n方法 | 主干网络 | 训练集 | 评估集 | 单尺度 mIoU | 多尺度 mIoU | 模型 \n:--:|:--:|:--:|:--:|:--:|:--:|:--:\n FCN-32s     | R101_v1c | *train_aug*  | *val*  | 71.26 | -                 |  \n DFN(论文)  | R101_v1c | *train_aug*  | *val*  | 79.67 | 80.6\u003Csup>*\u003C\u002Fsup>  |  \n DFN(我们)   | R101_v1c | *train_aug*  | *val*  | 79.40 | 81.40             | [GoogleDrive](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1dK5v1oakTMP1UKMARfYf5kdBP15mEgiL\u002Fview?usp=sharing) \n\n80.6\u003Csup>*\u003C\u002Fsup>: 该结果为论文中报道的进一步在 *train* 数据集上微调后的结果。\n\n### Cityscapes\n#### 非实时方法\n方法 | 主干网络 | OHEM | 训练集 | 评估集 | 单尺度 mIoU | 多尺度 mIoU | 模型 \n:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:\n DFN(论文)                 | R101_v1c |✗| *train_fine* | *val*  | 78.5  | 79.3   | \n DFN(我们)                  | R101_v1c |✗| *train_fine* | *val*  | 79.09 | 80.41  | [GoogleDrive](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1QGM652rWQWZx83oe2A5r48HGYtfZCRrm\u002Fview?usp=sharing)\n DFN(我们)                  | R101_v1c |✓| *train_fine* | *val*  | 79.16 | 80.53  | [GoogleDrive](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1KEX5g5dXF2cNpCh1NUe9iKvVye9g9JaD\u002Fview?usp=sharing) \n BiSeNet(论文)             | R101_v1c |✓| *train_fine* | *val*  |  -    | 80.3   |  \n BiSeNet(我们)              | R101_v1c |✓| *train_fine* | *val*  | 79.09 | 80.39  | [GoogleDrive](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1yTbozInCLGiCklJ8plNTl5GgeGnW_fC0\u002Fview?usp=sharing) \n BiSeNet(论文)             | R18      |✓| *train_fine* | *val*  | 76.21 | 78.57  |  \n BiSeNet(我们)              | R18      |✓| *train_fine* | *val*  | 76.28 | 78.00  | [GoogleDrive](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1hFF-J9qoXlbVRRUr29aWeQpL4Lwn45mU\u002Fview?usp=sharing)  \n BiSeNet(论文)             | X39      |✓| *train_fine* | *val*  | 70.1  | 72     | \n BiSeNet(我们)\u003Csup>*\u003C\u002Fsup>  | X39      |✓| *train_fine* | *val*  | 70.32 | 72.06  | [GoogleDrive](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1hb_qk3QLwZtQUmevZUFOHNiRHhRr0IQB\u002Fview?usp=sharing)  \n\n #### 实时方法\n 方法 | 主干网络 | OHEM | 训练集 | 评估集 | 平均 IoU | 模型 \n:--:|:--:|:--:|:--:|:--:|:--:|:--:\n BiSeNet(论文)             | R18      |✓| *train_fine* | *val*  | 74.8  | \n BiSeNet(我们)              | R18      |✓| *train_fine* | *val*  | 74.83 | [GoogleDrive](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1bLc7YC0qePcKZQTLrqsrNRnzx3cmC-1C\u002Fview?usp=sharing) \n BiSeNet(论文)             | X39      |✓| *train_fine* | *val*  | 69    | \n BiSeNet(我们)\u003Csup>*\u003C\u002Fsup>  | X39      |✓| *train_fine* | *val*  | 68.51 | [GoogleDrive](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1xZEQLtJR-FSYt6ri7kfSTJ7UT9fXZtxc\u002Fview?usp=sharing) \n\nBiSeNet(我们)\u003Csup>*\u003C\u002Fsup>：由于我们未在 PyTorch 中对 Xception39 模型进行 ImageNet 预训练，本次实验是从零开始训练的。我们将在后续发布该模型的预训练权重及相关实验结果。\n\n### ADE\n方法 | 主干网络 | 训练集 | 评估集 | 单尺度 mIoU | 单尺度准确率 | 模型 \n:--:|:--:|:--:|:--:|:--:|:--:|:--:\n PSPNet(论文)             | R50_v1c  | *train* | *val*  | 41.68 | 80.04 |  \n PSPNet(我们)              | R50_v1c  | *train* | *val*  | 41.65 | 79.74 | [GoogleDrive](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1jDj3UJCAAffmPQ4ckTOFxQdvFWxThCoy\u002Fview?usp=sharing)\n PSPNet(论文)             | R101_v1c | *train* | *val*  | 41.96 | 80.64 |  \n PSPNet(我们)              | R101_v1c | *train* | *val*  | 42.89 | 80.55 | [GoogleDrive](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1Y6OErgb9F1qc2cJmGhW6VlUfaSdFfmfu\u002Fview?usp=sharing)\n PSANet(论文)             | R50_v1c  | *train* | *val*  | 41.92 | 80.17 |  \n PSANet(我们)\u003Csup>*\u003C\u002Fsup>  | R50_v1c  | *train* | *val*  | 41.67 | 80.09 | [GoogleDrive](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1bHD1NBgJUY1PSDgyuXH2FUXPXUB7DlLj\u002Fview?usp=sharing)\n PSANet(论文)             | R101_v1c | *train* | *val*  | 42.75 | 80.71 |  \n PSANet(我们)              | R101_v1c | *train* | *val*  | 43.04 | 80.56 | [GoogleDrive](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1nnq0-pDNTttvSgtqiSo-QZ4HeYVaZl5T\u002Fview?usp=sharing)\n\nPSANet(我们)\u003Csup>*\u003C\u002Fsup>：论文中的原始 PSANet 使用过参数化的机制来构建注意力图，而我们仅预测与特征图大小相同的注意力图。其性能与原始版本几乎相当。\n\n### 待办事项\n- [ ] 提供全面的文档\n- [ ] 支持更多语义分割模型\n  - [ ] Deeplab v3 \u002F Deeplab v3+\n  - [ ] DenseASPP\n  - [ ] EncNet\n  - [ ] OCNet\n\n\n## 训练\n1. 创建数据集配置文件：`train.txt`、`val.txt`、`test.txt`   \n    文件结构：（以制表符分隔）\n    ```txt\n    图片路径   标注路径\n    ```\n2. 根据需求修改 `config.py`\n3. 开始训练网络：\n\n### 分布式训练\n我们使用官方的 `torch.distributed.launch` 来启动多GPU训练。该工具函数会根据所需使用的GPU数量生成相应数量的Python进程，每个进程只使用一块GPU。\n\n对于每次实验，只需运行以下脚本：\n```bash\nexport NGPUS=8\npython -m torch.distributed.launch --nproc_per_node=$NGPUS train.py\n```\n\n## 推理\n在评估器中，我们基于多进程实现了多 GPU 推理。在推理阶段，程序会根据所需使用的 GPU 数量启动相应数量的 Python 进程，每个 Python 进程将在单个 GPU 上处理整个评估数据集的一个子集。\n1. 在验证集上评估训练好的网络：\n    ```bash\n    python3 eval.py\n    ```\n2. 输入参数：\n    ```bash\n    使用方法：-e epoch_idx -d device_idx [--verbose ] \n    [--show_image] [--save_path Pred_Save_Path]\n    ```\n\n\n## 免责声明\n本项目目前仍在积极开发中。因此，当前正常运行的功能在未来版本中可能会出现中断。不过，如果您在使用过程中遇到任何问题，请随时提交 issue。\n\n## 引用\n以下是 BibTeX 格式的引用参考。请注意，BibTeX 条目需要使用 url LaTeX 宏包。\n\n如果本项目对您的研究有所帮助，请考虑在您的论文中引用该项目。\n```\n@misc{torchseg2019,\n  author =       {Yu, Changqian},\n  title =        {TorchSeg},\n  howpublished = {\\url{https:\u002F\u002Fgithub.com\u002Fycszen\u002FTorchSeg}},\n  year =         {2019}\n}\n```\n\n如果 [DFN](https:\u002F\u002Farxiv.org\u002Fabs\u002F1804.09337) 对您的研究有所帮助，请考虑在您的论文中引用该工作。\n\n```\n@inproceedings{yu2018dfn,\n  title={Learning a Discriminative Feature Network for Semantic Segmentation},\n  author={Yu, Changqian and Wang, Jingbo and Peng, Chao and Gao, Changxin and Yu, Gang and Sang, Nong},\n  booktitle={Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},\n  year={2018}\n}\n```\n\n如果 [BiSeNet](https:\u002F\u002Farxiv.org\u002Fabs\u002F1808.00897) 对您的研究有所帮助，请考虑在您的论文中引用该工作。\n\n```\n@inproceedings{yu2018bisenet,\n  title={Bisenet: Bilateral segmentation network for real-time semantic segmentation},\n  author={Yu, Changqian and Wang, Jingbo and Peng, Chao and Gao, Changxin and Yu, Gang and Sang, Nong},\n  booktitle={European Conference on Computer Vision},\n  pages={334--349},\n  year={2018},\n  organization={Springer}\n}\n```\n\n## 为什么取名“Furnace”？\n“Furnace”意为“炼金炉”。我们每个人都是“炼金术士”，因此我希望每个人都能拥有一座优质的炼金炉，用来修炼“炼金术”。祝您成为一名出色的炼金术士。","# TorchSeg 快速上手指南\n\nTorchSeg 是一个基于 PyTorch 的语义分割模块化参考实现，支持分布式训练和多 GPU 推理，旨在提供快速、灵活的模型构建体验。\n\n## 环境准备\n\n### 系统要求\n- **PyTorch**: 版本 1.0 及以上\n- **GPU**: 支持 CUDA 的 NVIDIA 显卡（推荐用于分布式训练）\n- **操作系统**: Linux (Ubuntu 推荐)\n\n### 前置依赖\n请确保已安装以下依赖库：\n\n```bash\npip3 install torch torchvision\npip3 install easydict\npip3 install tqdm\nsudo apt-get install ninja-build\n```\n\n**可选但推荐**：安装 [Apex](https:\u002F\u002Fnvidia.github.io\u002Fapex\u002Findex.html) 以启用混合精度训练加速。\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fapex\ncd apex\npip install -v --no-cache-dir .\u002F\n```\n\n## 安装步骤\n\n1. **克隆项目代码**\n   ```bash\n   git clone https:\u002F\u002Fgithub.com\u002Fycszen\u002FTorchSeg.git\n   cd TorchSeg\n   ```\n\n2. **验证环境**\n   确保上述依赖安装无误，项目无需额外的 `setup.py` 安装步骤，直接在项目目录下运行即可。\n\n## 基本使用\n\n### 1. 数据准备\n在项目目录下创建数据集配置文件（如 `train.txt`, `val.txt`），格式如下（使用 Tab 分隔图片路径和标签路径）：\n```txt\npath-of-the-image   path-of-the-groundtruth\n```\n\n### 2. 配置修改\n根据实际需求编辑 `config.py` 文件，设置数据集路径、模型骨干网络（Backbone）及训练参数。\n\n### 3. 开始训练（分布式模式）\nTorchSeg 默认使用多进程分布式训练，速度比 `nn.DataParallel` 快 60% 以上。假设使用 8 张 GPU：\n\n```bash\nexport NGPUS=8\npython -m torch.distributed.launch --nproc_per_node=$NGPUS train.py\n```\n*注：若使用单卡，可将 `NGPUS` 设为 1。*\n\n### 4. 模型评估与推理\n使用训练好的模型在验证集上进行评估或生成预测结果：\n\n```bash\npython3 eval.py -e \u003Cepoch_idx> -d \u003Cdevice_idx> --show_image --save_path .\u002Fpredictions\n```\n- `-e`: 指定评估的 epoch 索引。\n- `-d`: 指定使用的 GPU 设备索引。\n- `--show_image`: 可视化预测结果。\n- `--save_path`: 保存预测图像的路径。\n\n### 5. 使用预训练模型\n项目提供了在 PASCAL VOC、Cityscapes 和 ADE20K 数据集上预训练的模型（如 ResNet18\u002F50\u002F101 骨干的 FCN, DFN, BiSeNet, PSPNet, PSANet）。\n- 下载链接见原文 \"Model Zoo\" 部分的 Google Drive 地址。\n- 下载后将其路径配置到 `config.py` 或直接加载权重进行微调\u002F推理。","某自动驾驶初创公司的算法团队正急需在 Cityscapes 数据集上训练高精度的实时语义分割模型，以优化车辆对道路环境的感知能力。\n\n### 没有 TorchSeg 时\n- **训练效率低下**：团队沿用传统的 `nn.DataParallel` 多-thread 并行方式，在多 GPU 环境下资源利用率低，模型收敛速度缓慢，严重拖慢迭代节奏。\n- **模型复现困难**：想要尝试最新的 BiSeNet 或 DFN 架构，需从零搭建代码框架，不仅耗时且容易因细节差异导致无法复现论文中的高精度结果（如 Mean IoU）。\n- **定制开发繁琐**：若需修改网络组件进行实验，由于缺乏模块化设计，每次调整都牵一发而动全身，代码耦合度高，难以快速验证新想法。\n\n### 使用 TorchSeg 后\n- **训练大幅加速**：切换至 TorchSeg 的多进程分布式训练模式，相比原有方法提速超过 60%，显著缩短了从实验启动到模型产出的时间。\n- **直接复用高性能模型**：直接调用官方提供的预训练权重（如 ResNet101 骨干的 BiSeNet），轻松在 Cityscapes 验证集上复现超 80% 的 Mean IoU，确保基线性能达标。\n- **灵活构建自定义网络**：利用其模块化设计，像搭积木一样快速组合不同组件来定制专属分割模型，极大降低了算法创新与实验的门槛。\n\nTorchSeg 通过高效的分布式训练引擎和成熟的模型库，将研发重心从重复造轮子转移到了核心算法的创新与落地之上。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fyu-changqian_TorchSeg_ea9adc38.png","yu-changqian","Changqian","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fyu-changqian_05a5417c.jpg","Lead of Kling-Image-Omni @ Kling AI","Huazhong University of Science and Technology","Beijing",null,"ChangqianYu","https:\u002F\u002Fyu-changqian.github.io\u002F","https:\u002F\u002Fgithub.com\u002Fyu-changqian",[86,90,94],{"name":87,"color":88,"percentage":89},"Python","#3572A5",93.1,{"name":91,"color":92,"percentage":93},"Cuda","#3A4E3A",3.7,{"name":95,"color":96,"percentage":97},"C++","#f34b7d",3.2,1410,251,"2026-04-05T11:52:54","MIT",4,"Linux","需要 NVIDIA GPU（依赖 Apex 和分布式训练），具体型号和显存未说明，需安装 CUDA 以支持 PyTorch 和 Apex","未说明",{"notes":107,"python":108,"dependencies":109},"该项目仅支持分布式训练模式（不再支持多线程并行）。安装 Apex 需要从源码编译，因此必须预先安装 Ninja 构建工具。项目发布于 2019 年，依赖较旧版本的 PyTorch (1.0)，在现代环境中运行可能需要调整依赖版本。","未说明 (基于 PyTorch 1.0 推测为 Python 3.6+)",[110,111,112,113,114,115],"torch==1.0","torchvision","easydict","apex","ninja","tqdm",[14,13],"2026-03-27T02:49:30.150509","2026-04-06T14:04:01.767666",[120,125,130,135,140,145],{"id":121,"question_zh":122,"answer_zh":123,"source_url":124},19135,"如何读取 VOC 数据集的地面真值（GT）图像？","VOC 数据集包含直接的 GT 图像文件，可以使用 Python 的 PIL 库直接读取这些图像作为标签，无需额外复杂的处理步骤。","https:\u002F\u002Fgithub.com\u002Fyu-changqian\u002FTorchSeg\u002Fissues\u002F65",{"id":126,"question_zh":127,"answer_zh":128,"source_url":129},19134,"分布式训练时程序在第一个 epoch 后卡住不动是什么原因？","这通常是由于集群中某些机器的共享内存（share-memory）不足导致的。尝试联系管理员增大第二台机器（或参与训练的其它机器）的共享内存大小即可解决。","https:\u002F\u002Fgithub.com\u002Fyu-changqian\u002FTorchSeg\u002Fissues\u002F59",{"id":131,"question_zh":132,"answer_zh":133,"source_url":134},19131,"为什么代码库中的 BiSeNet FPS 远低于论文中报告的速度？","这是因为论文中的方法是使用作者自有的框架实现的，其中深度可分离卷积（depthwise conv）经过了专门优化。而在 PyTorch 版本的重现中，深度可分离卷积未被正确优化，甚至比普通卷积更慢，导致性能差距。未来官方 PyTorch 可能会支持优化的深度可分离卷积，或者作者有时间时会手动实现优化版本。","https:\u002F\u002Fgithub.com\u002Fyu-changqian\u002FTorchSeg\u002Fissues\u002F6",{"id":136,"question_zh":137,"answer_zh":138,"source_url":139},19132,"训练时遇到 'RuntimeError: cuda runtime error (59) : device-side assert triggered' 错误如何解决？","该错误通常由标签 ID 不匹配引起（即标签值超出了类别数量范围）。解决方法是使用 `createTrainIdLabelImgs.py` 脚本生成 `***_gtFine_labelTrainIds.png` 文件，并将这些文件作为训练标签使用。也可以利用 `cityscapesscripts` 工具包对标签进行映射处理。","https:\u002F\u002Fgithub.com\u002Fyu-changqian\u002FTorchSeg\u002Fissues\u002F10",{"id":141,"question_zh":142,"answer_zh":143,"source_url":144},19133,"加载预训练权重时出现 'size mismatch' 或权重不匹配错误怎么办？","这通常是因为下载的预训练模型（如从 Gluon 转换的 resnet50_v1c）与当前代码定义的模型结构不一致。建议直接使用作者发布的官方预训练模型，不要自行转换。可以在 `pyt_utils.py` 文件中找到官方预训练模型的下载链接。注意区分原始 ResNet 权重和 v1c 版本的权重。","https:\u002F\u002Fgithub.com\u002Fyu-changqian\u002FTorchSeg\u002Fissues\u002F21",{"id":146,"question_zh":147,"answer_zh":148,"source_url":149},19136,"加载模型时出现 'Missing key(s) in state_dict' 警告（如 num_batches_tracked）需要处理吗？","这类警告通常涉及 BatchNorm 层中的 `num_batches_tracked` 参数缺失。这通常不影响模型的训练或推理功能，因为该参数主要用于统计信息，缺失时 PyTorch 会自动处理或忽略。如果模型能正常加载并运行，可以安全地忽略此警告。","https:\u002F\u002Fgithub.com\u002Fyu-changqian\u002FTorchSeg\u002Fissues\u002F45",[151],{"id":152,"version":153,"summary_zh":154,"released_at":155},117156,"v0.1.1","# 亮点\n- 发布预训练模型和所有训练好的模型\n- 为 ADE20K 数据集新增 PSANet 模型\n- 增加对 CamVid 和 PASCAL-Context 数据集的支持\n- 仅支持分布式训练方式，并调整相关配置\n- 修复已知 bug","2019-05-15T10:11:02"]