[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-Tramac--awesome-semantic-segmentation-pytorch":3,"tool-Tramac--awesome-semantic-segmentation-pytorch":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",147882,2,"2026-04-09T11:32:47",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108111,"2026-04-08T11:23:26",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[52,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":10,"last_commit_at":59,"category_tags":60,"status":17},4487,"LLMs-from-scratch","rasbt\u002FLLMs-from-scratch","LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目，旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型（LLM）。它不仅是同名技术著作的官方代码库，更提供了一套完整的实践方案，涵盖模型开发、预训练及微调的全过程。\n\n该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型，却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码，用户能够透彻掌握 Transformer 架构、注意力机制等关键原理，从而真正理解大模型是如何“思考”的。此外，项目还包含了加载大型预训练权重进行微调的代码，帮助用户将理论知识延伸至实际应用。\n\nLLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API，而是渴望探究模型构建细节的技术人员而言，这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计：将复杂的系统工程拆解为清晰的步骤，配合详细的图表与示例，让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础，还是为未来研发更大规模的模型做准备",90106,"2026-04-06T11:19:32",[35,15,13,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":73,"owner_avatar_url":74,"owner_bio":75,"owner_company":76,"owner_location":77,"owner_email":73,"owner_twitter":73,"owner_website":73,"owner_url":78,"languages":79,"stars":88,"forks":89,"last_commit_at":90,"license":91,"difficulty_score":10,"env_os":92,"env_gpu":93,"env_ram":92,"env_deps":94,"category_tags":102,"github_topics":103,"view_count":32,"oss_zip_url":73,"oss_zip_packed_at":73,"status":17,"created_at":105,"updated_at":106,"faqs":107,"releases":143},5971,"Tramac\u002Fawesome-semantic-segmentation-pytorch","awesome-semantic-segmentation-pytorch","Semantic Segmentation on PyTorch (include FCN, PSPNet, Deeplabv3, Deeplabv3+, DANet, DenseASPP, BiSeNet, EncNet, DUNet, ICNet, ENet, OCNet, CCNet, PSANet, CGNet, ESPNet, LEDNet, DFANet)","awesome-semantic-segmentation-pytorch 是一个基于 PyTorch 框架的语义分割开源项目，旨在为开发者和研究人员提供一套简洁、易用且高度可修改的模型参考实现。它主要解决了在复现经典语义分割算法时，代码结构复杂、环境配置繁琐以及缺乏统一标准等痛点，让用户能将更多精力集中在算法改进与实验验证上。\n\n该项目非常适合从事计算机视觉研究的学者、深度学习工程师以及希望快速上手语义分割任务的学生使用。其核心亮点在于“大而全”的模型支持，不仅涵盖了 FCN、PSPNet、DeepLabv3+ 等基础经典网络，还集成了 DANet、OCNet、BiSeNet、ESPNet 等众多前沿或轻量化架构。此外，项目提供了从数据下载、单卡\u002F多卡分布式训练到模型评估及可视化演示的完整流水线脚本，配合清晰的代码结构，极大地降低了学习与部署门槛。无论是用于学术对比实验，还是作为工业级应用的开发基线，awesome-semantic-segmentation-pytorch 都是一个值得信赖的高效工具库。","# Semantic Segmentation on PyTorch\n\nEnglish | [简体中文](\u002FREADME_zh-CN.md)\n\n[![python-image]][python-url]\n[![pytorch-image]][pytorch-url]\n[![lic-image]][lic-url]\n\nThis project aims at providing a concise, easy-to-use, modifiable reference implementation for semantic segmentation models using PyTorch.\n\n\u003Cp align=\"center\">\u003Cimg width=\"100%\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FTramac_awesome-semantic-segmentation-pytorch_readme_7f28afaa0099.png\" \u002F>\u003C\u002Fp>\n\n## Installation\n\n```\n# semantic-segmentation-pytorch dependencies\npip install ninja tqdm\n\n# follow PyTorch installation in https:\u002F\u002Fpytorch.org\u002Fget-started\u002Flocally\u002F\nconda install pytorch torchvision -c pytorch\n\n# install PyTorch Segmentation\ngit clone https:\u002F\u002Fgithub.com\u002FTramac\u002Fawesome-semantic-segmentation-pytorch.git\n```\n\n## Usage\n### Train\n-----------------\n- **Single GPU training**\n```\n# for example, train fcn32_vgg16_pascal_voc:\npython train.py --model fcn32s --backbone vgg16 --dataset pascal_voc --lr 0.0001 --epochs 50\n```\n- **Multi-GPU training**\n\n```\n# for example, train fcn32_vgg16_pascal_voc with 4 GPUs:\nexport NGPUS=4\npython -m torch.distributed.launch --nproc_per_node=$NGPUS train.py --model fcn32s --backbone vgg16 --dataset pascal_voc --lr 0.0001 --epochs 50\n```\n\n### Evaluation\n-----------------\n- **Single GPU evaluating**\n```\n# for example, evaluate fcn32_vgg16_pascal_voc\npython eval.py --model fcn32s --backbone vgg16 --dataset pascal_voc\n```\n- **Multi-GPU evaluating**\n```\n# for example, evaluate fcn32_vgg16_pascal_voc with 4 GPUs:\nexport NGPUS=4\npython -m torch.distributed.launch --nproc_per_node=$NGPUS eval.py --model fcn32s --backbone vgg16 --dataset pascal_voc\n```\n### Demo\n```\ncd .\u002Fscripts\n#for new users:\npython demo.py --model fcn32s_vgg16_voc --input-pic ..\u002Ftests\u002Ftest_img.jpg\n#you should add 'test.jpg' by yourself\npython demo.py --model fcn32s_vgg16_voc --input-pic ..\u002Fdatasets\u002Ftest.jpg\n```\n\n```\n.{SEG_ROOT}\n├── scripts\n│   ├── demo.py\n│   ├── eval.py\n│   └── train.py\n```\n\n## Support\n\n#### Model\n\n- [FCN](https:\u002F\u002Farxiv.org\u002Fabs\u002F1411.4038)\n- [ENet](https:\u002F\u002Farxiv.org\u002Fpdf\u002F1606.02147)\n- [PSPNet](https:\u002F\u002Farxiv.org\u002Fpdf\u002F1612.01105)\n- [ICNet](https:\u002F\u002Farxiv.org\u002Fpdf\u002F1704.08545)\n- [DeepLabv3](https:\u002F\u002Farxiv.org\u002Fabs\u002F1706.05587)\n- [DeepLabv3+](https:\u002F\u002Farxiv.org\u002Fpdf\u002F1802.02611)\n- [DenseASPP](http:\u002F\u002Fopenaccess.thecvf.com\u002Fcontent_cvpr_2018\u002Fpapers\u002FYang_DenseASPP_for_Semantic_CVPR_2018_paper.pdf)\n- [EncNet](https:\u002F\u002Farxiv.org\u002Fabs\u002F1803.08904v1)\n- [BiSeNet](https:\u002F\u002Farxiv.org\u002Fabs\u002F1808.00897)\n- [PSANet](https:\u002F\u002Fhszhao.github.io\u002Fpapers\u002Feccv18_psanet.pdf)\n- [DANet](https:\u002F\u002Farxiv.org\u002Fpdf\u002F1809.02983)\n- [OCNet](https:\u002F\u002Farxiv.org\u002Fpdf\u002F1809.00916)\n- [CGNet](https:\u002F\u002Farxiv.org\u002Fpdf\u002F1811.08201)\n- [ESPNetv2](https:\u002F\u002Farxiv.org\u002Fabs\u002F1811.11431)\n- [DUNet(DUpsampling)](https:\u002F\u002Farxiv.org\u002Fabs\u002F1903.02120)\n- [FastFCN(JPU)](https:\u002F\u002Farxiv.org\u002Fabs\u002F1903.11816)\n- [LEDNet](https:\u002F\u002Farxiv.org\u002Fabs\u002F1905.02423)\n- [Fast-SCNN](https:\u002F\u002Fgithub.com\u002FTramac\u002FFast-SCNN-pytorch)\n- [LightSeg](https:\u002F\u002Fgithub.com\u002FTramac\u002FLightweight-Segmentation)\n- [DFANet](https:\u002F\u002Farxiv.org\u002Fabs\u002F1904.02216)\n\n[DETAILS](https:\u002F\u002Fgithub.com\u002FTramac\u002Fawesome-semantic-segmentation-pytorch\u002Fblob\u002Fmaster\u002Fdocs\u002FDETAILS.md) for model & backbone.\n```\n.{SEG_ROOT}\n├── core\n│   ├── models\n│   │   ├── bisenet.py\n│   │   ├── danet.py\n│   │   ├── deeplabv3.py\n│   │   ├── deeplabv3+.py\n│   │   ├── denseaspp.py\n│   │   ├── dunet.py\n│   │   ├── encnet.py\n│   │   ├── fcn.py\n│   │   ├── pspnet.py\n│   │   ├── icnet.py\n│   │   ├── enet.py\n│   │   ├── ocnet.py\n│   │   ├── psanet.py\n│   │   ├── cgnet.py\n│   │   ├── espnet.py\n│   │   ├── lednet.py\n│   │   ├── dfanet.py\n│   │   ├── ......\n```\n\n#### Dataset\n\nYou can run script to download dataset, such as:\n\n```\ncd .\u002Fcore\u002Fdata\u002Fdownloader\npython ade20k.py --download-dir ..\u002Fdatasets\u002Fade\n```\n\n|                           Dataset                            | training set | validation set | testing set |\n| :----------------------------------------------------------: | :----------: | :------------: | :---------: |\n| [VOC2012](http:\u002F\u002Fhost.robots.ox.ac.uk\u002Fpascal\u002FVOC\u002Fvoc2012\u002FVOCtrainval_11-May-2012.tar) |     1464     |      1449      |      ✘      |\n| [VOCAug](http:\u002F\u002Fwww.eecs.berkeley.edu\u002FResearch\u002FProjects\u002FCS\u002Fvision\u002Fgrouping\u002Fsemantic_contours\u002Fbenchmark.tgz) |    11355     |      2857      |      ✘      |\n| [ADK20K](http:\u002F\u002Fgroups.csail.mit.edu\u002Fvision\u002Fdatasets\u002FADE20K\u002F) |    20210     |      2000      |      ✘      |\n| [Cityscapes](https:\u002F\u002Fwww.cityscapes-dataset.com\u002Fdownloads\u002F)  |     2975     |      500       |      ✘      |\n| [COCO](http:\u002F\u002Fcocodataset.org\u002F#download)           |              |                |             |\n| [SBU-shadow](http:\u002F\u002Fwww3.cs.stonybrook.edu\u002F~cvl\u002Fcontent\u002Fdatasets\u002Fshadow_db\u002FSBU-shadow.zip) |     4085     |      638       |      ✘      |\n| [LIP(Look into Person)](http:\u002F\u002Fsysu-hcp.net\u002Flip\u002F)       |    30462     |     10000      |    10000    |\n\n```\n.{SEG_ROOT}\n├── core\n│   ├── data\n│   │   ├── dataloader\n│   │   │   ├── ade.py\n│   │   │   ├── cityscapes.py\n│   │   │   ├── mscoco.py\n│   │   │   ├── pascal_aug.py\n│   │   │   ├── pascal_voc.py\n│   │   │   ├── sbu_shadow.py\n│   │   └── downloader\n│   │       ├── ade20k.py\n│   │       ├── cityscapes.py\n│   │       ├── mscoco.py\n│   │       ├── pascal_voc.py\n│   │       └── sbu_shadow.py\n```\n\n## Result\n- **PASCAL VOC 2012**\n\n|Methods|Backbone|TrainSet|EvalSet|crops_size|epochs|JPU|Mean IoU|pixAcc|\n|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|\n|FCN32s|vgg16|train|val|480|60|✘|47.50|85.39|\n|FCN16s|vgg16|train|val|480|60|✘|49.16|85.98|\n|FCN8s|vgg16|train|val|480|60|✘|48.87|85.02|\n|FCN32s|resnet50|train|val|480|50|✘|54.60|88.57|\n|PSPNet|resnet50|train|val|480|60|✘|63.44|89.78|\n|DeepLabv3|resnet50|train|val|480|60|✘|60.15|88.36|\n\nNote: `lr=1e-4, batch_size=4, epochs=80`.\n\n## Overfitting Test\nSee [TEST](https:\u002F\u002Fgithub.com\u002FTramac\u002FAwesome-semantic-segmentation-pytorch\u002Ftree\u002Fmaster\u002Ftests) for details.\n\n```\n.{SEG_ROOT}\n├── tests\n│   └── test_model.py\n```\n\n## To Do\n- [x] add train script\n- [ ] remove syncbn\n- [ ] train & evaluate\n- [x] test distributed training\n- [x] fix syncbn ([Why SyncBN?](https:\u002F\u002Ftramac.github.io\u002F2019\u002F02\u002F25\u002F%E8%B7%A8%E5%8D%A1%E5%90%8C%E6%AD%A5%20Batch%20Normalization[%E8%BD%AC]\u002F))\n- [x] add distributed ([How DIST?](\"https:\u002F\u002Ftramac.github.io\u002F2019\u002F03\u002F06\u002F%E5%88%86%E5%B8%83%E5%BC%8F%E8%AE%AD%E7%BB%83-PyTorch\u002F\"))\n\u003C!--\n- [x] fix syncbn ([Why SyncBN?](https:\u002F\u002Ftramac.github.io\u002F2019\u002F04\u002F08\u002FSyncBN\u002F))\n- [x] add distributed ([How DIST?](https:\u002F\u002Ftramac.github.io\u002F2019\u002F04\u002F22\u002F%E5%88%86%E5%B8%83%E5%BC%8F%E8%AE%AD%E7%BB%83-PyTorch\u002F))\n-->\n## References\n- [PyTorch-Encoding](https:\u002F\u002Fgithub.com\u002Fzhanghang1989\u002FPyTorch-Encoding)\n- [maskrcnn-benchmark](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fmaskrcnn-benchmark)\n- [gloun-cv](https:\u002F\u002Fgithub.com\u002Fdmlc\u002Fgluon-cv)\n- [imagenet](https:\u002F\u002Fgithub.com\u002Fpytorch\u002Fexamples\u002Ftree\u002Fmaster\u002Fimagenet)\n\n\n\n\u003C!--\n[![python-image]][python-url]\n[![pytorch-image]][pytorch-url]\n[![lic-image]][lic-url]\n-->\n\n[python-image]: https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPython-2.x|3.x-ff69b4.svg\n[python-url]: https:\u002F\u002Fwww.python.org\u002F\n[pytorch-image]: https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPyTorch-1.1-2BAF2B.svg\n[pytorch-url]: https:\u002F\u002Fpytorch.org\u002F\n[lic-image]: https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FApache-2.0-blue.svg\n[lic-url]: https:\u002F\u002Fgithub.com\u002FTramac\u002FAwesome-semantic-segmentation-pytorch\u002Fblob\u002Fmaster\u002FLICENSE\n","# PyTorch 上的语义分割\n\n英语 | [简体中文](\u002FREADME_zh-CN.md)\n\n[![python-image]][python-url]\n[![pytorch-image]][pytorch-url]\n[![lic-image]][lic-url]\n\n该项目旨在提供一个简洁、易用且可修改的参考实现，用于在 PyTorch 中构建语义分割模型。\n\n\u003Cp align=\"center\">\u003Cimg width=\"100%\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FTramac_awesome-semantic-segmentation-pytorch_readme_7f28afaa0099.png\" \u002F>\u003C\u002Fp>\n\n## 安装\n\n```\n# semantic-segmentation-pytorch 的依赖\npip install ninja tqdm\n\n# 按照 https:\u002F\u002Fpytorch.org\u002Fget-started\u002Flocally\u002F 中的说明安装 PyTorch\nconda install pytorch torchvision -c pytorch\n\n# 安装 PyTorch 语义分割库\ngit clone https:\u002F\u002Fgithub.com\u002FTramac\u002Fawesome-semantic-segmentation-pytorch.git\n```\n\n## 使用方法\n### 训练\n-----------------\n- **单 GPU 训练**\n```\n# 例如，训练 fcn32_vgg16_pascal_voc:\npython train.py --model fcn32s --backbone vgg16 --dataset pascal_voc --lr 0.0001 --epochs 50\n```\n- **多 GPU 训练**\n\n```\n# 例如，使用 4 个 GPU 训练 fcn32_vgg16_pascal_voc:\nexport NGPUS=4\npython -m torch.distributed.launch --nproc_per_node=$NGPUS train.py --model fcn32s --backbone vgg16 --dataset pascal_voc --lr 0.0001 --epochs 50\n```\n\n### 评估\n-----------------\n- **单 GPU 评估**\n```\n# 例如，评估 fcn32_vgg16_pascal_voc\npython eval.py --model fcn32s --backbone vgg16 --dataset pascal_voc\n```\n- **多 GPU 评估**\n```\n# 例如，使用 4 个 GPU 评估 fcn32_vgg16_pascal_voc:\nexport NGPUS=4\npython -m torch.distributed.launch --nproc_per_node=$NGPUS eval.py --model fcn32s --backbone vgg16 --dataset pascal_voc\n```\n### 演示\n```\ncd .\u002Fscripts\n# 对于新用户：\npython demo.py --model fcn32s_vgg16_voc --input-pic ..\u002Ftests\u002Ftest_img.jpg\n# 您需要自行添加 'test.jpg'\npython demo.py --model fcn32s_vgg16_voc --input-pic ..\u002Fdatasets\u002Ftest.jpg\n```\n\n```\n.{SEG_ROOT}\n├── scripts\n│   ├── demo.py\n│   ├── eval.py\n│   └── train.py\n```\n\n## 支持\n\n#### 模型\n\n- [FCN](https:\u002F\u002Farxiv.org\u002Fabs\u002F1411.4038)\n- [ENet](https:\u002F\u002Farxiv.org\u002Fpdf\u002F1606.02147)\n- [PSPNet](https:\u002F\u002Farxiv.org\u002Fpdf\u002F1612.01105)\n- [ICNet](https:\u002F\u002Farxiv.org\u002Fpdf\u002F1704.08545)\n- [DeepLabv3](https:\u002F\u002Farxiv.org\u002Fabs\u002F1706.05587)\n- [DeepLabv3+](https:\u002F\u002Farxiv.org\u002Fpdf\u002F1802.02611)\n- [DenseASPP](http:\u002F\u002Fopenaccess.thecvf.com\u002Fcontent_cvpr_2018\u002Fpapers\u002FYang_DenseASPP_for_Semantic_CVPR_2018_paper.pdf)\n- [EncNet](https:\u002F\u002Farxiv.org\u002Fabs\u002F1803.08904v1)\n- [BiSeNet](https:\u002F\u002Farxiv.org\u002Fabs\u002F1808.00897)\n- [PSANet](https:\u002F\u002Fhszhao.github.io\u002Fpapers\u002Feccv18_psanet.pdf)\n- [DANet](https:\u002F\u002Farxiv.org\u002Fpdf\u002F1809.02983)\n- [OCNet](https:\u002F\u002Farxiv.org\u002Fpdf\u002F1809.00916)\n- [CGNet](https:\u002F\u002Farxiv.org\u002Fpdf\u002F1811.08201)\n- [ESPNetv2](https:\u002F\u002Farxiv.org\u002Fabs\u002F1811.11431)\n- [DUNet(DUpsampling)](https:\u002F\u002Farxiv.org\u002Fabs\u002F1903.02120)\n- [FastFCN(JPU)](https:\u002F\u002Farxiv.org\u002Fabs\u002F1903.11816)\n- [LEDNet](https:\u002F\u002Farxiv.org\u002Fabs\u002F1905.02423)\n- [Fast-SCNN](https:\u002F\u002Fgithub.com\u002FTramac\u002FFast-SCNN-pytorch)\n- [LightSeg](https:\u002F\u002Fgithub.com\u002FTramac\u002FLightweight-Segmentation)\n- [DFANet](https:\u002F\u002Farxiv.org\u002Fabs\u002F1904.02216)\n\n[DETAILS](https:\u002F\u002Fgithub.com\u002FTramac\u002Fawesome-semantic-segmentation-pytorch\u002Fblob\u002Fmaster\u002Fdocs\u002FDETAILS.md) 包含模型和骨干网络的详细信息。\n```\n.{SEG_ROOT}\n├── core\n│   ├── models\n│   │   ├── bisenet.py\n│   │   ├── danet.py\n│   │   ├── deeplabv3.py\n│   │   ├── deeplabv3+.py\n│   │   ├── denseaspp.py\n│   │   ├── dunet.py\n│   │   ├── encnet.py\n│   │   ├── fcn.py\n│   │   ├── pspnet.py\n│   │   ├── icnet.py\n│   │   ├── enet.py\n│   │   ├── ocnet.py\n│   │   ├── psanet.py\n│   │   ├── cgnet.py\n│   │   ├── espnet.py\n│   │   ├── lednet.py\n│   │   ├── dfanet.py\n│   │   ├── ......\n```\n\n#### 数据集\n\n您可以运行脚本来下载数据集，例如：\n\n```\ncd .\u002Fcore\u002Fdata\u002Fdownloader\npython ade20k.py --download-dir ..\u002Fdatasets\u002Fade\n```\n\n|                           数据集                            | 训练集 | 验证集 | 测试集 |\n| :----------------------------------------------------------: | :----------: | :------------: | :---------: |\n| [VOC2012](http:\u002F\u002Fhost.robots.ox.ac.uk\u002Fpascal\u002FVOC\u002Fvoc2012\u002FVOCtrainval_11-May-2012.tar) |     1464     |      1449      |      ✘      |\n| [VOCAug](http:\u002F\u002Fwww.eecs.berkeley.edu\u002FResearch\u002FProjects\u002FCS\u002Fvision\u002Fgrouping\u002Fsemantic_contours\u002Fbenchmark.tgz) |    11355     |      2857      |      ✘      |\n| [ADK20K](http:\u002F\u002Fgroups.csail.mit.edu\u002Fvision\u002Fdatasets\u002FADE20K\u002F) |    20210     |      2000      |      ✘      |\n| [Cityscapes](https:\u002F\u002Fwww.cityscapes-dataset.com\u002Fdownloads\u002F)  |     2975     |      500       |      ✘      |\n| [COCO](http:\u002F\u002Fcocodataset.org\u002F#download)           |              |                |             |\n| [SBU-shadow](http:\u002F\u002Fwww3.cs.stonybrook.edu\u002F~cvl\u002Fcontent\u002Fdatasets\u002Fshadow_db\u002FSBU-shadow.zip) |     4085     |      638       |      ✘      |\n| [LIP(Look into Person)](http:\u002F\u002Fsysu-hcp.net\u002Flip\u002F)       |    30462     |     10000      |    10000    |\n\n```\n.{SEG_ROOT}\n├── core\n│   ├── data\n│   │   ├── dataloader\n│   │   │   ├── ade.py\n│   │   │   ├── cityscapes.py\n│   │   │   ├── mscoco.py\n│   │   │   ├── pascal_aug.py\n│   │   │   ├── pascal_voc.py\n│   │   │   ├── sbu_shadow.py\n│   │   └── downloader\n│   │       ├── ade20k.py\n│   │       ├── cityscapes.py\n│   │       ├── mscoco.py\n│   │       ├── pascal_voc.py\n│   │       └── sbu_shadow.py\n```\n\n## 结果\n- **PASCAL VOC 2012**\n\n|方法|骨干网络|训练集|验证集|裁剪尺寸|epoch数|JPU|平均 IoU|像素准确率|\n|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|\n|FCN32s|vgg16|train|val|480|60|✘|47.50|85.39|\n|FCN16s|vgg16|train|val|480|60|✘|49.16|85.98|\n|FCN8s|vgg16|train|val|480|60|✘|48.87|85.02|\n|FCN32s|resnet50|train|val|480|50|✘|54.60|88.57|\n|PSPNet|resnet50|train|val|480|60|✘|63.44|89.78|\n|DeepLabv3|resnet50|train|val|480|60|✘|60.15|88.36|\n\n注：`lr=1e-4, batch_size=4, epochs=80`。\n\n## 过拟合测试\n详情请参见 [TEST](https:\u002F\u002Fgithub.com\u002FTramac\u002FAwesome-semantic-segmentation-pytorch\u002Ftree\u002Fmaster\u002Ftests)。\n\n```\n.{SEG_ROOT}\n├── tests\n│   └── test_model.py\n```\n\n## 待办事项\n- [x] 添加训练脚本\n- [ ] 移除 syncbn\n- [ ] 进行训练和评估\n- [x] 测试分布式训练\n- [x] 修复 syncbn（[为什么使用 SyncBN？](https:\u002F\u002Ftramac.github.io\u002F2019\u002F02\u002F25\u002F%E8%B7%A8%E5%8D%A1%E5%90%8C%E6%AD%A5%20Batch%20Normalization[%E8%BD%AC]\u002F)）\n- [x] 添加分布式功能（[如何进行 DIST？](https:\u002F\u002Ftramac.github.io\u002F2019\u002F03\u002F06\u002F%E5%88%86%E5%B8%83%E5%BC%8F%E8%AE%AD%E7%BB%83-PyTorch\u002F)）\n\u003C!--\n- [x] 修复 syncbn（[为什么使用 SyncBN？](https:\u002F\u002Ftramac.github.io\u002F2019\u002F04\u002F08\u002FSyncBN\u002F))\n- [x] 添加分布式功能（[如何进行 DIST？](https:\u002F\u002Ftramac.github.io\u002F2019\u002F04\u002F22\u002F%E5%88%86%E5%B8%83%E5%BC%8F%E8%AE%AD%E7%BB%83-PyTorch\u002F))\n-->\n\n## 参考资料\n- [PyTorch-Encoding](https:\u002F\u002Fgithub.com\u002Fzhanghang1989\u002FPyTorch-Encoding)\n- [maskrcnn-benchmark](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fmaskrcnn-benchmark)\n- [gloun-cv](https:\u002F\u002Fgithub.com\u002Fdmlc\u002Fgluon-cv)\n- [imagenet](https:\u002F\u002Fgithub.com\u002Fpytorch\u002Fexamples\u002Ftree\u002Fmaster\u002Fimagenet)\n\n\n\n\u003C!--\n[![python-image]][python-url]\n[![pytorch-image]][pytorch-url]\n[![lic-image]][lic-url]\n-->\n\n[python-image]: https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPython-2.x|3.x-ff69b4.svg\n[python-url]: https:\u002F\u002Fwww.python.org\u002F\n[pytorch-image]: https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPyTorch-1.1-2BAF2B.svg\n[pytorch-url]: https:\u002F\u002Fpytorch.org\u002F\n[lic-image]: https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FApache-2.0-blue.svg\n[lic-url]: https:\u002F\u002Fgithub.com\u002FTramac\u002FAwesome-semantic-segmentation-pytorch\u002Fblob\u002Fmaster\u002FLICENSE","# awesome-semantic-segmentation-pytorch 快速上手指南\n\n本项目旨在提供一套简洁、易用且可修改的 PyTorch 语义分割模型参考实现，支持多种主流模型（如 FCN, PSPNet, DeepLabv3+ 等）及数据集。\n\n## 环境准备\n\n在开始之前，请确保您的系统满足以下要求：\n- **操作系统**: Linux (推荐) 或 Windows\n- **Python**: 2.x 或 3.x\n- **PyTorch**: 1.1 及以上版本\n- **GPU**: 推荐使用 NVIDIA GPU 以加速训练和推理\n\n**前置依赖**:\n- `ninja`: 用于加速编译\n- `tqdm`: 用于显示进度条\n\n## 安装步骤\n\n### 1. 安装基础依赖\n首先安装项目所需的 Python 依赖包：\n```bash\npip install ninja tqdm\n```\n\n### 2. 安装 PyTorch\n请访问 [PyTorch 官网](https:\u002F\u002Fpytorch.org\u002Fget-started\u002Flocally\u002F) 获取适合您环境的安装命令。若使用 Conda，典型命令如下：\n```bash\nconda install pytorch torchvision -c pytorch\n```\n> **提示**: 国内用户可使用清华或中科大镜像源加速下载，例如：\n> ```bash\n> conda install pytorch torchvision -c pytorch --channel https:\u002F\u002Fmirrors.tuna.tsinghua.edu.cn\u002Fanaconda\u002Fcloud\u002Fpytorch\u002F\n> ```\n\n### 3. 克隆项目代码\n将项目代码克隆到本地：\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FTramac\u002Fawesome-semantic-segmentation-pytorch.git\ncd awesome-semantic-segmentation-pytorch\n```\n\n## 基本使用\n\n### 1. 训练模型 (单卡示例)\n以下命令演示如何使用 VGG16 作为骨干网络，在 Pascal VOC 数据集上训练 FCN32s 模型：\n```bash\npython train.py --model fcn32s --backbone vgg16 --dataset pascal_voc --lr 0.0001 --epochs 50\n```\n\n### 2. 评估模型\n训练完成后，使用以下命令评估模型性能：\n```bash\npython eval.py --model fcn32s --backbone vgg16 --dataset pascal_voc\n```\n\n### 3. 推理演示 (Demo)\n您可以使用预训练模型对单张图片进行语义分割预测。首先进入脚本目录，然后运行：\n```bash\ncd .\u002Fscripts\n# 请将 ..\u002Ftests\u002Ftest_img.jpg 替换为您自己的图片路径\npython demo.py --model fcn32s_vgg16_voc --input-pic ..\u002Ftests\u002Ftest_img.jpg\n```\n\n### 4. 数据集下载 (可选)\n项目提供了脚本来自动下载常用数据集。以下以 ADE20K 为例：\n```bash\ncd .\u002Fcore\u002Fdata\u002Fdownloader\npython ade20k.py --download-dir ..\u002Fdatasets\u002Fade\n```\n支持的数据集包括：Pascal VOC, ADE20K, Cityscapes, COCO, SBU-shadow, LIP 等。","某自动驾驶初创公司的算法团队正在开发城市道路感知系统，急需对街景图像中的车道线、行人及车辆进行像素级精准分割以训练感知模型。\n\n### 没有 awesome-semantic-segmentation-pytorch 时\n- **复现成本极高**：团队成员需从零编写 DeepLabv3+ 或 PSPNet 等复杂网络结构，极易因代码细节错误导致模型无法收敛，耗费数周调试时间。\n- **多模型对比困难**：想要验证不同架构（如轻量级的 BiSeNet 与高精度的 DANet）在特定数据集上的表现，需要分别寻找并适配多个分散的开源仓库，环境依赖冲突频繁。\n- **训练流程繁琐**：缺乏统一的多 GPU 分布式训练脚本，每次切换模型都需手动修改底层数据加载和同步逻辑，严重拖慢实验迭代速度。\n- **缺乏标准评估**：没有内置标准化的评估工具，团队需自行编写指标计算代码，导致不同实验结果之间难以进行公平、一致的横向对比。\n\n### 使用 awesome-semantic-segmentation-pytorch 后\n- **开箱即用模型库**：直接调用项目中预置的 FCN、EncNet 等近 20 种主流模型接口，只需修改一行命令即可切换骨干网络，将模型验证周期从数周缩短至数小时。\n- **统一实验框架**：在一个代码库内即可轻松对比 DenseASPP 与 OCNet 等不同算法在 Cityscapes 数据集上的性能，彻底消除了环境配置和数据预处理的不一致性。\n- **高效分布式训练**：利用内置的 `torch.distributed` 启动脚本，仅需设置 `NGPUS` 参数即可一键开启多卡训练，大幅提升了大规模数据的训练效率。\n- **标准化评测演示**：通过简单的 `eval.py` 和 `demo.py` 脚本，不仅能快速获得准确的 mIoU 指标，还能直接生成可视化的分割效果图，便于向非技术 stakeholders 展示成果。\n\nawesome-semantic-segmentation-pytorch 通过提供模块化、标准化的全链路实现，让算法团队从重复的基建工作中解放出来，专注于核心策略优化与业务落地。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FTramac_awesome-semantic-segmentation-pytorch_7f28afaa.png","Tramac",null,"https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FTramac_ad93b593.jpg","Data&Model&Loss","Baidu","Beijing, China","https:\u002F\u002Fgithub.com\u002FTramac",[80,84],{"name":81,"color":82,"percentage":83},"Python","#3572A5",99.9,{"name":85,"color":86,"percentage":87},"Shell","#89e051",0.1,3059,586,"2026-04-09T08:52:17","Apache-2.0","未说明","训练和评估支持单卡或多卡（Multi-GPU），需 NVIDIA GPU 并安装对应 CUDA 版本（具体版本取决于 PyTorch 安装要求，README 未明确指定最低显存）",{"notes":95,"python":96,"dependencies":97},"该项目基于 PyTorch 1.1+ 构建。安装时需先通过 conda 或 pip 安装 PyTorch 和 torchvision（建议参考 pytorch.org 官方指南配置对应的 CUDA 环境）。代码支持分布式训练（torch.distributed.launch）和同步批归一化（SyncBN）。数据集（如 VOC2012, Cityscapes 等）需单独下载或通过提供的脚本获取。","2.x 或 3.x",[98,99,100,101],"pytorch","torchvision","ninja","tqdm",[14,15],[104,98],"semantic-segmentation","2026-03-27T02:49:30.150509","2026-04-10T02:44:51.538551",[108,113,118,123,128,133,138],{"id":109,"question_zh":110,"answer_zh":111,"source_url":112},27069,"运行 `python setup.py build develop` 时遇到 'gcc failed' 或权限错误怎么办？","这通常是由于权限不足导致的。尝试在命令前添加 `sudo` 以管理员权限运行：`sudo python setup.py build develop`。此外，请确保已正确安装 CUDA 工具包且版本与 PyTorch 兼容（例如 PyTorch 1.1+ 建议搭配 CUDA 9.0 或更高版本）。","https:\u002F\u002Fgithub.com\u002FTramac\u002Fawesome-semantic-segmentation-pytorch\u002Fissues\u002F21",{"id":114,"question_zh":115,"answer_zh":116,"source_url":117},27070,"导入模块时出现 'ImportError: cannot import name _C' 或 'undefined symbol' 错误如何解决？","这通常是因为自定义算子（_C）未正确编译或 CUDA 环境配置问题。首先确保运行了 `python setup.py build develop` 进行编译。如果报错包含 'undefined symbol: __cudaRegisterFatBinaryEnd'，请检查 CUDA 版本是否与 PyTorch 匹配，并重新编译扩展模块。","https:\u002F\u002Fgithub.com\u002FTramac\u002Fawesome-semantic-segmentation-pytorch\u002Fissues\u002F36",{"id":119,"question_zh":120,"answer_zh":121,"source_url":122},27071,"运行 demo.py 时报错 'ModuleNotFoundError: No module named core' 怎么办？","该问题通常由项目路径未加入环境变量引起。确保在项目根目录下运行脚本，或者将项目根目录添加到 PYTHONPATH。维护者已修复部分相关 bug，请拉取最新代码。若需支持新模型，需在 `model_zoo.py` 中注册新函数，并在对应模型文件中添加类似 fcn.py 中的逻辑。","https:\u002F\u002Fgithub.com\u002FTramac\u002Fawesome-semantic-segmentation-pytorch\u002Fissues\u002F9",{"id":124,"question_zh":125,"answer_zh":126,"source_url":127},27072,"训练时出现 'AttributeError: Namespace object has no attribute' 或导入 'makedirs' 失败？","这是早期版本的代码结构问题。请修改 `pascal_voc.py` 中的导入语句：将 `from utils import download, makedirs` 改为 `from utils.filesystem import makedirs` 和 `from utils.download import download`。建议直接克隆最新仓库代码，因为维护者已修复此类导入错误和 eval.py 中的 bug。","https:\u002F\u002Fgithub.com\u002FTramac\u002Fawesome-semantic-segmentation-pytorch\u002Fissues\u002F1",{"id":129,"question_zh":130,"answer_zh":131,"source_url":132},27073,"执行 setup.py 编译 CUDA 扩展时出现 'nvcc failed' 或 'ninja build stopped' 错误？","这通常由 CUDA 版本不兼容或编译器环境问题引起。确认安装的 CUDA 版本（如 CUDA 8.0\u002F9.0）与当前 PyTorch 版本匹配。例如，PyTorch 1.1.0 配合 Python 3.6.8 时，建议使用 CUDA 9.0 及以上版本。如果是 Windows 用户，还需确保安装了 Ninja 构建系统并配置好了环境变量。","https:\u002F\u002Fgithub.com\u002FTramac\u002Fawesome-semantic-segmentation-pytorch\u002Fissues\u002F23",{"id":134,"question_zh":135,"answer_zh":136,"source_url":137},27074,"如何加载预训练模型进行评估而不需要重新训练？","项目支持直接加载预训练模型进行评估。请检查本地路径 `~\u002F.torch\u002Fmodels`（Linux\u002FMac）或相应权重文件夹下是否存在预训练文件（如 `fcn32s_vgg16_pascal_voc.pth`）。准备好数据后，直接运行 `python eval.py` 即可。默认支持 VOC、COCO、ADE20K 和 Cityscapes 数据集，可通过 `train.py` 中的 `--datasets` 参数切换。","https:\u002F\u002Fgithub.com\u002FTramac\u002Fawesome-semantic-segmentation-pytorch\u002Fissues\u002F3",{"id":139,"question_zh":140,"answer_zh":141,"source_url":142},27075,"训练时出现 'TypeError: __init__() got an unexpected keyword argument jpu' 错误？","这是因为某些主干网络（如 Xception）的初始化函数不支持 `jpu` 参数，但调用时传入了该参数。解决方法是检查 `deeplabv3_plus.py` 或相关模型文件，确保在实例化主干网络时过滤掉不支持的参数（如 `jpu`），或者更新代码库至最新版本以获取参数兼容性修复。","https:\u002F\u002Fgithub.com\u002FTramac\u002Fawesome-semantic-segmentation-pytorch\u002Fissues\u002F97",[]]