[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-rishizek--tensorflow-deeplab-v3-plus":3,"tool-rishizek--tensorflow-deeplab-v3-plus":61},[4,18,26,36,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":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 真正成长为懂上",141543,2,"2026-04-06T11:32:54",[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 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107888,"2026-04-06T11:32:50",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":10,"last_commit_at":50,"category_tags":51,"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":53,"name":54,"github_repo":55,"description_zh":56,"stars":57,"difficulty_score":10,"last_commit_at":58,"category_tags":59,"status":17},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",[14,15,13,60],"视频",{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":67,"readme_en":68,"readme_zh":69,"quickstart_zh":70,"use_case_zh":71,"hero_image_url":72,"owner_login":73,"owner_name":74,"owner_avatar_url":75,"owner_bio":76,"owner_company":77,"owner_location":78,"owner_email":77,"owner_twitter":77,"owner_website":79,"owner_url":80,"languages":81,"stars":86,"forks":87,"last_commit_at":88,"license":89,"difficulty_score":90,"env_os":91,"env_gpu":92,"env_ram":91,"env_deps":93,"category_tags":101,"github_topics":102,"view_count":32,"oss_zip_url":77,"oss_zip_packed_at":77,"status":17,"created_at":109,"updated_at":110,"faqs":111,"releases":140},4408,"rishizek\u002Ftensorflow-deeplab-v3-plus","tensorflow-deeplab-v3-plus","DeepLabv3+ built in TensorFlow ","tensorflow-deeplab-v3-plus 是一个基于 TensorFlow 框架实现的开源项目，旨在复现先进的 DeepLabv3+ 语义分割模型。它主要解决计算机视觉中“像素级图像理解”的难题，能够精准识别并勾勒出图像中每个物体（如行人、车辆、道路等）的轮廓，广泛应用于自动驾驶环境感知、医疗影像分析及卫星地图处理等领域。\n\n该项目特别适合具备一定编程基础的 AI 开发者、算法研究人员及高校学生使用。用户可以直接利用它在 PASCAL VOC 和 Cityscapes 等主流数据集上进行模型训练、评估与推理，无需从零搭建复杂的网络架构。\n\n其核心技术亮点在于采用了“编码器 - 解码器”结构，并结合了空洞可分离卷积（Atrous Separable Convolution）技术。这种设计不仅有效扩大了感受野以捕捉多尺度上下文信息，还显著降低了计算量，在保持高精度的同时提升了运行效率。项目中包含了完整的数据预处理脚本（支持转换为 TFRecord 格式）、基于 ResNet-101 的预训练模型加载流程以及详细的训练指令，帮助用户快速复现论文效果，在 PASCAL VOC 数据","tensorflow-deeplab-v3-plus 是一个基于 TensorFlow 框架实现的开源项目，旨在复现先进的 DeepLabv3+ 语义分割模型。它主要解决计算机视觉中“像素级图像理解”的难题，能够精准识别并勾勒出图像中每个物体（如行人、车辆、道路等）的轮廓，广泛应用于自动驾驶环境感知、医疗影像分析及卫星地图处理等领域。\n\n该项目特别适合具备一定编程基础的 AI 开发者、算法研究人员及高校学生使用。用户可以直接利用它在 PASCAL VOC 和 Cityscapes 等主流数据集上进行模型训练、评估与推理，无需从零搭建复杂的网络架构。\n\n其核心技术亮点在于采用了“编码器 - 解码器”结构，并结合了空洞可分离卷积（Atrous Separable Convolution）技术。这种设计不仅有效扩大了感受野以捕捉多尺度上下文信息，还显著降低了计算量，在保持高精度的同时提升了运行效率。项目中包含了完整的数据预处理脚本（支持转换为 TFRecord 格式）、基于 ResNet-101 的预训练模型加载流程以及详细的训练指令，帮助用户快速复现论文效果，在 PASCAL VOC 数据集上即可达到约 77.31% 的平均交并比（mIoU），是学习和部署语义分割任务的实用工具。","# DeepLab-v3-plus Semantic Segmentation in TensorFlow\n\nThis repo attempts to reproduce [Encoder-Decoder with Atrous Separable Convolution for Semantic Image Segmentation (DeepLabv3+)](https:\u002F\u002Farxiv.org\u002Fabs\u002F1802.02611) in \nTensorFlow for semantic image segmentation on the\n [PASCAL VOC dataset](http:\u002F\u002Fhost.robots.ox.ac.uk\u002Fpascal\u002FVOC\u002F) and [Cityscapes dataset](https:\u002F\u002Fwww.cityscapes-dataset.com\u002F).\n The implementation is largely based on\n [my DeepLabv3 implementation](https:\u002F\u002Fgithub.com\u002Frishizek\u002Ftensorflow-deeplab-v3),\n which was originally based on\n [DrSleep's DeepLab v2 implemantation](https:\u002F\u002Fgithub.com\u002FDrSleep\u002Ftensorflow-deeplab-resnet)\n and [tensorflow models Resnet implementation](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Fmodels\u002Ftree\u002Fmaster\u002Fofficial\u002Fresnet).\n \n\n## Setup\n### Requirements:\n- tensorflow >=1.6\n- numpy\n- matplotlib\n- pillow\n- opencv-python\n\nYou can install the requirements by running `pip install -r requirements.txt`.\n\n## Dataset Preparation\nThis project uses the [TFRecord format](https:\u002F\u002Fwww.tensorflow.org\u002Fapi_guides\u002Fpython\u002Fpython_io#tfrecords_format_details) to consume data in the training and evaluation process. Creating a TFRecord from raw image files is pretty straight forward and will be covered here.\n\n### Cityscapes\n\n\n*Note:* **This project includes a script for creating a TFRecord for Cityscapes and Pascal VOC**, but not other datasets.\n### Creating TFRecords for Cityscapes\n\nIn order to download the Cityscapes dataset, you must first register with their [website](https:\u002F\u002Fwww.cityscapes-dataset.com\u002F). After this, make sure to download both `leftImg8bit` and `gtFine`. You should end up with a folder that will be in the structure\n\n```\n+ cityscapes\n + leftImg8bit\n + gtFine\n```\n\nNext, in order to generate training labels for the dataset, clone cityScapesScripts project\n\n```\ngit clone https:\u002F\u002Fgithub.com\u002Fmcordts\u002FcityscapesScripts.git\ncd cityscapesScripts\n```\n\nThen from the root of your cityscapes dataset run\n\n```\n# must have $CITYSCAPES_ROOT defined\npython cityscapesscripts\u002Fpreparation\u002FcreateTrainIdLabelImgs.py\n```\nFinally, you can now run the conversion script `create_cityscapes_tf_record.py` provided in this repository.\n\n### Pascal VOC\n- Download and extract \n[PASCAL VOC training\u002Fvalidation data](http:\u002F\u002Fhost.robots.ox.ac.uk\u002Fpascal\u002FVOC\u002Fvoc2012\u002FVOCtrainval_11-May-2012.tar) \n(2GB tar file), specifying the location with the `--data_dir`.  \n- Download and extract \n[augmented segmentation data](https:\u002F\u002Fwww.dropbox.com\u002Fs\u002Foeu149j8qtbs1x0\u002FSegmentationClassAug.zip?dl=0) \n(Thanks to DrSleep), specifying the location with `--data_dir` and `--label_data_dir`\n(namely, `$data_dir\u002F$label_data_dir`).\n\n### Creating TFRecords for Pascal VOC\nOnce you have the dataset available, you can create tf records for pascal voc by running the following\n```bash\npython create_pascal_tf_record.py --data_dir DATA_DIR \\\n                                  --image_data_dir IMAGE_DATA_DIR \\\n                                  --label_data_dir LABEL_DATA_DIR \n```\n\n## Training\nFor training, you need to download and extract [pre-trained Resnet v2 101 model](http:\u002F\u002Fdownload.tensorflow.org\u002Fmodels\u002Fresnet_v2_101_2017_04_14.tar.gz) from [slim](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Fmodels\u002Ftree\u002Fmaster\u002Fresearch\u002Fslim) specifying the location with `--pre_trained_model`. You also need to convert original data to the TensorFlow TFRecord format. Once you have followed all the steps in dataset preparation and created TFrecord for training and validation data, you can start training model as follow:\n```bash\npython train.py --model_dir MODEL_DIR --pre_trained_model PRE_TRAINED_MODEL\n```\nHere, `--pre_trained_model` contains the pre-trained Resnet model, whereas \n`--model_dir` contains the trained DeepLabv3+ checkpoints. \nIf `--model_dir` contains the valid checkpoints, the model is trained from the \nspecified checkpoint in `--model_dir`.\n\nYou can see other options with the following command:\n```bash\npython train.py --help\n```\nFor inference the trained model with `77.31%` mIoU on the Pascal VOC 2012 validation dataset\n is available \n[here](https:\u002F\u002Fwww.dropbox.com\u002Fs\u002F1xrd4c5atyrkb6z\u002Fdeeplabv3plus_ver1.tar.gz?dl=0). Download and extract to \n`--model_dir`.\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Frishizek_tensorflow-deeplab-v3-plus_readme_b31d8aea3cd7.png\" width=892 height=584>\n\u003C\u002Fp>\n\nThe training process can be visualized with Tensor Board as follow:\n```bash\ntensorboard --logdir MODEL_DIR\n```\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Frishizek_tensorflow-deeplab-v3-plus_readme_d1596d59f55d.png\" width=892 height=318>\n\n\u003C\u002Fp>\n\n## Evaluation\nTo evaluate how model perform, one can use the following command:\n```bash\npython evaluate.py --help\n```\nThe current best model build by this implementation achieves `77.31%` mIoU on the Pascal VOC 2012 \nvalidation dataset. \n\n| Network Backbone | train OS | eval OS | SC  | mIOU paper  | mIOU repo  |\n|:----------------:|:--------:|:-------:|:---:|:-----------:|:----------:|\n| Resnet101        | 16       | 16      |     | 78.85%      | **77.31%** | \n\nHere, the above model was trained about 9.5 hours (with Tesla V100 and r1.6) with following parameters:\n```bash\npython train.py --train_epochs 43 --batch_size 15 --weight_decay 2e-4 --model_dir models\u002Fba=15,wd=2e-4,max_iter=30k --max_iter 30000\n```\n\n## Inference\nTo apply semantic segmentation to your images, one can use the following commands:\n```bash\npython inference.py --data_dir DATA_DIR --infer_data_list INFER_DATA_LIST --model_dir MODEL_DIR \n```\nThe trained model is available [here](https:\u002F\u002Fwww.dropbox.com\u002Fs\u002F1xrd4c5atyrkb6z\u002Fdeeplabv3plus_ver1.tar.gz?dl=0).\nOne can find the detailed explanation of mask such as meaning of color in \n[DrSleep's repo](https:\u002F\u002Fgithub.com\u002FDrSleep\u002Ftensorflow-deeplab-resnet).\n\n## TODO:\nPull requests are welcome.\n- [x] Implement Decoder\n- [x] Resnet as Network Backbone\n- [x] Training on cityscapes\n- [ ] Xception as Network Backbone\n- [ ] Implement depthwise separable convolutions\n- [ ] Make network more GPU memory efficient (i.e. support larger batch size)\n- [ ] Multi-GPU support\n- [ ] Channels first support (Apparently large performance boost on GPU)\n- [ ] Model pretrained on MS-COCO\n- [ ] Unit test\n\n## Acknowledgment\nThis repo borrows code heavily from \n- [DrSleep's DeepLab-ResNet (DeepLabv2)](https:\u002F\u002Fgithub.com\u002FDrSleep\u002Ftensorflow-deeplab-resnet)\n- [TensorFlow Official Models](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Fmodels\u002Ftree\u002Fmaster\u002Fofficial)\n- [Tensorflow Object Detection API](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Fmodels\u002Ftree\u002Fmaster\u002Fresearch\u002Fobject_detection)\n- [TensorFlow-Slim](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Fmodels\u002Ftree\u002Fmaster\u002Fresearch\u002Fslim) \n- [TensorFlow](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftensorflow)\n","# TensorFlow 中的 DeepLab-v3-plus 语义分割\n\n本仓库尝试在 TensorFlow 中复现 [用于语义图像分割的带空洞可分离卷积的编码器-解码器模型（DeepLabv3+）](https:\u002F\u002Farxiv.org\u002Fabs\u002F1802.02611)，以在 [PASCAL VOC 数据集](http:\u002F\u002Fhost.robots.ox.ac.uk\u002Fpascal\u002FVOC\u002F) 和 [Cityscapes 数据集](https:\u002F\u002Fwww.cityscapes-dataset.com\u002F) 上进行语义图像分割。该实现主要基于 [我的 DeepLabv3 实现](https:\u002F\u002Fgithub.com\u002Frishizek\u002Ftensorflow-deeplab-v3)，而后者最初则参考了 [DrSleep 的 DeepLab v2 实现](https:\u002F\u002Fgithub.com\u002FDrSleep\u002Ftensorflow-deeplab-resnet) 以及 [TensorFlow 模型库中的 ResNet 实现](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Fmodels\u002Ftree\u002Fmaster\u002Fofficial\u002Fresnet)。\n\n## 环境搭建\n### 需求：\n- tensorflow >=1.6\n- numpy\n- matplotlib\n- pillow\n- opencv-python\n\n您可以通过运行 `pip install -r requirements.txt` 来安装这些依赖项。\n\n## 数据集准备\n该项目使用 [TFRecord 格式](https:\u002F\u002Fwww.tensorflow.org\u002Fapi_guides\u002Fpython\u002Fpython_io#tfrecords_format_details) 来处理训练和评估过程中的数据。从原始图像文件创建 TFRecord 文件非常简单，我们将在下面介绍具体步骤。\n\n### Cityscapes\n\n*注意：* **本项目包含用于生成 Cityscapes 和 Pascal VOC 数据集 TFRecord 文件的脚本**，但不支持其他数据集。\n\n#### 为 Cityscapes 创建 TFRecord 文件\n\n要下载 Cityscapes 数据集，您首先需要在其 [官网](https:\u002F\u002Fwww.cityscapes-dataset.com\u002F) 上注册。注册后，请确保同时下载 `leftImg8bit` 和 `gtFine` 数据集。最终的文件夹结构应如下所示：\n\n```\n+ cityscapes\n + leftImg8bit\n + gtFine\n```\n\n接下来，为了生成数据集的训练标签，克隆 cityScapesScripts 项目：\n\n```\ngit clone https:\u002F\u002Fgithub.com\u002Fmcordts\u002FcityscapesScripts.git\ncd cityscapesScripts\n```\n\n然后，在您的 Cityscapes 数据集根目录下运行：\n\n```\n# 必须定义 $CITYSCAPES_ROOT 变量\npython cityscapesscripts\u002Fpreparation\u002FcreateTrainIdLabelImgs.py\n```\n\n最后，您可以运行本仓库提供的转换脚本 `create_cityscapes_tf_record.py`。\n\n### Pascal VOC\n- 下载并解压 [PASCAL VOC 训练\u002F验证数据](http:\u002F\u002Fhost.robots.ox.ac.uk\u002Fpascal\u002FVOC\u002Fvoc2012\u002FVOCtrainval_11-May-2012.tar)（2GB 的 tar 文件），通过 `--data_dir` 参数指定保存路径。\n- 下载并解压 [增强版分割数据](https:\u002F\u002Fwww.dropbox.com\u002Fs\u002Foeu149j8qtbs1x0\u002FSegmentationClassAug.zip?dl=0)（感谢 DrSleep），同样通过 `--data_dir` 和 `--label_data_dir` 参数指定保存路径（即 `$data_dir\u002F$label_data_dir`）。\n\n#### 为 Pascal VOC 创建 TFRecord 文件\n\n准备好数据集后，您可以通过以下命令为 Pascal VOC 创建 TFRecord 文件：\n\n```bash\npython create_pascal_tf_record.py --data_dir DATA_DIR \\\n                                  --image_data_dir IMAGE_DATA_DIR \\\n                                  --label_data_dir LABEL_DATA_DIR \n```\n\n## 训练\n在训练之前，您需要从 [slim](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Fmodels\u002Ftree\u002Fmaster\u002Fresearch\u002Fslim) 下载并解压 [预训练的 Resnet v2 101 模型](http:\u002F\u002Fdownload.tensorflow.org\u002Fmodels\u002Fresnet_v2_101_2017_04_14.tar.gz)，并通过 `--pre_trained_model` 参数指定其保存路径。此外，您还需要将原始数据转换为 TensorFlow 的 TFRecord 格式。完成数据集准备的所有步骤并创建好训练和验证数据的 TFRecord 文件后，即可开始训练模型：\n\n```bash\npython train.py --model_dir MODEL_DIR --pre_trained_model PRE_TRAINED_MODEL\n```\n\n其中，`--pre_trained_model` 指的是预训练的 Resnet 模型，而 `--model_dir` 则用于保存训练好的 DeepLabv3+ 检查点。如果 `--model_dir` 中已存在有效的检查点，则模型将从该检查点继续训练。\n\n您还可以通过以下命令查看其他可用选项：\n\n```bash\npython train.py --help\n```\n\n对于在 Pascal VOC 2012 验证集上达到 `77.31%` mIoU 的训练模型推理结果，您可以从 [这里](https:\u002F\u002Fwww.dropbox.com\u002Fs\u002F1xrd4c5atyrkb6z\u002Fdeeplabv3plus_ver1.tar.gz?dl=0) 下载并解压到 `--model_dir` 目录中。\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Frishizek_tensorflow-deeplab-v3-plus_readme_b31d8aea3cd7.png\" width=892 height=584>\n\u003C\u002Fp>\n\n训练过程可以通过 TensorBoard 进行可视化，命令如下：\n\n```bash\ntensorboard --logdir MODEL_DIR\n```\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Frishizek_tensorflow-deeplab-v3-plus_readme_d1596d59f55d.png\" width=892 height=318>\n\u003C\u002Fp>\n\n## 评估\n要评估模型性能，可以使用以下命令：\n\n```bash\npython evaluate.py --help\n```\n\n目前，本实现所构建的最佳模型在 Pascal VOC 2012 验证集上的 mIoU 达到 `77.31%`。\n\n| 网络主干 | 训练操作系统 | 评估操作系统 | SC  | 论文中的 mIoU | 仓库中的 mIoU |\n|:----------------:|:--------:|:-------:|:---:|:-----------:|:----------:|\n| Resnet101        | 16       | 16      |     | 78.85%      | **77.31%** | \n\n上述模型是在 Tesla V100 显卡和 TensorFlow 1.6 环境下，使用以下参数训练约 9.5 小时得到的：\n\n```bash\npython train.py --train_epochs 43 --batch_size 15 --weight_decay 2e-4 --model_dir models\u002Fba=15,wd=2e-4,max_iter=30k --max_iter 30000\n```\n\n## 推理\n要对您的图像应用语义分割，可以使用以下命令：\n\n```bash\npython inference.py --data_dir DATA_DIR --infer_data_list INFER_DATA_LIST --model_dir MODEL_DIR \n```\n\n训练好的模型可以从 [这里](https:\u002F\u002Fwww.dropbox.com\u002Fs\u002F1xrd4c5atyrkb6z\u002Fdeeplabv3plus_ver1.tar.gz?dl=0) 下载。关于掩码的详细说明，例如颜色含义等信息，可以在 [DrSleep 的仓库](https:\u002F\u002Fgithub.com\u002FDrSleep\u002Ftensorflow-deeplab-resnet) 中找到。\n\n## 待办事项：\n欢迎提交 Pull Request。\n- [x] 实现解码器\n- [x] 使用 ResNet 作为网络主干\n- [x] 在 Cityscapes 数据集上进行训练\n- [ ] 使用 Xception 作为网络主干\n- [ ] 实现深度可分离卷积\n- [ ] 提高网络对 GPU 内存的利用率（例如支持更大的批量大小）\n- [ ] 支持多 GPU 训练\n- [ ] 支持通道优先的内存布局（据称可在 GPU 上显著提升性能）\n- [ ] 使用 MS-COCO 数据集预训练模型\n- [ ] 编写单元测试\n\n## 致谢\n本仓库大量借鉴了以下项目的代码：\n- [DrSleep 的 DeepLab-ResNet（DeepLabv2）](https:\u002F\u002Fgithub.com\u002FDrSleep\u002Ftensorflow-deeplab-resnet)\n- [TensorFlow 官方模型库](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Fmodels\u002Ftree\u002Fmaster\u002Fofficial)\n- [TensorFlow 物体检测 API](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Fmodels\u002Ftree\u002Fmaster\u002Fresearch\u002Fobject_detection)\n- [TensorFlow-Slim](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Fmodels\u002Ftree\u002Fmaster\u002Fresearch\u002Fslim)\n- [TensorFlow](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Ftensorflow)","# tensorflow-deeplab-v3-plus 快速上手指南\n\n本指南帮助中国开发者快速部署并使用基于 TensorFlow 的 DeepLabv3+ 语义分割模型。\n\n## 环境准备\n\n### 系统要求\n- **Python**: 建议 Python 3.6+\n- **TensorFlow**: 版本 >= 1.6 (注意：此项目基于 TF 1.x，不直接兼容 TF 2.x)\n- **GPU**: 推荐使用 NVIDIA GPU 以加速训练和推理（可选，但强烈推荐）\n\n### 前置依赖\n请确保已安装以下 Python 库：\n- `numpy`\n- `matplotlib`\n- `pillow`\n- `opencv-python`\n\n> **国内加速建议**：在安装依赖时，建议使用清华或阿里镜像源以提升下载速度。\n> 例如：`pip install -r requirements.txt -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple`\n\n## 安装步骤\n\n1. **克隆仓库**\n   ```bash\n   git clone https:\u002F\u002Fgithub.com\u002Frishizek\u002Ftensorflow-deeplab-v3-plus.git\n   cd tensorflow-deeplab-v3-plus\n   ```\n\n2. **安装依赖**\n   ```bash\n   pip install -r requirements.txt\n   ```\n   *(国内用户推荐添加 `-i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple`)*\n\n3. **下载预训练模型 (可选，用于直接推理)**\n   如果仅需进行推理测试，可下载作者在 Pascal VOC 上训练的模型 (mIoU 77.31%)：\n   ```bash\n   # 手动下载链接: https:\u002F\u002Fwww.dropbox.com\u002Fs\u002F1xrd4c5atyrkb6z\u002Fdeeplabv3plus_ver1.tar.gz?dl=0\n   # 下载后解压到指定目录，例如 models\u002F\n   ```\n\n## 基本使用\n\n### 1. 数据集准备 (以 Pascal VOC 为例)\n本项目使用 TFRecord 格式数据。你需要先下载原始数据并转换为 TFRecord。\n\n- **下载数据**：\n  - [PASCAL VOC train\u002Fval](http:\u002F\u002Fhost.robots.ox.ac.uk\u002Fpascal\u002FVOC\u002Fvoc2012\u002FVOCtrainval_11-May-2012.tar)\n  - [增强分割数据 (SegmentationClassAug)](https:\u002F\u002Fwww.dropbox.com\u002Fs\u002Foeu149j8qtbs1x0\u002FSegmentationClassAug.zip?dl=0)\n\n- **生成 TFRecord**：\n  将数据解压后，运行以下脚本生成训练所需的 `.tfrecord` 文件：\n  ```bash\n  python create_pascal_tf_record.py --data_dir DATA_DIR \\\n                                    --image_data_dir IMAGE_DATA_DIR \\\n                                    --label_data_dir LABEL_DATA_DIR\n  ```\n  *注：请将 `DATA_DIR` 等替换为你本地的实际路径。*\n\n### 2. 模型训练\n在开始训练前，需下载预训练的 ResNet v2 101 backbone 模型：\n- 下载地址：[resnet_v2_101_2017_04_14.tar.gz](http:\u002F\u002Fdownload.tensorflow.org\u002Fmodels\u002Fresnet_v2_101_2017_04_14.tar.gz)\n\n执行训练命令：\n```bash\npython train.py --model_dir models\u002Fmy_experiment \\\n                --pre_trained_model \u002Fpath\u002Fto\u002Fresnet_v2_101.ckpt\n```\n- `--model_dir`: 保存训练检查点的目录。\n- `--pre_trained_model`: 预训练 ResNet 模型的路径。\n\n**可视化训练过程**：\n```bash\ntensorboard --logdir models\u002Fmy_experiment\n```\n\n### 3. 模型推理 (Inference)\n使用训练好的模型对你的图片进行语义分割：\n\n```bash\npython inference.py --data_dir \u002Fpath\u002Fto\u002Fimages \\\n                    --infer_data_list image_list.txt \\\n                    --model_dir models\u002Fmy_experiment\n```\n- `--data_dir`: 包含待处理图片的文件夹。\n- `--infer_data_list`: 包含待处理图片文件名的文本列表。\n- `--model_dir`: 存放训练好模型检查点的目录。\n\n生成的分割掩码（Mask）颜色含义可参考原项目引用的 DrSleep 仓库文档。","某自动驾驶初创公司的算法团队正致力于提升车辆对复杂城市道路环境的感知能力，需要精准识别车道线、行人及各类障碍物。\n\n### 没有 tensorflow-deeplab-v3-plus 时\n- **分割精度不足**：传统语义分割模型在处理城市街景中细小的车道线和边缘模糊的物体时，往往出现断裂或误判，导致导航决策失误。\n- **开发复现困难**：团队需从零搭建 DeepLabv3+ 架构，手动调试空洞可分离卷积等复杂模块，耗费数周时间仍难以复现论文中的高精度效果。\n- **数据适配繁琐**：缺乏针对 Cityscapes 和 PASCAL VOC 等主流数据集的标准预处理脚本，清洗数据和转换为训练格式（TFRecord）占据了大量工程精力。\n- **训练收敛缓慢**：由于缺少成熟的预训练 ResNet 骨干网络支持，模型从头训练耗时极长且容易陷入局部最优，难以快速迭代验证想法。\n\n### 使用 tensorflow-deeplab-v3-plus 后\n- **边缘细节清晰**：利用其编码器 - 解码器结构与空洞卷积特性，模型能精准捕捉道路边界和微小物体，显著提升了复杂路况下的分割完整性。\n- **开箱即用高效**：直接复用仓库中基于 TensorFlow 的高保真实现，团队当天即可启动实验，将原本数周的环境搭建与代码调试工作压缩至几小时。\n- **数据流程标准化**：借助内置的脚本一键生成 Cityscapes 和 PASCAL VOC 的 TFRecord 文件，彻底解决了数据格式转换的痛点，让工程师专注于算法优化。\n- **迁移学习加速**：轻松加载预训练的 ResNet v2 101 模型进行微调，不仅大幅缩短训练周期，更在验证集上快速达到了 77% 以上的 mIoU 高性能指标。\n\ntensorflow-deeplab-v3-plus 通过提供工业级可用的复现代码与完整数据链路，帮助团队将研发重心从底层基建回归到核心算法创新，极大加速了自动驾驶感知系统的落地进程。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Frishizek_tensorflow-deeplab-v3-plus_d1596d59.png","rishizek","Riei Ishizeki","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Frishizek_28d31191.png","Data Science Consultant",null,"Tokyo, Japan","https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Fishizeki-riei-146125139\u002F","https:\u002F\u002Fgithub.com\u002Frishizek",[82],{"name":83,"color":84,"percentage":85},"Python","#3572A5",100,840,304,"2026-03-18T01:13:39","MIT",4,"未说明","需要 NVIDIA GPU（文中提及使用 Tesla V100 进行训练），显存需求未明确说明但建议支持更大 batch size，CUDA 版本未说明",{"notes":94,"python":91,"dependencies":95},"该项目基于 TensorFlow 1.6+，需预先下载并配置 ResNet v2 101 预训练模型。数据集需转换为 TFRecord 格式方可使用。文中提到在 Tesla V100 上训练约需 9.5 小时，且 TODO 列表中提及需优化 GPU 显存效率以支持更大批量，暗示显存消耗较大。",[96,97,98,99,100],"tensorflow>=1.6","numpy","matplotlib","pillow","opencv-python",[14],[103,104,105,106,107,108],"deeplabv3plus","deeplabv3","pascal-voc","deeplab","tensorflow","deeplab-resnet","2026-03-27T02:49:30.150509","2026-04-06T21:11:21.759644",[112,117,122,127,131,135],{"id":113,"question_zh":114,"answer_zh":115,"source_url":116},20053,"在多 GPU 环境下使用 tf.dynamic_partition 导致 Loss 为 NaN，单 GPU 正常，如何解决？","这是一个已知的 TensorFlow Bug。如果在多 GPU 训练时遇到此问题，建议将代码中的 `tf.dynamic_partition` 替换为 `tf.boolean_mask`。此外，实现多 GPU 训练的推荐方法是使用 `tf.contrib.estimator.replicate_model_fn`。主要步骤包括：1. 将数据分割并放置到每个 GPU；2. 在每个 GPU 上放置模型（注意 `reuse` 参数）；3. 平均 Loss 或求和后平均梯度（注意 BN 层及其 `update_ops`）；4. 更新变量。","https:\u002F\u002Fgithub.com\u002Frishizek\u002Ftensorflow-deeplab-v3-plus\u002Fissues\u002F36",{"id":118,"question_zh":119,"answer_zh":120,"source_url":121},20054,"运行推理时出现 'Checkpoint ignored' 或 'Message type has no field named all_model_checkpoint_path' 警告，无法加载预训练模型怎么办？","这通常是因为下载的官方预训练模型（如 xception_65 on ade20k）的 checkpoint 文件格式与当前代码期望的格式不完全兼容，或者模型目录路径配置错误。确保 `model_dir` 指向包含 checkpoint 文件的正确文件夹。如果使用的是官方提供的 tar.gz 包，请解压后确认目录下有有效的 checkpoint 文件。有时需要检查 TensorFlow 版本兼容性，或者尝试重新初始化模型进行预测（代码会自动处理初始化）。","https:\u002F\u002Fgithub.com\u002Frishizek\u002Ftensorflow-deeplab-v3-plus\u002Fissues\u002F33",{"id":123,"question_zh":124,"answer_zh":125,"source_url":126},20055,"运行 create_pascal_tf_record.py 时报错 'Missing Augmentation label directory' 如何解决？","该错误表示缺少增强版的标签数据。你需要下载增强的标签文件（SegmentationClassAug.zip）。下载地址通常为：https:\u002F\u002Fwww.dropbox.com\u002Fs\u002Foeu149j8qtbs1x0\u002FSegmentationClassAug.zip (感谢 DrSleep 提供)。下载并解压后，确保在运行脚本时，通过 `--data_dir`, `--image_data_dir`, 和 `--label_data_dir` 参数指定正确的文件夹路径。","https:\u002F\u002Fgithub.com\u002Frishizek\u002Ftensorflow-deeplab-v3-plus\u002Fissues\u002F13",{"id":128,"question_zh":129,"answer_zh":130,"source_url":126},20056,"在指定数据目录路径时有什么注意事项以避免潜在错误？","在设置 `DATA_DIR`, `IMAGE_DATA_DIR` 和 `LABEL_DATA_DIR` 时，请务必指定正确的绝对或相对路径。特别重要的是，尽量避免在文件夹名称中使用空格（例如避免使用 \"DeepGlobe Land Cover\" 这样的名字），因为空格在某些脚本解析过程中会导致路径识别错误或程序崩溃。建议使用下划线或连字符代替空格。",{"id":132,"question_zh":133,"answer_zh":134,"source_url":121},20057,"如何处理单通道图像以适配需要三通道输入的模型？","如果模型默认需要 3 通道输入（如 RGB），而你只有单通道图像（如灰度图），可以通过简单的复制通道操作将其转换为 3 通道。例如，在代码中使用 `cat` 操作或 `tf.tile` 将单通道数据沿通道维度复制 3 次，使其变为 3 通道格式，这样即可正常进行推理或训练。",{"id":136,"question_zh":137,"answer_zh":138,"source_url":139},20058,"使用自定义小数据集训练时，为什么保存 checkpoint 过于频繁且训练显得不合理？","这通常是因为数据集太小，导致每个 epoch 的步数（steps）很少，而默认的保存策略是基于 step 数的。如果希望减少保存频率或调整评估行为，需要修改训练脚本中关于 `save_checkpoints_steps` 或 `save_checkpoints_secs` 的配置。对于小数据集，建议增加保存间隔的步数，或者改为按时间间隔保存，以避免生成过多的 checkpoint 文件并频繁触发评估。","https:\u002F\u002Fgithub.com\u002Frishizek\u002Ftensorflow-deeplab-v3-plus\u002Fissues\u002F43",[]]