[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-lufficc--SSD":3,"tool-lufficc--SSD":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 真正成长为懂上",159636,2,"2026-04-17T23:33:34",[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 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108322,"2026-04-10T11:39:34",[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},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[52,13,15,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":32,"last_commit_at":59,"category_tags":60,"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":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":75,"owner_twitter":75,"owner_website":78,"owner_url":79,"languages":80,"stars":85,"forks":86,"last_commit_at":87,"license":88,"difficulty_score":32,"env_os":89,"env_gpu":90,"env_ram":89,"env_deps":91,"category_tags":101,"github_topics":102,"view_count":32,"oss_zip_url":75,"oss_zip_packed_at":75,"status":17,"created_at":108,"updated_at":109,"faqs":110,"releases":140},8729,"lufficc\u002FSSD","SSD","High quality, fast, modular reference implementation of SSD in PyTorch","SSD 是一个基于 PyTorch 1.0+ 构建的高质量、快速且模块化的单发多框检测器（Single Shot MultiBox Detector）参考实现。它旨在为计算机视觉领域的目标检测任务提供一套标准、高效的代码基座，帮助开发者轻松复现经典算法并在此基础上进行创新研究。\n\n针对传统深度学习框架中代码耦合度高、难以扩展以及多显卡训练配置复杂等痛点，SSD 通过高度抽象的模块化设计给出了优雅解决方案。用户无需修改核心代码库，即可自由替换骨干网络（如 EfficientNet）、检测头或预测器等组件，极大地降低了定制模型的门槛。此外，它还原生支持多显卡分布式训练与推理、CPU 推理、断点续训以及训练过程中的实时指标可视化（如 mAP），让实验流程更加顺畅可控。\n\n这款工具特别适合人工智能研究人员、算法工程师及深度学习开发者使用。无论是希望快速验证新想法的学术研究者，还是需要构建高性能检测系统的工程团队，都能利用其灵活的架构和完善的训练评估功能，高效地开展工作。安装过程也极为简便，无需复杂的编译步骤，配置好依赖后即可直接运行，是探索目标检测技术的理想起点。","# High quality, fast, modular reference implementation of SSD in PyTorch 1.0\n\n\nThis repository implements [SSD (Single Shot MultiBox Detector)](https:\u002F\u002Farxiv.org\u002Fabs\u002F1512.02325). The implementation is heavily influenced by the projects [ssd.pytorch](https:\u002F\u002Fgithub.com\u002Famdegroot\u002Fssd.pytorch), [pytorch-ssd](https:\u002F\u002Fgithub.com\u002Fqfgaohao\u002Fpytorch-ssd) and [maskrcnn-benchmark](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fmaskrcnn-benchmark). This repository aims to be the code base for researches based on SSD.\n\n\u003Cdiv align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Flufficc_SSD_readme_ba61b15a4e39.jpg\" width=\"500px\" \u002F>\n  \u003Cp>Example SSD output (vgg_ssd300_voc0712).\u003C\u002Fp>\n\u003C\u002Fdiv>\n\n| Losses        | Learning rate | Metrics |\n| :-----------: |:-------------:| :------:|\n| ![losses](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Flufficc_SSD_readme_acdfb060c927.png) | ![lr](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Flufficc_SSD_readme_41c6b03d0e1b.png) | ![metric](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Flufficc_SSD_readme_a33e769c13f2.png) |\n\n## Highlights\n\n- **PyTorch 1.0**: Support PyTorch 1.0 or higher.\n- **Multi-GPU training and inference**: We use `DistributedDataParallel`, you can train or test with arbitrary GPU(s), the training schema will change accordingly.\n- **Modular**: Add your own modules without pain. We abstract `backbone`,`Detector`, `BoxHead`, `BoxPredictor`, etc. You can replace every component with your own code without change the code base. For example, You can add [EfficientNet](https:\u002F\u002Fgithub.com\u002Flukemelas\u002FEfficientNet-PyTorch) as backbone, just add `efficient_net.py` (ALREADY ADDED) and register it, specific it in the config file, It's done!\n- **CPU support for inference**: runs on CPU in inference time.\n- **Smooth and enjoyable training procedure**: we save the state of model, optimizer, scheduler, training iter, you can stop your training and resume training exactly from the save point without change your training `CMD`.\n- **Batched inference**: can perform inference using multiple images per batch per GPU.\n- **Evaluating during training**: eval you model every `eval_step` to check performance improving or not.\n- **Metrics Visualization**: visualize metrics details in tensorboard, like AP, APl, APm and APs for COCO dataset or mAP and 20 categories' AP for VOC dataset.\n- **Auto download**: load pre-trained weights from URL and cache it.\n## Installation\n### Requirements\n\n1. Python3\n1. PyTorch 1.0 or higher\n1. yacs\n1. [Vizer](https:\u002F\u002Fgithub.com\u002Flufficc\u002FVizer)\n1. GCC >= 4.9\n1. OpenCV\n\n\n### Step-by-step installation\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Flufficc\u002FSSD.git\ncd SSD\n# Required packages: torch torchvision yacs tqdm opencv-python vizer\npip install -r requirements.txt\n\n# Done! That's ALL! No BUILD! No bothering SETUP!\n\n# It's recommended to install the latest release of torch and torchvision.\n```\n\n\n## Train\n\n### Setting Up Datasets\n#### Pascal VOC\n\nFor Pascal VOC dataset, make the folder structure like this:\n```\nVOC_ROOT\n|__ VOC2007\n    |_ JPEGImages\n    |_ Annotations\n    |_ ImageSets\n    |_ SegmentationClass\n|__ VOC2012\n    |_ JPEGImages\n    |_ Annotations\n    |_ ImageSets\n    |_ SegmentationClass\n|__ ...\n```\nWhere `VOC_ROOT` default is `datasets` folder in current project, you can create symlinks to `datasets` or `export VOC_ROOT=\"\u002Fpath\u002Fto\u002Fvoc_root\"`.\n\n#### COCO\n\nFor COCO dataset, make the folder structure like this:\n```\nCOCO_ROOT\n|__ annotations\n    |_ instances_valminusminival2014.json\n    |_ instances_minival2014.json\n    |_ instances_train2014.json\n    |_ instances_val2014.json\n    |_ ...\n|__ train2014\n    |_ \u003Cim-1-name>.jpg\n    |_ ...\n    |_ \u003Cim-N-name>.jpg\n|__ val2014\n    |_ \u003Cim-1-name>.jpg\n    |_ ...\n    |_ \u003Cim-N-name>.jpg\n|__ ...\n```\nWhere `COCO_ROOT` default is `datasets` folder in current project, you can create symlinks to `datasets` or `export COCO_ROOT=\"\u002Fpath\u002Fto\u002Fcoco_root\"`.\n\n### Single GPU training\n\n```bash\n# for example, train SSD300:\npython train.py --config-file configs\u002Fvgg_ssd300_voc0712.yaml\n```\n### Multi-GPU training\n\n```bash\n# for example, train SSD300 with 4 GPUs:\nexport NGPUS=4\npython -m torch.distributed.launch --nproc_per_node=$NGPUS train.py --config-file configs\u002Fvgg_ssd300_voc0712.yaml SOLVER.WARMUP_FACTOR 0.03333 SOLVER.WARMUP_ITERS 1000\n```\nThe configuration files that I provide assume that we are running on single GPU. When changing number of GPUs, hyper-parameter (lr, max_iter, ...) will also changed according to this paper: [Accurate, Large Minibatch SGD: Training ImageNet in 1 Hour](https:\u002F\u002Farxiv.org\u002Fabs\u002F1706.02677).\n\n## Evaluate\n\n### Single GPU evaluating\n\n```bash\n# for example, evaluate SSD300:\npython test.py --config-file configs\u002Fvgg_ssd300_voc0712.yaml\n```\n\n### Multi-GPU evaluating\n\n```bash\n# for example, evaluate SSD300 with 4 GPUs:\nexport NGPUS=4\npython -m torch.distributed.launch --nproc_per_node=$NGPUS test.py --config-file configs\u002Fvgg_ssd300_voc0712.yaml\n```\n\n## Demo\n\nPredicting image in a folder is simple:\n```bash\npython demo.py --config-file configs\u002Fvgg_ssd300_voc0712.yaml --images_dir demo --ckpt https:\u002F\u002Fgithub.com\u002Flufficc\u002FSSD\u002Freleases\u002Fdownload\u002F1.2\u002Fvgg_ssd300_voc0712.pth\n```\nThen it will download and cache `vgg_ssd300_voc0712.pth` automatically and predicted images with boxes, scores and label names will saved to `demo\u002Fresult` folder by default.\n\nYou will see a similar output:\n```text\n(0001\u002F0005) 004101.jpg: objects 01 | load 010ms | inference 033ms | FPS 31\n(0002\u002F0005) 003123.jpg: objects 05 | load 009ms | inference 019ms | FPS 53\n(0003\u002F0005) 000342.jpg: objects 02 | load 009ms | inference 019ms | FPS 51\n(0004\u002F0005) 008591.jpg: objects 02 | load 008ms | inference 020ms | FPS 50\n(0005\u002F0005) 000542.jpg: objects 01 | load 011ms | inference 019ms | FPS 53\n```\n\n## MODEL ZOO\n### Origin Paper:\n\n|         | VOC2007 test | coco test-dev2015 |\n| :-----: | :----------: |   :----------:    |\n| SSD300* |     77.2     |      25.1         |\n| SSD512* |     79.8     |      28.8         |\n\n### COCO:\n\n| Backbone       | Input Size  |          box AP                  | Model Size |  Download |\n| :------------: | :----------:|   :--------------------------:   | :--------: | :-------: |\n|  VGG16         |     300     |          25.2                    |  262MB     | [model](https:\u002F\u002Fgithub.com\u002Flufficc\u002FSSD\u002Freleases\u002Fdownload\u002F1.2\u002Fvgg_ssd300_coco_trainval35k.pth)   |\n|  VGG16         |     512     |          29.0                    |  275MB     | [model](https:\u002F\u002Fgithub.com\u002Flufficc\u002FSSD\u002Freleases\u002Fdownload\u002F1.2\u002Fvgg_ssd512_coco_trainval35k.pth)   |\n\n### PASCAL VOC:\n\n| Backbone         | Input Size  |          mAP                     | Model Size | Download  |\n| :--------------: | :----------:|   :--------------------------:   | :--------: | :-------: |\n|  VGG16           |     300     |          77.7                    |   201MB    | [model](https:\u002F\u002Fgithub.com\u002Flufficc\u002FSSD\u002Freleases\u002Fdownload\u002F1.2\u002Fvgg_ssd300_voc0712.pth)  |\n|  VGG16           |     512     |          80.7                    |   207MB    | [model](https:\u002F\u002Fgithub.com\u002Flufficc\u002FSSD\u002Freleases\u002Fdownload\u002F1.2\u002Fvgg_ssd512_voc0712.pth)  |\n|  Mobilenet V2    |     320     |          68.9                    |   25.5MB   | [model](https:\u002F\u002Fgithub.com\u002Flufficc\u002FSSD\u002Freleases\u002Fdownload\u002F1.2\u002Fmobilenet_v2_ssd320_voc0712_v2.pth) |\n|  Mobilenet V3    |     320     |          69.5                    |   29.9MB   | [model](https:\u002F\u002Fgithub.com\u002Flufficc\u002FSSD\u002Freleases\u002Fdownload\u002F1.2\u002Fmobilenet_v3_ssd320_voc0712.pth) |\n|  EfficientNet-B3 |     300     |          73.9                    |   97.1MB   | [model](https:\u002F\u002Fgithub.com\u002Flufficc\u002FSSD\u002Freleases\u002Fdownload\u002F1.2\u002Fefficient_net_b3_ssd300_voc0712.pth) |\n\n## Develop Guide\n\nIf you want to add your custom components, please see [DEVELOP_GUIDE.md](DEVELOP_GUIDE.md) for more details.\n\n\n## Troubleshooting\nIf you have issues running or compiling this code, we have compiled a list of common issues in [TROUBLESHOOTING.md](TROUBLESHOOTING.md). If your issue is not present there, please feel free to open a new issue.\n\n## Citations\nIf you use this project in your research, please cite this project.\n```text\n@misc{lufficc2018ssd,\n    author = {Congcong Li},\n    title = {{High quality, fast, modular reference implementation of SSD in PyTorch}},\n    year = {2018},\n    howpublished = {\\url{https:\u002F\u002Fgithub.com\u002Flufficc\u002FSSD}}\n}\n```","# 高质量、快速、模块化的 SSD PyTorch 1.0 参考实现\n\n\n本仓库实现了 [SSD（单次多框检测器）](https:\u002F\u002Farxiv.org\u002Fabs\u002F1512.02325)。该实现深受 [ssd.pytorch](https:\u002F\u002Fgithub.com\u002Famdegroot\u002Fssd.pytorch)、[pytorch-ssd](https:\u002F\u002Fgithub.com\u002Fqfgaohao\u002Fpytorch-ssd) 和 [maskrcnn-benchmark](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fmaskrcnn-benchmark) 等项目的影响。本仓库旨在成为基于 SSD 的研究代码基础。\n\n\u003Cdiv align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Flufficc_SSD_readme_ba61b15a4e39.jpg\" width=\"500px\" \u002F>\n  \u003Cp>SSD 输出示例（vgg_ssd300_voc0712）\u003C\u002Fp>\n\u003C\u002Fdiv>\n\n| 损失函数        | 学习率 | 指标 |\n| :-----------: |:-------------:| :------:|\n| ![losses](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Flufficc_SSD_readme_acdfb060c927.png) | ![lr](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Flufficc_SSD_readme_41c6b03d0e1b.png) | ![metric](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Flufficc_SSD_readme_a33e769c13f2.png) |\n\n## 亮点\n\n- **PyTorch 1.0**：支持 PyTorch 1.0 或更高版本。\n- **多 GPU 训练与推理**：我们使用 `DistributedDataParallel`，您可以使用任意数量的 GPU 进行训练或测试，训练方案会相应调整。\n- **模块化**：轻松添加自定义模块。我们抽象了 `backbone`、`Detector`、`BoxHead`、`BoxPredictor` 等组件，您可以替换其中任何部分而无需修改现有代码。例如，您可以将 [EfficientNet](https:\u002F\u002Fgithub.com\u002Flukemelas\u002FEfficientNet-PyTorch) 作为骨干网络，只需添加 `efficient_net.py`（已包含）并注册，在配置文件中指定即可，完成！\n- **推理时支持 CPU**：在推理阶段可在 CPU 上运行。\n- **流畅愉悦的训练流程**：我们会保存模型、优化器、调度器和训练迭代的状态，您可以在任意时刻停止训练，并从保存点继续，无需更改训练命令。\n- **批处理推理**：每个 GPU 每批次可同时对多张图像进行推理。\n- **训练期间评估**：每 `eval_step` 对模型进行评估，以检查性能是否提升。\n- **指标可视化**：在 TensorBoard 中可视化指标详情，如 COCO 数据集的 AP、APl、APm 和 APs，或 VOC 数据集的 mAP 和 20 类别的 AP。\n- **自动下载**：从 URL 加载预训练权重并缓存。\n\n## 安装\n### 要求\n\n1. Python3\n1. PyTorch 1.0 或更高版本\n1. yacs\n1. [Vizer](https:\u002F\u002Fgithub.com\u002Flufficc\u002FVizer)\n1. GCC >= 4.9\n1. OpenCV\n\n\n### 安装步骤\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Flufficc\u002FSSD.git\ncd SSD\n# 必需包：torch torchvision yacs tqdm opencv-python vizer\npip install -r requirements.txt\n\n# 完成！就这么简单！无需编译！无需繁琐的安装过程！\n\n# 建议安装最新版本的 torch 和 torchvision。\n```\n\n\n## 训练\n\n### 数据集设置\n#### Pascal VOC\n\n对于 Pascal VOC 数据集，文件夹结构应如下所示：\n```\nVOC_ROOT\n|__ VOC2007\n    |_ JPEGImages\n    |_ Annotations\n    |_ ImageSets\n    |_ SegmentationClass\n|__ VOC2012\n    |_ JPEGImages\n    |_ Annotations\n    |_ ImageSets\n    |_ SegmentationClass\n|__ ...\n```\n其中 `VOC_ROOT` 默认为当前项目的 `datasets` 文件夹，您也可以创建指向 `datasets` 的符号链接，或通过 `export VOC_ROOT=\"\u002Fpath\u002Fto\u002Fvoc_root\"` 来指定路径。\n\n#### COCO\n\n对于 COCO 数据集，文件夹结构应如下所示：\n```\nCOCO_ROOT\n|__ annotations\n    |_ instances_valminusminival2014.json\n    |_ instances_minival2014.json\n    |_ instances_train2014.json\n    |_ instances_val2014.json\n    |_ ...\n|__ train2014\n    |_ \u003Cim-1-name>.jpg\n    |_ ...\n    |_ \u003Cim-N-name>.jpg\n|__ val2014\n    |_ \u003Cim-1-name>.jpg\n    |_ ...\n    |_ \u003Cim-N-name>.jpg\n|__ ...\n```\n其中 `COCO_ROOT` 默认为当前项目的 `datasets` 文件夹，您也可以创建指向 `datasets` 的符号链接，或通过 `export COCO_ROOT=\"\u002Fpath\u002Fto\u002Fcoco_root\"` 来指定路径。\n\n### 单 GPU 训练\n\n```bash\n# 例如，训练 SSD300：\npython train.py --config-file configs\u002Fvgg_ssd300_voc0712.yaml\n```\n### 多 GPU 训练\n\n```bash\n# 例如，使用 4 个 GPU 训练 SSD300：\nexport NGPUS=4\npython -m torch.distributed.launch --nproc_per_node=$NGPUS train.py --config-file configs\u002Fvgg_ssd300_voc0712.yaml SOLVER.WARMUP_FACTOR 0.03333 SOLVER.WARMUP_ITERS 1000\n```\n我提供的配置文件假设是在单 GPU 上运行。当 GPU 数量发生变化时，超参数（学习率、最大迭代次数等）也需要根据以下论文进行调整：[准确的大批量 SGD：1 小时内训练 ImageNet](https:\u002F\u002Farxiv.org\u002Fabs\u002F1706.02677)。\n\n## 评估\n\n### 单 GPU 评估\n\n```bash\n# 例如，评估 SSD300：\npython test.py --config-file configs\u002Fvgg_ssd300_voc0712.yaml\n```\n\n### 多 GPU 评估\n\n```bash\n# 例如，使用 4 个 GPU 评估 SSD300：\nexport NGPUS=4\npython -m torch.distributed.launch --nproc_per_node=$NGPUS test.py --config-file configs\u002Fvgg_ssd300_voc0712.yaml\n```\n\n## 示例\n\n对文件夹中的图像进行预测非常简单：\n```bash\npython demo.py --config-file configs\u002Fvgg_ssd300_voc0712.yaml --images_dir demo --ckpt https:\u002F\u002Fgithub.com\u002Flufficc\u002FSSD\u002Freleases\u002Fdownload\u002F1.2\u002Fvgg_ssd300_voc0712.pth\n```\n程序会自动下载并缓存 `vgg_ssd300_voc0712.pth`，预测结果（包含边界框、置信度分数和类别名称）默认会保存到 `demo\u002Fresult` 文件夹中。\n\n您将看到类似以下的输出：\n```text\n(0001\u002F0005) 004101.jpg: 检测到 1 个目标 | 加载耗时 010ms | 推理耗时 033ms | FPS 31\n(0002\u002F0005) 003123.jpg: 检测到 5 个目标 | 加载耗时 009ms | 推理耗时 019ms | FPS 53\n(0003\u002F0005) 000342.jpg: 检测到 2 个目标 | 加载耗时 009ms | 推理耗时 019ms | FPS 51\n(0004\u002F0005) 008591.jpg: 检测到 2 个目标 | 加载耗时 008ms | 推理耗时 020ms | FPS 50\n(0005\u002F0005) 000542.jpg: 检测到 1 个目标 | 加载耗时 011ms | 推理耗时 019ms | FPS 53\n```\n\n## 模型库\n### 原始论文：\n\n|         | VOC2007 测试 | coco test-dev2015 |\n| :-----: | :----------: |   :----------:    |\n| SSD300* |     77.2     |      25.1         |\n| SSD512* |     79.8     |      28.8         |\n\n### COCO：\n\n| 骨干网络       | 输入尺寸  |          box AP                  | 模型大小 |  下载 |\n| :------------: | :----------:|   :--------------------------:   | :--------: | :-------: |\n|  VGG16         |     300     |          25.2                    |  262MB     | [模型](https:\u002F\u002Fgithub.com\u002Flufficc\u002FSSD\u002Freleases\u002Fdownload\u002F1.2\u002Fvgg_ssd300_coco_trainval35k.pth)   |\n|  VGG16         |     512     |          29.0                    |  275MB     | [模型](https:\u002F\u002Fgithub.com\u002Flufficc\u002FSSD\u002Freleases\u002Fdownload\u002F1.2\u002Fvgg_ssd512_coco_trainval35k.pth)   |\n\n### PASCAL VOC：\n\n| 主干网络         | 输入尺寸  |          mAP                     | 模型大小 | 下载  |\n| :--------------: | :----------:|   :--------------------------:   | :--------: | :-------: |\n|  VGG16           |     300     |          77.7                    |   201MB    | [模型](https:\u002F\u002Fgithub.com\u002Flufficc\u002FSSD\u002Freleases\u002Fdownload\u002F1.2\u002Fvgg_ssd300_voc0712.pth)  |\n|  VGG16           |     512     |          80.7                    |   207MB    | [模型](https:\u002F\u002Fgithub.com\u002Flufficc\u002FSSD\u002Freleases\u002Fdownload\u002F1.2\u002Fvgg_ssd512_voc0712.pth)  |\n|  Mobilenet V2    |     320     |          68.9                    |   25.5MB   | [模型](https:\u002F\u002Fgithub.com\u002Flufficc\u002FSSD\u002Freleases\u002Fdownload\u002F1.2\u002Fmobilenet_v2_ssd320_voc0712_v2.pth) |\n|  Mobilenet V3    |     320     |          69.5                    |   29.9MB   | [模型](https:\u002F\u002Fgithub.com\u002Flufficc\u002FSSD\u002Freleases\u002Fdownload\u002F1.2\u002Fmobilenet_v3_ssd320_voc0712.pth) |\n|  EfficientNet-B3 |     300     |          73.9                    |   97.1MB   | [模型](https:\u002F\u002Fgithub.com\u002Flufficc\u002FSSD\u002Freleases\u002Fdownload\u002F1.2\u002Fefficient_net_b3_ssd300_voc0712.pth) |\n\n## 开发指南\n\n如果您想添加自定义组件，请参阅 [DEVELOP_GUIDE.md](DEVELOP_GUIDE.md)，以获取更多详细信息。\n\n\n## 故障排除\n如果您在运行或编译此代码时遇到问题，我们已在 [TROUBLESHOOTING.md](TROUBLESHOOTING.md) 中整理了一份常见问题列表。如果您的问题未在此列出，请随时提交一个新的问题。\n\n## 引用\n如果您在研究中使用了本项目，请引用该项目。\n```text\n@misc{lufficc2018ssd,\n    author = {Congcong Li},\n    title = {{PyTorch 中高质量、快速、模块化的 SSD 参考实现}},\n    year = {2018},\n    howpublished = {\\url{https:\u002F\u002Fgithub.com\u002Flufficc\u002FSSD}}\n}\n```","# SSD 快速上手指南\n\n本指南基于 `lufficc\u002FSSD` 项目，这是一个高质量、快速且模块化的 PyTorch 1.0+ SSD（Single Shot MultiBox Detector）参考实现。\n\n## 环境准备\n\n在开始之前，请确保您的系统满足以下要求：\n\n*   **操作系统**: Linux (推荐)\n*   **Python**: Python 3\n*   **深度学习框架**: PyTorch 1.0 或更高版本\n*   **编译器**: GCC >= 4.9\n*   **其他依赖**:\n    *   `yacs` (配置管理)\n    *   `opencv-python` (图像处理)\n    *   `vizer` (可视化工具，需从 GitHub 安装)\n    *   `tqdm` (进度条)\n\n> **提示**：国内用户建议使用清华源或阿里源加速 pip 包的安装。\n\n## 安装步骤\n\n本项目无需复杂的编译过程（No BUILD），只需克隆代码并安装依赖即可。\n\n1.  **克隆仓库**\n    ```bash\n    git clone https:\u002F\u002Fgithub.com\u002Flufficc\u002FSSD.git\n    cd SSD\n    ```\n\n2.  **安装依赖**\n    建议先安装最新版的 torch 和 torchvision，然后安装项目所需的其他包。\n    \n    *通用安装命令：*\n    ```bash\n    pip install -r requirements.txt\n    ```\n\n    *国内加速安装示例（使用清华源）：*\n    ```bash\n    pip install torch torchvision -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n    pip install -r requirements.txt -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n    ```\n\n    > 注意：`vizer` 库如果在国内源找不到，可能需要通过 `pip install git+https:\u002F\u002Fgithub.com\u002Flufficc\u002FVizer.git` 进行安装。\n\n安装完成后，无需额外设置即可直接使用。\n\n## 基本使用\n\n### 1. 快速演示 (Demo)\n\n最简单的使用方式是直接运行预训练模型对图片进行检测。以下命令会自动下载预训练权重并进行推理：\n\n```bash\npython demo.py --config-file configs\u002Fvgg_ssd300_voc0712.yaml --images_dir demo --ckpt https:\u002F\u002Fgithub.com\u002Flufficc\u002FSSD\u002Freleases\u002Fdownload\u002F1.2\u002Fvgg_ssd300_voc0712.pth\n```\n\n*   **功能**：自动下载 `vgg_ssd300_voc0712.pth` 权重文件并缓存。\n*   **输出**：检测结果（包含边界框、分数和标签）将默认保存在 `demo\u002Fresult` 文件夹中。\n*   **终端反馈**：运行时会显示每张图的加载时间、推理时间和 FPS。\n\n### 2. 数据集准备 (以 Pascal VOC 为例)\n\n若要训练或评估自己的模型，需按以下结构组织数据（默认为项目下的 `datasets` 文件夹，也可通过环境变量 `VOC_ROOT` 指定）：\n\n```text\nVOC_ROOT\n|__ VOC2007\n    |_ JPEGImages\n    |_ Annotations\n    |_ ImageSets\n|__ VOC2012\n    |_ JPEGImages\n    |_ Annotations\n    |_ ImageSets\n```\n\n### 3. 开始训练\n\n**单卡训练示例：**\n```bash\npython train.py --config-file configs\u002Fvgg_ssd300_voc0712.yaml\n```\n\n**多卡训练示例 (4 张 GPU)：**\n```bash\nexport NGPUS=4\npython -m torch.distributed.launch --nproc_per_node=$NGPUS train.py --config-file configs\u002Fvgg_ssd300_voc0712.yaml SOLVER.WARMUP_FACTOR 0.03333 SOLVER.WARMUP_ITERS 1000\n```\n\n### 4. 模型评估\n\n**单卡评估：**\n```bash\npython test.py --config-file configs\u002Fvgg_ssd300_voc0712.yaml\n```\n\n**多卡评估：**\n```bash\nexport NGPUS=4\npython -m torch.distributed.launch --nproc_per_node=$NGPUS test.py --config-file configs\u002Fvgg_ssd300_voc0712.yaml\n```\n\n---\n*更多自定义模块开发指南请参考项目中的 `DEVELOP_GUIDE.md`。*","某电商初创公司的算法团队需要在有限算力下，快速构建一个能实时检测商品瑕疵（如划痕、凹陷）的视觉质检系统。\n\n### 没有 SSD 时\n- **开发效率低下**：团队需从零拼凑代码或修改过时的非模块化实现，每次尝试替换骨干网络（如从 VGG 换为 EfficientNet）都需大幅重构代码，耗时数周。\n- **训练过程脆弱**：多卡训练配置复杂且不稳定，一旦因断电或显存溢出中断，无法精准恢复训练状态，导致前期算力与时间全部浪费。\n- **部署门槛高**：模型仅支持 GPU 推理，难以在仓库现有的普通 CPU 工控机上运行，被迫额外采购昂贵的 GPU 服务器，超出预算。\n- **调优盲目**：缺乏训练过程中的实时指标可视化（如 mAP 变化），工程师只能凭感觉调整超参数，难以判断模型是否真正收敛。\n\n### 使用 SSD 后\n- **模块替换灵活**：利用其高度模块化设计，团队仅需修改配置文件并注册新文件，即可在几小时内将骨干网络无缝切换为更轻量高效的 EfficientNet，加速迭代。\n- **训练断点续训**：借助自动保存优化器、调度器及迭代步数的功能，即使训练意外中断，也能通过一条命令精确恢复至中断点，确保实验连续性。\n- **端侧低成本部署**：依托原生支持的 CPU 推理能力，模型直接部署在现有旧款工控机上，无需新增硬件投入即可满足产线实时检测需求。\n- **监控直观透明**：通过 Tensorboard 实时查看 AP、各类别精度等详细指标曲线，团队能精准定位欠拟合类别，科学调整数据增强策略。\n\nSSD 通过其模块化架构与完善的工程化特性，将原本需要数月的研发周期压缩至数周，并以零额外硬件成本实现了高性能的工业级落地。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Flufficc_SSD_ba61b15a.jpg","lufficc","Congcong Li","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Flufficc_ea1885c7.png",null,"UESTC&UCAS","Beijing","https:\u002F\u002Flufficc.com","https:\u002F\u002Fgithub.com\u002Flufficc",[81],{"name":82,"color":83,"percentage":84},"Python","#3572A5",100,1590,388,"2026-04-15T11:31:36","MIT","未说明","非必需（支持 CPU 推理）。训练和多 GPU 推理需 NVIDIA GPU，具体型号和显存未说明，需安装兼容 PyTorch 1.0+ 的 CUDA 版本。",{"notes":92,"python":93,"dependencies":94},"该工具基于 PyTorch 1.0 开发，支持多 GPU 分布式训练（DistributedDataParallel）和 CPU 推理。无需编译构建步骤，直接安装依赖即可。数据集（Pascal VOC 或 COCO）需按特定目录结构手动准备或通过环境变量配置路径。训练时若更改 GPU 数量，需根据论文调整超参数（如学习率）。","Python 3",[95,96,97,98,99,100],"torch>=1.0","torchvision","yacs","vizer","opencv-python","tqdm",[14,15],[103,104,105,106,107],"computer-vision","deep-learning","object-detection","pytorch","ssd","2026-03-27T02:49:30.150509","2026-04-18T09:20:09.965345",[111,116,121,126,131,136],{"id":112,"question_zh":113,"answer_zh":114,"source_url":115},39116,"训练自定义数据集（如单类人物检测）时损失曲线异常或 mAP 极低怎么办？","这通常是由于学习率（LR）设置不当或迭代次数不足导致的。用户反馈将学习率从 1e-3 调整为 1e-4 后损失曲线有所改善，但仍需检查配置中的类别数（NUM_CLASSES 应为实际类别数 +1，背景类）、数据集路径以及是否使用了正确的预训练权重。对于单类检测，确保配置文件中 NUM_CLASSES 设置为 2（1 个目标类 +1 个背景类），并适当调整 SOLVER 中的 MAX_ITER 和 LR_STEPS 以匹配数据量。","https:\u002F\u002Fgithub.com\u002Flufficc\u002FSSD\u002Fissues\u002F64",{"id":117,"question_zh":118,"answer_zh":119,"source_url":120},39117,"如何将训练好的 SSD 模型导出为 ONNX 格式？遇到 TypeError 或 JIT 输入错误如何解决？","直接导出可能会遇到 `TypeError: mul(): argument 'other' must be Tensor` 或 `RuntimeError: Only tuples, lists and Variables supported as JIT inputs` 错误。解决方案是不要使用 dummy input（虚拟输入）进行导出，而是修改 `demo.py`，在其中插入 ONNX 导出代码和 Torch JIT Tracer 代码，并使用真实的自定义数据集图片作为输入进行追踪（trace）。有用户成功将 `MobileNetV2_SSD320` 模型通过此方法导出为 ONNX 和 TorchScript，并在 Caffe2 和 LibTorch 中验证通过。","https:\u002F\u002Fgithub.com\u002Flufficc\u002FSSD\u002Fissues\u002F79",{"id":122,"question_zh":123,"answer_zh":124,"source_url":125},39118,"在 COCO 数据集上推理时 GPU 利用率低或完全使用 CPU 运行怎么办？","如果在 VOC 数据集上正常但在 COCO 数据集上推理极慢且 GPU 利用率为 0%，请检查代码中是否显式地将模型和数据移动到了 GPU 上。虽然日志显示 `model to gpu`，但需确保在推理循环中，输入图像 tensor 也被调用了 `.to(device)` 或 `.cuda()`。此外，检查是否在某些后处理步骤（如 NMS）中意外使用了 CPU 版本的算子。确保整个推理流程（加载、预处理、推理、后处理）都在同一设备上进行。","https:\u002F\u002Fgithub.com\u002Flufficc\u002FSSD\u002Fissues\u002F80",{"id":127,"question_zh":128,"answer_zh":129,"source_url":130},39119,"项目是否提供在 COCO 数据集上的预训练模型及性能指标？","维护者已确认会在后续更新中提供在 COCO 数据集上重新训练的详细性能指标和预训练模型。之前性能不佳的主要原因可能是使用的样本集不正确（例如误以为 `trainval35k` 仅包含验证集图像），维护者表示会更新配置文件以使用正确的数据集划分，从而提升评估结果。建议关注仓库的最新发布版本以获取官方预训练权重。","https:\u002F\u002Fgithub.com\u002Flufficc\u002FSSD\u002Fissues\u002F1",{"id":132,"question_zh":133,"answer_zh":134,"source_url":135},39120,"导出模型到 ONNX 后在 OpenVINO 或其他框架中结果不一致怎么办？","如果在导出 ONNX 后发现原始模型与导出模型的结果不一致，尤其是在尝试用于 OpenVINO 时，可以考虑切换到 OpenVINO Training Extensions 框架。该框架原生集成了 PyTorch 到 ONNX 再到 OpenVINO 的目标检测流程，能更好地保证转换后的模型精度和兼容性。此外，确保在导出时使用了动态轴（dynamic axes）处理可变输入尺寸，并验证 ONNX 模型在标准推理引擎（如 onnxruntime）中的表现。","https:\u002F\u002Fgithub.com\u002Flufficc\u002FSSD\u002Fissues\u002F104",{"id":137,"question_zh":138,"answer_zh":139,"source_url":120},39121,"如何使用自定义数据集训练 SSD 模型并成功导出？","首先将数据集转换为 VOC 或 COCO 格式，并修改配置文件（.yaml）中的 `DATASETS.TRAIN` 和 `DATASETS.TEST` 指向新数据集，同时更新 `MODEL.NUM_CLASSES`。训练完成后，若要导出模型，避免直接使用 `torch.onnx.export` 配合随机生成的 dummy input。推荐做法是参考社区方案，修改 `demo.py` 脚本，加载真实图片作为输入执行 `torch.jit.trace` 或 ONNX 导出逻辑，这样可以避免因模型内部动态维度导致的导出失败。",[141,146,150],{"id":142,"version":143,"summary_zh":144,"released_at":145},315060,"1.2","- **PyTorch 1.0**：支持 PyTorch 1.0 及以上版本。  \n- **多 GPU 训练与推理**：我们使用 `DistributedDataParallel`，您可以使用任意数量的 GPU 进行训练或测试，训练流程会相应调整。  \n- **模块化**：轻松添加自定义模块。我们抽象了 `backbone`、`Detector`、`BoxHead`、`BoxPredictor` 等组件，您可以替换其中的任何部分而无需修改代码框架。例如，您可以将 [EfficientNet](https:\u002F\u002Fgithub.com\u002Flukemelas\u002FEfficientNet-PyTorch) 作为 backbone，只需添加 `efficient_net.py`（已包含）并注册它，在配置文件中指定即可，完成！  \n- **推理时 CPU 支持**：在推理阶段可在 CPU 上运行。  \n- **流畅愉悦的训练流程**：我们会保存模型状态、优化器、学习率调度器以及当前训练迭代数等信息。您可以随时停止训练，并从保存的检查点无缝恢复，而无需更改训练命令。  \n- **批处理推理**：每个 GPU 每次可对多个图像进行批处理推理。  \n- **训练过程中评估**：每 `eval_step` 步骤对模型进行评估，以监控性能是否提升。  \n- **指标可视化**：在 TensorBoard 中可视化详细指标，例如 COCO 数据集的 AP、APl、APm 和 APs，或 VOC 数据集的 mAP 以及 20 类别的 AP。  \n- **自动下载**：支持从 URL 加载预训练权重并将其缓存。","2019-07-01T17:09:05",{"id":147,"version":148,"summary_zh":75,"released_at":149},315061,"1.1","2019-06-24T02:51:37",{"id":151,"version":152,"summary_zh":153,"released_at":154},315062,"v1.0.1","- PyTorch 1.0\n- GPU\u002FCPU NMS\n- 多GPU训练与推理\n- 模块化\n- 可视化（支持TensorBoard）\n- CPU支持推理\n- 训练过程中评估\n\n","2018-12-07T20:41:50"]