[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-Zehaos--MobileNet":3,"tool-Zehaos--MobileNet":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 真正成长为懂上",160411,2,"2026-04-18T23:33:24",[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 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",109154,"2026-04-18T11:18:24",[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":76,"owner_email":77,"owner_twitter":76,"owner_website":76,"owner_url":78,"languages":79,"stars":88,"forks":89,"last_commit_at":90,"license":91,"difficulty_score":92,"env_os":93,"env_gpu":94,"env_ram":95,"env_deps":96,"category_tags":101,"github_topics":102,"view_count":32,"oss_zip_url":76,"oss_zip_packed_at":76,"status":17,"created_at":108,"updated_at":109,"faqs":110,"releases":150},9512,"Zehaos\u002FMobileNet","MobileNet","MobileNet build with Tensorflow","MobileNet 是一款基于 TensorFlow 构建的高效卷积神经网络，专为移动设备和嵌入式视觉应用设计。它核心解决了传统深度学习模型在算力有限、存储空间小的移动端难以部署的难题，通过独特的“深度可分离卷积”架构，在大幅降低计算量和参数规模的同时，依然保持了出色的图像识别准确率。\n\n该项目不仅复现了谷歌官方的 MobileNet 算法，还提供了完整的训练脚本、预训练权重以及针对物体检测任务的扩展实现。其技术亮点在于极致的轻量化与速度优化：支持 8 位量化压缩，并针对 CPU（如 AVX2 指令集）和 GPU 进行了深度加速，使得在普通硬件上也能实现毫秒级的推理速度。此外，项目还集成了 YellowFin 优化器以辅助训练调优。\n\nMobileNet 非常适合需要在手机端、IoT 设备或边缘计算节点上部署视觉功能的开发者与研究人员使用。无论是进行图像分类、物体检测的实验验证，还是开发实际的移动端 AI 应用，它都能提供高效、灵活且易于上手的技术底座。","# MobileNet\n\nA tensorflow implementation of Google's [MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications](https:\u002F\u002Farxiv.org\u002Fabs\u002F1704.04861)\n\nThe official implementation is avaliable at [tensorflow\u002Fmodel](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Fmodels\u002Fblob\u002Fmaster\u002Fresearch\u002Fslim\u002Fnets\u002Fmobilenet_v1.md).\n\nThe official implementation of object detection is now released, see [tensorflow\u002Fmodel\u002Fobject_detection](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Fmodels\u002Ftree\u002Fmaster\u002Fresearch\u002Fobject_detection).\n\n# News\nYellowFin optimizer has been intergrated, but I have no gpu resources to train on imagenet with it. Call for training \\~_\\~\n\nOfficial implement [click here](https:\u002F\u002Fgithub.com\u002FJianGoForIt\u002FYellowFin)\n\n## Base Module\n\n\u003Cdiv align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FZehaos_MobileNet_readme_027fce935c47.png\">\u003Cbr>\u003Cbr>\n\u003C\u002Fdiv>\n\n## Accuracy on ImageNet-2012 Validation Set\n\n| Model | Width Multiplier |Preprocessing  | Accuracy-Top1|Accuracy-Top5 |\n|--------|:---------:|:------:|:------:|:------:|\n| MobileNet |1.0| Same as Inception | 66.51% | 87.09% |\n\nDownload the pretrained weight: [OneDrive](https:\u002F\u002F1drv.ms\u002Fu\u002Fs!AvkGtmrlCEhDhy1YqWPGTMl1ybee), [BaiduYun](https:\u002F\u002Fpan.baidu.com\u002Fs\u002F1i5xFjal) \n\n**Loss**\n\u003Cdiv align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FZehaos_MobileNet_readme_1093dc9b33af.png\">\u003Cbr>\u003Cbr>\n\u003C\u002Fdiv>\n\n## Time Benchmark\nEnvironment: Ubuntu 16.04 LTS, Xeon E3-1231 v3, 4 Cores @ 3.40GHz, GTX1060.\n\nTF 1.0.1(native pip install), TF 1.1.0(build from source, optimization flag '-mavx2')\n\n\n| Device | Forward| Forward-Backward |Instruction set|Quantized|Fused-BN|Remark|\n|--------|:---------:|:---------:|:---------:|:---------:|:---------:|:---------:|\n|CPU|52ms|503ms|-|-|-|TF 1.0.1|\n|CPU|44ms|177ms|-|-|On|TF 1.0.1|\n|CPU|31ms| - |-|8-bits|-|TF 1.0.1|\n|CPU|26ms| 75ms|AVX2|-|-|TF 1.1.0|\n|CPU|128ms| - |AVX2|8-bits|-|TF 1.1.0|\n|CPU|**19ms**| 89ms|AVX2|-|On|TF 1.1.0|\n|GPU|3ms|16ms|-|-|-|TF 1.0.1, CUDA8.0, CUDNN5.1|\n|GPU|**3ms**|15ms|-|-|On|TF 1.0.1, CUDA8.0, CUDNN5.1|\n> Image Size: (224, 224, 3), Batch Size: 1\n\n## Usage\n\n### Train on Imagenet\n\n1. Prepare imagenet data. Please refer to Google's tutorial for [training inception](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Fmodels\u002Ftree\u002Fmaster\u002Finception#getting-started).\n\n2. Modify '.\u002Fscript\u002Ftrain_mobilenet_on_imagenet.sh' according to your environment.\n\n```\nbash .\u002Fscript\u002Ftrain_mobilenet_on_imagenet.sh\n```\n\n### Benchmark speed\n```\npython .\u002Fscripts\u002Ftime_benchmark.py\n```\n\n### Train MobileNet Detector (Debugging)\n\n1. Prepare KITTI data.\n\nAfter download KITTI data, you need to split it data into train\u002Fval set.\n```\ncd \u002Fpath\u002Fto\u002Fkitti_root\nmkdir ImageSets\ncd .\u002FImageSets\nls ..\u002Ftraining\u002Fimage_2\u002F | grep \".png\" | sed s\u002F.png\u002F\u002F > trainval.txt\npython .\u002Ftools\u002Fkitti_random_split_train_val.py\n```\nkitti_root floder then look like below\n```\nkitti_root\u002F\n                  |->training\u002F\n                  |     |-> image_2\u002F00****.png\n                  |     L-> label_2\u002F00****.txt\n                  |->testing\u002F\n                  |     L-> image_2\u002F00****.png\n                  L->ImageSets\u002F\n                        |-> trainval.txt\n                        |-> train.txt\n                        L-> val.txt\n```\nThen convert it into tfrecord.\n```\npython .\u002Ftools\u002Ftf_convert_data.py\n```\n\n2. Mobify '.\u002Fscript\u002Ftrain_mobilenet_on_kitti.sh' according to your environment.\n```\nbash .\u002Fscript\u002Ftrain_mobilenetdet_on_kitti.sh\n```\n\n> The code of this subject is largely based on SqueezeDet & SSD-Tensorflow.\n> I would appreciated if you could feed back any bug.\n\n## Trouble Shooting\n\n1. About the MobileNet model size\n\nAccording to the paper, MobileNet has 3.3 Million Parameters, which does not vary based on the input resolution. It means that the number of final model parameters should be larger than 3.3 Million, because of the fc layer.\n\nWhen using RMSprop training strategy, the checkpoint file size should be almost 3 times as large as the model size, because of some auxiliary parameters used in RMSprop. You can use the inspect_checkpoint.py to figure it out.\n\n2. Slim multi-gpu performance problems\n\n[#1390](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Fmodels\u002Fissues\u002F1390)\n[#1428](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Fmodels\u002Fissues\u002F1428#issuecomment-302589426)\n\n## TODO\n- [x] Train on Imagenet\n- [x] Add Width Multiplier Hyperparameters\n- [x] Report training result\n- [ ] Intergrate into object detection task(in progress)\n\n## Reference\n[MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications](https:\u002F\u002Farxiv.org\u002Fabs\u002F1704.04861)\n\n[SSD-Tensorflow](https:\u002F\u002Fgithub.com\u002Fbalancap\u002FSSD-Tensorflow)\n\n[SqueezeDet](https:\u002F\u002Fgithub.com\u002FBichenWuUCB\u002FsqueezeDet)\n","# MobileNet\n\n这是 Google 的 [MobileNets：用于移动视觉应用的高效卷积神经网络](https:\u002F\u002Farxiv.org\u002Fabs\u002F1704.04861) 的 TensorFlow 实现。\n\n官方实现可在 [tensorflow\u002Fmodels](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Fmodels\u002Fblob\u002Fmaster\u002Fresearch\u002Fslim\u002Fnets\u002Fmobilenet_v1.md) 中找到。\n\n目标检测的官方实现现已发布，详情请参见 [tensorflow\u002Fmodels\u002Fobject_detection](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Fmodels\u002Ftree\u002Fmaster\u002Fresearch\u002Fobject_detection)。\n\n# 新闻\nYellowFin 优化器已被集成，但我目前没有 GPU 资源来使用它在 ImageNet 上进行训练。诚邀合作训练 \\~_\\~\n\n官方实现 [点击此处](https:\u002F\u002Fgithub.com\u002FJianGoForIt\u002FYellowFin)\n\n## 基础模块\n\n\u003Cdiv align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FZehaos_MobileNet_readme_027fce935c47.png\">\u003Cbr>\u003Cbr>\n\u003C\u002Fdiv>\n\n## 在 ImageNet-2012 验证集上的准确率\n\n| 模型 | 宽度乘数 | 预处理 | Top-1 准确率 | Top-5 准确率 |\n|--------|:---------:|:------:|:------:|:------:|\n| MobileNet |1.0| 与 Inception 相同 | 66.51% | 87.09% |\n\n下载预训练权重：[OneDrive](https:\u002F\u002F1drv.ms\u002Fu\u002Fs!AvkGtmrlCEhDhy1YqWPGTMl1ybee), [BaiduYun](https:\u002F\u002Fpan.baidu.com\u002Fs\u002F1i5xFjal) \n\n**损失**\n\u003Cdiv align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FZehaos_MobileNet_readme_1093dc9b33af.png\">\u003Cbr>\u003Cbr>\n\u003C\u002Fdiv>\n\n## 时间基准测试\n环境：Ubuntu 16.04 LTS，Xeon E3-1231 v3，4 核 @ 3.40GHz，GTX1060。\n\nTF 1.0.1（原生 pip 安装），TF 1.1.0（从源码编译，优化标志为 '-mavx2'）\n\n\n| 设备 | 前向传播 | 前向-反向传播 | 指令集 | 量化 | BN 融合 | 备注 |\n|--------|:---------:|:---------:|:---------:|:---------:|:---------:|:---------:|\n|CPU|52ms|503ms|-|-|-|TF 1.0.1|\n|CPU|44ms|177ms|-|-|开启|TF 1.0.1|\n|CPU|31ms| - |-|8位|-|TF 1.0.1|\n|CPU|26ms| 75ms|AVX2|-|-|TF 1.1.0|\n|CPU|128ms| - |AVX2|8位|-|TF 1.1.0|\n|CPU|**19ms**| 89ms|AVX2|-|开启|TF 1.1.0|\n|GPU|3ms|16ms|-|-|-|TF 1.0.1，CUDA8.0，CUDNN5.1|\n|GPU|**3ms**|15ms|-|-|开启|TF 1.0.1，CUDA8.0，CUDNN5.1|\n> 图像尺寸：(224, 224, 3)，批量大小：1\n\n## 使用方法\n\n### 在 ImageNet 上训练\n\n1. 准备 ImageNet 数据。请参考 Google 的 [Inception 训练教程](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Fmodels\u002Ftree\u002Fmaster\u002Finception#getting-started)。\n\n2. 根据您的环境修改 '.\u002Fscript\u002Ftrain_mobilenet_on_imagenet.sh'。\n\n```\nbash .\u002Fscript\u002Ftrain_mobilenet_on_imagenet.sh\n```\n\n### 基准测试速度\n```\npython .\u002Fscripts\u002Ftime_benchmark.py\n```\n\n### 训练 MobileNet 目标检测器（调试中）\n\n1. 准备 KITTI 数据。\n\n下载 KITTI 数据后，需要将其划分为训练集和验证集。\n```\ncd \u002Fpath\u002Fto\u002Fkitti_root\nmkdir ImageSets\ncd .\u002FImageSets\nls ..\u002Ftraining\u002Fimage_2\u002F | grep \".png\" | sed s\u002F.png\u002F\u002F > trainval.txt\npython .\u002Ftools\u002Fkitti_random_split_train_val.py\n```\n此时 kitti_root 文件夹应如下所示：\n```\nkitti_root\u002F\n                  |->training\u002F\n                  |     |-> image_2\u002F00****.png\n                  |     L-> label_2\u002F00****.txt\n                  |->testing\u002F\n                  |     L-> image_2\u002F00****.png\n                  L->ImageSets\u002F\n                        |-> trainval.txt\n                        |-> train.txt\n                        L-> val.txt\n```\n然后将其转换为 tfrecord 格式。\n```\npython .\u002Ftools\u002Ftf_convert_data.py\n```\n\n2. 根据您的环境修改 '.\u002Fscript\u002Ftrain_mobilenet_on_kitti.sh'。\n```\nbash .\u002Fscript\u002Ftrain_mobilenetdet_on_kitti.sh\n```\n\n> 本项目的代码主要基于 SqueezeDet 和 SSD-Tensorflow。\n> 如果您发现任何问题，欢迎反馈。\n\n## 故障排除\n\n1. 关于 MobileNet 模型大小\n\n根据论文，MobileNet 有 330 万个参数，这一数量不随输入分辨率变化。这意味着由于全连接层的存在，最终模型的参数数量应超过 330 万。使用 RMSprop 训练策略时，检查点文件的大小几乎是模型大小的三倍，因为 RMSprop 使用了一些辅助参数。您可以使用 inspect_checkpoint.py 来确认这一点。\n\n2. Slim 多 GPU 性能问题\n\n[#1390](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Fmodels\u002Fissues\u002F1390)\n[#1428](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Fmodels\u002Fissues\u002F1428#issuecomment-302589426)\n\n## 待办事项\n- [x] 在 ImageNet 上训练\n- [x] 添加宽度乘数超参数\n- [x] 报告训练结果\n- [ ] 集成到目标检测任务中（正在进行中）\n\n## 参考文献\n[MobileNets：用于移动视觉应用的高效卷积神经网络](https:\u002F\u002Farxiv.org\u002Fabs\u002F1704.04861)\n\n[SSD-Tensorflow](https:\u002F\u002Fgithub.com\u002Fbalancap\u002FSSD-Tensorflow)\n\n[SqueezeDet](https:\u002F\u002Fgithub.com\u002FBichenWuUCB\u002FsqueezeDet)","# MobileNet 快速上手指南\n\nMobileNet 是 Google 提出的一种专为移动和嵌入式设备设计的高效卷积神经网络。本指南基于 TensorFlow 实现，帮助开发者快速在 ImageNet 或 KITTI 数据集上训练和测试模型。\n\n## 环境准备\n\n### 系统要求\n- **操作系统**: Ubuntu 16.04 LTS (推荐) 或其他 Linux 发行版\n- **硬件**: \n  - CPU: 支持 AVX2 指令集（如 Xeon E3 系列）可显著提升速度\n  - GPU: NVIDIA GTX 1060 或更高（可选，用于加速训练）\n- **软件依赖**:\n  - Python 2.7 或 3.x\n  - TensorFlow 1.0.1 或 1.1.0+\n    - CPU 版本：`pip install tensorflow`\n    - GPU 版本：需安装 CUDA 8.0 和 cuDNN 5.1+，然后 `pip install tensorflow-gpu`\n  - 其他库：确保安装了 `slim` 相关依赖（通常包含在 `tensorflow\u002Fmodels` 研究中）\n\n### 数据准备\n- **ImageNet**: 参考 [Google Inception 教程](https:\u002F\u002Fgithub.com\u002Ftensorflow\u002Fmodels\u002Ftree\u002Fmaster\u002Finception#getting-started) 预处理数据。\n- **KITTI (目标检测)**: 下载数据集后，需按以下结构整理并转换为 TFRecord：\n  ```bash\n  cd \u002Fpath\u002Fto\u002Fkitti_root\n  mkdir ImageSets\n  cd .\u002FImageSets\n  ls ..\u002Ftraining\u002Fimage_2\u002F | grep \".png\" | sed s\u002F.png\u002F\u002F > trainval.txt\n  python .\u002Ftools\u002Fkitti_random_split_train_val.py\n  # 转换数据\n  python .\u002Ftools\u002Ftf_convert_data.py\n  ```\n\n## 安装步骤\n\n1. **克隆仓库**\n   ```bash\n   git clone https:\u002F\u002Fgithub.com\u002FZehaos\u002FMobileNet.git\n   cd MobileNet\n   ```\n\n2. **下载预训练权重 (可选)**\n   若需直接使用预训练模型，可从以下国内镜像源下载：\n   - **百度网盘**: [点击下载](https:\u002F\u002Fpan.baidu.com\u002Fs\u002F1i5xFjal)\n   - **OneDrive**: [点击下载](https:\u002F\u002F1drv.ms\u002Fu\u002Fs!AvkGtmrlCEhDhy1YqWPGTMl1ybee)\n\n3. **配置脚本**\n   根据本地环境修改训练脚本中的路径和参数：\n   - ImageNet 训练：编辑 `.\u002Fscript\u002Ftrain_mobilenet_on_imagenet.sh`\n   - KITTI 检测训练：编辑 `.\u002Fscript\u002Ftrain_mobilenetdet_on_kitti.sh`\n\n## 基本使用\n\n### 1. 在 ImageNet 上训练\n执行以下命令开始训练（请确保已准备好 ImageNet 数据并修改了脚本）：\n```bash\nbash .\u002Fscript\u002Ftrain_mobilenet_on_imagenet.sh\n```\n\n### 2. 运行速度基准测试\n测试模型在不同硬件（CPU\u002FGPU）及优化选项（如量化、融合 BN）下的推理速度：\n```bash\npython .\u002Fscripts\u002Ftime_benchmark.py\n```\n\n### 3. 训练 MobileNet 目标检测器 (调试模式)\n基于 KITTI 数据集训练检测模型：\n```bash\nbash .\u002Fscript\u002Ftrain_mobilenetdet_on_kitti.sh\n```\n\n> **提示**: 本项目代码主要基于 SqueezeDet 和 SSD-Tensorflow 架构。如遇问题，建议检查 TensorFlow 版本兼容性（推荐 TF 1.1.0 编译版以开启 AVX2 优化）。","某初创团队正在开发一款面向物流仓库的实时货物识别 App，需要在低端安卓手机上运行图像分类模型以快速盘点库存。\n\n### 没有 MobileNet 时\n- **推理延迟极高**：传统卷积神经网络在移动端 CPU 上单次前向传播耗时超过 300ms，导致摄像头画面严重卡顿，无法实现流畅的实时检测。\n- **设备兼容性差**：模型参数量大且计算密集，老旧仓库手持终端因内存不足频繁崩溃，迫使团队不得不淘汰大量现有设备。\n- **功耗与发热严重**：高算力需求导致手机电池在半小时内耗尽，且设备严重发烫，一线工作人员难以长时间连续作业。\n- **部署成本高昂**：为了维持基本性能，团队被迫将计算任务全部卸载到云端服务器，不仅增加了网络带宽成本，还引入了不稳定的网络延迟。\n\n### 使用 MobileNet 后\n- **毫秒级实时响应**：利用深度可分离卷积技术，在同等 CPU 环境下将单次推理时间压缩至 20-50ms，实现了丝滑的 30fps 实时识别体验。\n- **广泛设备支持**：模型参数量仅约 330 万，极低的内存占用使得五年前的低端安卓设备也能稳定运行，保护了客户的硬件投资。\n- **低功耗长续航**：高效的计算架构大幅降低了能耗，设备连续工作 4 小时仅消耗少量电量，且机身保持温凉，满足全天候作业需求。\n- **纯端侧高效部署**：凭借轻量级特性，模型可直接嵌入本地应用，彻底摆脱了对云端算力和稳定网络的依赖，数据隐私性也得到提升。\n\nMobileNet 通过极致的轻量化设计，成功将高精度的视觉能力从服务器下沉至资源受限的移动终端，让实时 AI 应用真正落地普及。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FZehaos_MobileNet_4fe7c20e.png","Zehaos","Zehao Shi","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FZehaos_039f79ac.jpg","Deep Sleep",null,"shizehao.scu@gmail.com","https:\u002F\u002Fgithub.com\u002FZehaos",[80,84],{"name":81,"color":82,"percentage":83},"Python","#3572A5",99.3,{"name":85,"color":86,"percentage":87},"Shell","#89e051",0.7,1658,470,"2026-04-16T06:31:46","Apache-2.0",4,"Linux","非必需（支持 CPU 运行）。如需 GPU 加速，需 NVIDIA GTX1060 或更高，搭配 CUDA 8.0 和 cuDNN 5.1。","未说明",{"notes":97,"python":95,"dependencies":98},"该工具基于 TensorFlow 1.x 版本（测试环境为 TF 1.0.1 和 1.1.0），若在较新环境中运行可能面临兼容性问题。CPU 运行时建议开启 AVX2 指令集优化或使用量化（8-bits）以提升速度。训练 ImageNet 数据集需要大量计算资源，作者曾呼吁提供 GPU 资源。模型参数量约为 330 万，使用 RMSprop 优化器时检查点文件大小约为模型大小的 3 倍。",[99,100],"tensorflow>=1.0.1","tensorflow-slim",[15,14],[103,104,105,106,107],"tensorflow","mobilenets","multigpu","slim","detection","2026-03-27T02:49:30.150509","2026-04-19T15:46:30.645638",[111,116,121,126,131,136,141,146],{"id":112,"question_zh":113,"answer_zh":114,"source_url":115},42685,"如何在 MNIST 数据集（单通道灰度图）上训练 MobileNet，遇到输入通道数不匹配的错误怎么办？","MobileNet 默认设计用于 3 通道彩色图像，而 MNIST 是单通道灰度图，直接运行会报错。解决方法是对输入数据进行预处理：将 MNIST 图像填充（pad）并转换为 32x32 分辨率，同时将单通道复制扩展为 3 通道（RGB），使其符合网络输入要求。注意可能需要对第一层卷积进行修改以适应数据分布。","https:\u002F\u002Fgithub.com\u002FZehaos\u002FMobileNet\u002Fissues\u002F28",{"id":117,"question_zh":118,"answer_zh":119,"source_url":120},42680,"训练后找不到 checkpoint 文件或 graph.pbtxt 文件怎么办？","实际上不需要单独的 checkpoint 文件，可以使用 `--checkpoint_path` 参数直接指定具体的 .ckpt 文件路径。如果需要获取冻结的图文件（graph.pb），可以使用项目中的 `freeze_graph.py` 脚本来生成。","https:\u002F\u002Fgithub.com\u002FZehaos\u002FMobileNet\u002Fissues\u002F4",{"id":122,"question_zh":123,"answer_zh":124,"source_url":125},42681,"运行测试脚本时速度非常慢（例如每批次需要 3-5 秒），如何解决？","这通常是因为默认使用了 CPU 进行计算。请检查基准测试脚本（如 `time_benchmark.py`），确保配置为使用 GPU 运行。例如在代码中指定使用 GPU 设备，这样可以显著提升推理和测试速度。","https:\u002F\u002Fgithub.com\u002FZehaos\u002FMobileNet\u002Fissues\u002F2",{"id":127,"question_zh":128,"answer_zh":129,"source_url":130},42682,"训练时出现 OOM (Out Of Memory) 显存溢出错误，即使减小了 batch_size 仍然报错，如何解决？","这通常是 GPU 显存不足导致的。建议采取以下措施：1. 使用 `nvidia-smi` 命令检查当前显存占用情况，确认是否有其他进程占用；2. 如果多人共用 GPU，可用显存会变小；3. 尝试在代码中限制 TensorFlow 使用的显存比例，例如添加配置：`config.gpu_options.per_process_gpu_memory_fraction = 0.80` 并传入 Session。","https:\u002F\u002Fgithub.com\u002FZehaos\u002FMobileNet\u002Fissues\u002F30",{"id":132,"question_zh":133,"answer_zh":134,"source_url":135},42683,"MobileNet 用于目标检测任务时 Loss 不收敛或一直在震荡，有什么建议？","对于检测等复杂应用，必须使用预训练模型（pretrained model）进行微调，从头训练很难收敛。如果遇到 Loss 震荡，可以尝试先使用较小的学习率（small learning rate）进行 1-2 个 epoch 的 Warm-up，然后再正常训练，这有助于稳定收敛。此外，官方已发布更完善的目标检测实现，可参考 tensorflow\u002Fmodels\u002Fobject_detection。","https:\u002F\u002Fgithub.com\u002FZehaos\u002FMobileNet\u002Fissues\u002F34",{"id":137,"question_zh":138,"answer_zh":139,"source_url":140},42684,"为什么我训练的 MobileNet 模型在大小和速度上表现不如 InceptionV1？","这可能是由于卷积层与批归一化（Batch Norm）及激活函数（ReLU）的组合方式不当造成的。TensorFlow 原生的 `tf.nn.separable_conv2d` 将深度卷积和逐点卷积合并在一起，中间没有插入 BN 和 ReLU，这不符合 MobileNet 的标准结构。建议使用 `slim.conv2d` 或 `slim.separable_convolution2d`，并将 `normalizer_fn` 设置为 `slim.batch_norm`，以确保结构为 conv -> batch_norm -> relu。","https:\u002F\u002Fgithub.com\u002FZehaos\u002FMobileNet\u002Fissues\u002F1",{"id":142,"question_zh":143,"answer_zh":144,"source_url":145},42686,"训练完成后评估准确率极低，且提示某些权重未初始化（not initialized），是什么原因？","这通常是因为评估时没有正确加载训练好的检查点文件，或者网络定义与训练时不一致导致变量映射失败。请确保在评估脚本中正确指定了 `checkpoint_path`，并且 `num_classes` 等参数与训练时完全一致。如果是自定义数据集，需确认最后一层全连接层的维度是否匹配。","https:\u002F\u002Fgithub.com\u002FZehaos\u002FMobileNet\u002Fissues\u002F15",{"id":147,"question_zh":148,"answer_zh":149,"source_url":145},42687,"如何使用 MobileNet 提取特征向量用于行人重识别（Person Re-ID）等任务？","MobileNet 是一个高层 API，默认可能不直接暴露特征提取接口。你需要修改代码或编写新脚本来提取中间层特征。可以通过访问网络的 `end_points` 字典来获取特定层的输出（例如 `end_points['squeeze']` 或其他卷积层输出），将其作为特征向量使用。这需要深入代码内部进行少量黑客式修改。",[]]