[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-bubbliiiing--yolo3-pytorch":3,"tool-bubbliiiing--yolo3-pytorch":62},[4,18,26,35,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},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,2,"2026-04-18T11:18:24",[14,15,13],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":32,"last_commit_at":41,"category_tags":42,"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",[43,13,15,14],"插件",{"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",[52,15,13,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},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,61],"视频",{"id":63,"github_repo":64,"name":65,"description_en":66,"description_zh":67,"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":77,"owner_email":77,"owner_twitter":77,"owner_website":78,"owner_url":79,"languages":80,"stars":85,"forks":86,"last_commit_at":87,"license":88,"difficulty_score":10,"env_os":89,"env_gpu":90,"env_ram":89,"env_deps":91,"category_tags":95,"github_topics":77,"view_count":32,"oss_zip_url":77,"oss_zip_packed_at":77,"status":17,"created_at":96,"updated_at":97,"faqs":98,"releases":144},9059,"bubbliiiing\u002Fyolo3-pytorch","yolo3-pytorch"," 这是一个yolo3-pytorch的源码，可以用于训练自己的模型。","yolo3-pytorch 是基于 PyTorch 框架实现的 YOLOv3 目标检测开源项目，旨在帮助开发者轻松构建、训练并部署自己的物体识别模型。它解决了从环境配置到模型落地的全流程痛点，让用户无需从零编写底层代码，即可快速完成从数据标注、模型训练到图片与视频预测的完整工作流。\n\n该项目特别适合计算机视觉领域的研究人员、AI 开发者以及希望将目标检测技术应用于实际场景的工程人员。无论是学术实验还是工业级应用，yolo3-pytorch 都提供了极高的灵活性。其技术亮点在于持续迭代的优化能力：不仅支持多 GPU 并行训练以大幅提升效率，还引入了自适应学习率调整、多种优化器选择（如 Adam、SGD）以及热力图可视化功能。此外，代码中包含了详尽的中文注释和可调节参数，对新手十分友好。项目预置了 VOC 和 COCO 数据集的训练示例，并兼容多种主干网络变体，让用户能根据具体需求灵活定制，高效解决各类目标检测难题。","## YOLOV3：You Only Look Once目标检测模型在Pytorch当中的实现\n---\n\n## 目录\n1. [仓库更新 Top News](#仓库更新)\n2. [相关仓库 Related code](#相关仓库)\n3. [性能情况 Performance](#性能情况)\n4. [所需环境 Environment](#所需环境)\n5. [文件下载 Download](#文件下载)\n6. [训练步骤 How2train](#训练步骤)\n7. [预测步骤 How2predict](#预测步骤)\n8. [评估步骤 How2eval](#评估步骤)\n9. [参考资料 Reference](#Reference)\n\n## Top News\n**`2022-04`**:**支持多GPU训练，新增各个种类目标数量计算，新增heatmap。**  \n\n**`2022-03`**:**进行了大幅度的更新，修改了loss组成，使得分类、目标、回归loss的比例合适、支持step、cos学习率下降法、支持adam、sgd优化器选择、支持学习率根据batch_size自适应调整、新增图片裁剪。**  \nBiliBili视频中的原仓库地址为：https:\u002F\u002Fgithub.com\u002Fbubbliiiing\u002Fyolo3-pytorch\u002Ftree\u002Fbilibili\n\n**`2021-10`**:**进行了大幅度的更新，增加了大量注释、增加了大量可调整参数、对代码的组成模块进行修改、增加fps、视频预测、批量预测等功能。**   \n\n## 相关仓库\n| 模型 | 路径 |\n| :----- | :----- |\nYoloV3 | https:\u002F\u002Fgithub.com\u002Fbubbliiiing\u002Fyolo3-pytorch  \nEfficientnet-Yolo3 | https:\u002F\u002Fgithub.com\u002Fbubbliiiing\u002Fefficientnet-yolo3-pytorch  \nYoloV4 | https:\u002F\u002Fgithub.com\u002Fbubbliiiing\u002Fyolov4-pytorch\nYoloV4-tiny | https:\u002F\u002Fgithub.com\u002Fbubbliiiing\u002Fyolov4-tiny-pytorch\nMobilenet-Yolov4 | https:\u002F\u002Fgithub.com\u002Fbubbliiiing\u002Fmobilenet-yolov4-pytorch\nYoloV5-V5.0 | https:\u002F\u002Fgithub.com\u002Fbubbliiiing\u002Fyolov5-pytorch\nYoloV5-V6.1 | https:\u002F\u002Fgithub.com\u002Fbubbliiiing\u002Fyolov5-v6.1-pytorch\nYoloX | https:\u002F\u002Fgithub.com\u002Fbubbliiiing\u002Fyolox-pytorch\nYoloV7 | https:\u002F\u002Fgithub.com\u002Fbubbliiiing\u002Fyolov7-pytorch\nYoloV7-tiny | https:\u002F\u002Fgithub.com\u002Fbubbliiiing\u002Fyolov7-tiny-pytorch\n\n## 性能情况\n| 训练数据集 | 权值文件名称 | 测试数据集 | 输入图片大小 | mAP 0.5:0.95 | mAP 0.5 |\n| :-----: | :-----: | :------: | :------: | :------: | :-----: |\n| COCO-Train2017 | [yolo_weights.pth](https:\u002F\u002Fgithub.com\u002Fbubbliiiing\u002Fyolo3-pytorch\u002Freleases\u002Fdownload\u002Fv1.0\u002Fyolo_weights.pth) | COCO-Val2017 | 416x416 | 38.0 | 67.2\n\n## 所需环境\ntorch == 1.2.0  \n详情请看requirements.txt，文件具有一定兼容性，已测试pytorch1.7和1.7.1可以正常运行。\n\n## 文件下载\n训练所需的yolo_weights.pth可以在百度云下载。  \n链接: https:\u002F\u002Fpan.baidu.com\u002Fs\u002F1hCV4kg8NyStkywLiAeEr3g   \n提取码: 6da3 \n\nVOC数据集下载地址如下，里面已经包括了训练集、测试集、验证集（与测试集一样），无需再次划分：  \n链接: https:\u002F\u002Fpan.baidu.com\u002Fs\u002F19Mw2u_df_nBzsC2lg20fQA   \n提取码: j5ge   \n\n## 训练步骤\n### a、训练VOC07+12数据集\n1. 数据集的准备   \n**本文使用VOC格式进行训练，训练前需要下载好VOC07+12的数据集，解压后放在根目录**  \n\n2. 数据集的处理   \n修改voc_annotation.py里面的annotation_mode=2，运行voc_annotation.py生成根目录下的2007_train.txt和2007_val.txt。   \n\n3. 开始网络训练   \ntrain.py的默认参数用于训练VOC数据集，直接运行train.py即可开始训练。   \n\n4. 训练结果预测   \n训练结果预测需要用到两个文件，分别是yolo.py和predict.py。我们首先需要去yolo.py里面修改model_path以及classes_path，这两个参数必须要修改。   \n**model_path指向训练好的权值文件，在logs文件夹里。   \nclasses_path指向检测类别所对应的txt。**   \n完成修改后就可以运行predict.py进行检测了。运行后输入图片路径即可检测。   \n\n### b、训练自己的数据集\n1. 数据集的准备  \n**本文使用VOC格式进行训练，训练前需要自己制作好数据集，**    \n训练前将标签文件放在VOCdevkit文件夹下的VOC2007文件夹下的Annotation中。   \n训练前将图片文件放在VOCdevkit文件夹下的VOC2007文件夹下的JPEGImages中。   \n\n2. 数据集的处理  \n在完成数据集的摆放之后，我们需要利用voc_annotation.py获得训练用的2007_train.txt和2007_val.txt。   \n修改voc_annotation.py里面的参数。第一次训练可以仅修改classes_path，classes_path用于指向检测类别所对应的txt。   \n训练自己的数据集时，可以自己建立一个cls_classes.txt，里面写自己所需要区分的类别。   \nmodel_data\u002Fcls_classes.txt文件内容为：      \n```python\ncat\ndog\n...\n```\n修改voc_annotation.py中的classes_path，使其对应cls_classes.txt，并运行voc_annotation.py。  \n\n3. 开始网络训练  \n**训练的参数较多，均在train.py中，大家可以在下载库后仔细看注释，其中最重要的部分依然是train.py里的classes_path。**  \n**classes_path用于指向检测类别所对应的txt，这个txt和voc_annotation.py里面的txt一样！训练自己的数据集必须要修改！**  \n修改完classes_path后就可以运行train.py开始训练了，在训练多个epoch后，权值会生成在logs文件夹中。  \n\n4. 训练结果预测  \n训练结果预测需要用到两个文件，分别是yolo.py和predict.py。在yolo.py里面修改model_path以及classes_path。  \n**model_path指向训练好的权值文件，在logs文件夹里。  \nclasses_path指向检测类别所对应的txt。**  \n完成修改后就可以运行predict.py进行检测了。运行后输入图片路径即可检测。  \n\n## 预测步骤\n### a、使用预训练权重\n1. 下载完库后解压，在百度网盘下载yolo_weights.pth，放入model_data，运行predict.py，输入  \n```python\nimg\u002Fstreet.jpg\n```\n2. 在predict.py里面进行设置可以进行fps测试和video视频检测。  \n### b、使用自己训练的权重\n1. 按照训练步骤训练。  \n2. 在yolo.py文件里面，在如下部分修改model_path和classes_path使其对应训练好的文件；**model_path对应logs文件夹下面的权值文件，classes_path是model_path对应分的类**。  \n```python\n_defaults = {\n    #--------------------------------------------------------------------------#\n    #   使用自己训练好的模型进行预测一定要修改model_path和classes_path！\n    #   model_path指向logs文件夹下的权值文件，classes_path指向model_data下的txt\n    #   如果出现shape不匹配，同时要注意训练时的model_path和classes_path参数的修改\n    #--------------------------------------------------------------------------#\n    \"model_path\"        : 'model_data\u002Fyolo_weights.pth',\n    \"classes_path\"      : 'model_data\u002Fcoco_classes.txt',\n    #---------------------------------------------------------------------#\n    #   anchors_path代表先验框对应的txt文件，一般不修改。\n    #   anchors_mask用于帮助代码找到对应的先验框，一般不修改。\n    #---------------------------------------------------------------------#\n    \"anchors_path\"      : 'model_data\u002Fyolo_anchors.txt',\n    \"anchors_mask\"      : [[6, 7, 8], [3, 4, 5], [0, 1, 2]],\n    #---------------------------------------------------------------------#\n    #   输入图片的大小，必须为32的倍数。\n    #---------------------------------------------------------------------#\n    \"input_shape\"       : [416, 416],\n    #---------------------------------------------------------------------#\n    #   只有得分大于置信度的预测框会被保留下来\n    #---------------------------------------------------------------------#\n    \"confidence\"        : 0.5,\n    #---------------------------------------------------------------------#\n    #   非极大抑制所用到的nms_iou大小\n    #---------------------------------------------------------------------#\n    \"nms_iou\"           : 0.3,\n    #---------------------------------------------------------------------#\n    #   该变量用于控制是否使用letterbox_image对输入图像进行不失真的resize，\n    #   在多次测试后，发现关闭letterbox_image直接resize的效果更好\n    #---------------------------------------------------------------------#\n    \"letterbox_image\"   : False,\n    #-------------------------------#\n    #   是否使用Cuda\n    #   没有GPU可以设置成False\n    #-------------------------------#\n    \"cuda\"              : True,\n}\n```\n3. 运行predict.py，输入  \n```python\nimg\u002Fstreet.jpg\n```\n4. 在predict.py里面进行设置可以进行fps测试和video视频检测。  \n\n## 评估步骤 \n### a、评估VOC07+12的测试集\n1. 本文使用VOC格式进行评估。VOC07+12已经划分好了测试集，无需利用voc_annotation.py生成ImageSets文件夹下的txt。\n2. 在yolo.py里面修改model_path以及classes_path。**model_path指向训练好的权值文件，在logs文件夹里。classes_path指向检测类别所对应的txt。**  \n3. 运行get_map.py即可获得评估结果，评估结果会保存在map_out文件夹中。\n\n### b、评估自己的数据集\n1. 本文使用VOC格式进行评估。  \n2. 如果在训练前已经运行过voc_annotation.py文件，代码会自动将数据集划分成训练集、验证集和测试集。如果想要修改测试集的比例，可以修改voc_annotation.py文件下的trainval_percent。trainval_percent用于指定(训练集+验证集)与测试集的比例，默认情况下 (训练集+验证集):测试集 = 9:1。train_percent用于指定(训练集+验证集)中训练集与验证集的比例，默认情况下 训练集:验证集 = 9:1。\n3. 利用voc_annotation.py划分测试集后，前往get_map.py文件修改classes_path，classes_path用于指向检测类别所对应的txt，这个txt和训练时的txt一样。评估自己的数据集必须要修改。\n4. 在yolo.py里面修改model_path以及classes_path。**model_path指向训练好的权值文件，在logs文件夹里。classes_path指向检测类别所对应的txt。**  \n5. 运行get_map.py即可获得评估结果，评估结果会保存在map_out文件夹中。\n\n## Reference\nhttps:\u002F\u002Fgithub.com\u002Fqqwweee\u002Fpytorch-yolo3  \nhttps:\u002F\u002Fgithub.com\u002Feriklindernoren\u002FPyTorch-YOLOv3   \nhttps:\u002F\u002Fgithub.com\u002FBobLiu20\u002FYOLOv3_PyTorch\n","## YOLOv3：在PyTorch中实现的“你只看一次”目标检测模型\n---\n\n## 目录\n1. [仓库更新 Top News](#仓库更新)\n2. [相关仓库 Related code](#相关仓库)\n3. [性能情况 Performance](#性能情况)\n4. [所需环境 Environment](#所需环境)\n5. [文件下载 Download](#文件下载)\n6. [训练步骤 How2train](#训练步骤)\n7. [预测步骤 How2predict](#预测步骤)\n8. [评估步骤 How2eval](#评估步骤)\n9. [参考资料 Reference](#Reference)\n\n## Top News\n**`2022-04`**:**支持多GPU训练，新增各个种类目标数量计算，新增heatmap。**  \n\n**`2022-03`**:**进行了大幅度的更新，修改了loss组成，使得分类、目标、回归loss的比例合适、支持step、cos学习率下降法、支持adam、sgd优化器选择、支持学习率根据batch_size自适应调整、新增图片裁剪。**  \nBiliBili视频中的原仓库地址为：https:\u002F\u002Fgithub.com\u002Fbubbliiiing\u002Fyolo3-pytorch\u002Ftree\u002Fbilibili\n\n**`2021-10`**:**进行了大幅度的更新，增加了大量注释、增加了大量可调整参数、对代码的组成模块进行修改、增加fps、视频预测、批量预测等功能。**   \n\n## 相关仓库\n| 模型 | 路径 |\n| :----- | :----- |\nYoloV3 | https:\u002F\u002Fgithub.com\u002Fbubbliiiing\u002Fyolo3-pytorch  \nEfficientnet-Yolo3 | https:\u002F\u002Fgithub.com\u002Fbubbliiiing\u002Fefficientnet-yolo3-pytorch  \nYoloV4 | https:\u002F\u002Fgithub.com\u002Fbubbliiiing\u002Fyolov4-pytorch\nYoloV4-tiny | https:\u002F\u002Fgithub.com\u002Fbubbliiiing\u002Fyolov4-tiny-pytorch\nMobilenet-Yolov4 | https:\u002F\u002Fgithub.com\u002Fbubbliiiing\u002Fmobilenet-yolov4-pytorch\nYoloV5-V5.0 | https:\u002F\u002Fgithub.com\u002Fbubbliiiing\u002Fyolov5-pytorch\nYoloV5-V6.1 | https:\u002F\u002Fgithub.com\u002Fbubbliiiing\u002Fyolov5-v6.1-pytorch\nYoloX | https:\u002F\u002Fgithub.com\u002Fbubbliiiing\u002Fyolox-pytorch\nYoloV7 | https:\u002F\u002Fgithub.com\u002Fbubbliiiing\u002Fyolov7-pytorch\nYoloV7-tiny | https:\u002F\u002Fgithub.com\u002Fbubbliiiing\u002Fyolov7-tiny-pytorch\n\n## 性能情况\n| 训练数据集 | 权值文件名称 | 测试数据集 | 输入图片大小 | mAP 0.5:0.95 | mAP 0.5 |\n| :-----: | :-----: | :------: | :------: | :------: | :-----: |\n| COCO-Train2017 | [yolo_weights.pth](https:\u002F\u002Fgithub.com\u002Fbubbliiiing\u002Fyolo3-pytorch\u002Freleases\u002Fdownload\u002Fv1.0\u002Fyolo_weights.pth) | COCO-Val2017 | 416x416 | 38.0 | 67.2\n\n## 所需环境\ntorch == 1.2.0  \n详情请看requirements.txt，文件具有一定兼容性，已测试pytorch1.7和1.7.1可以正常运行。\n\n## 文件下载\n训练所需的yolo_weights.pth可以在百度云下载。  \n链接: https:\u002F\u002Fpan.baidu.com\u002Fs\u002F1hCV4kg8NyStkywLiAeEr3g   \n提取码: 6da3 \n\nVOC数据集下载地址如下，里面已经包括了训练集、测试集、验证集（与测试集一样），无需再次划分：  \n链接: https:\u002F\u002Fpan.baidu.com\u002Fs\u002F19Mw2u_df_nBzsC2lg20fQA   \n提取码: j5ge   \n\n## 训练步骤\n### a、训练VOC07+12数据集\n1. 数据集的准备   \n**本文使用VOC格式进行训练，训练前需要下载好VOC07+12的数据集，解压后放在根目录**  \n\n2. 数据集的处理   \n修改voc_annotation.py里面的annotation_mode=2，运行voc_annotation.py生成根目录下的2007_train.txt和2007_val.txt。   \n\n3. 开始网络训练   \ntrain.py的默认参数用于训练VOC数据集，直接运行train.py即可开始训练。   \n\n4. 训练结果预测   \n训练结果预测需要用到两个文件，分别是yolo.py和predict.py。我们首先需要去yolo.py里面修改model_path以及classes_path，这两个参数必须要修改。   \n**model_path指向训练好的权值文件，在logs文件夹里。   \nclasses_path指向检测类别所对应的txt。**   \n完成修改后就可以运行predict.py进行检测了。运行后输入图片路径即可检测。   \n\n### b、训练自己的数据集\n1. 数据集的准备  \n**本文使用VOC格式进行训练，训练前需要自己制作好数据集，**    \n训练前将标签文件放在VOCdevkit文件夹下的VOC2007文件夹下的Annotation中。   \n训练前将图片文件放在VOCdevkit文件夹下的VOC2007文件夹下的JPEGImages中。   \n\n2. 数据集的处理  \n在完成数据集的摆放之后，我们需要利用voc_annotation.py获得训练用的2007_train.txt和2007_val.txt。   \n修改voc_annotation.py里面的参数。第一次训练可以仅修改classes_path，classes_path用于指向检测类别所对应的txt。   \n训练自己的数据集时，可以自己建立一个cls_classes.txt，里面写自己所需要区分的类别。   \nmodel_data\u002Fcls_classes.txt文件内容为：      \n```python\ncat\ndog\n...\n```\n修改voc_annotation.py中的classes_path，使其对应cls_classes.txt，并运行voc_annotation.py。  \n\n3. 开始网络训练  \n**训练的参数较多，均在train.py中，大家可以在下载库后仔细看注释，其中最重要的部分依然是train.py里的classes_path。**  \n**classes_path用于指向检测类别所对应的txt，这个txt和voc_annotation.py里面的txt一样！训练自己的数据集必须要修改！**  \n修改完classes_path后就可以运行train.py开始训练了，在训练多个epoch后，权值会生成在logs文件夹中。  \n\n4. 训练结果预测  \n训练结果预测需要用到两个文件，分别是yolo.py和predict.py。在yolo.py里面修改model_path以及classes_path。  \n**model_path指向训练好的权值文件，在logs文件夹里。  \nclasses_path指向检测类别所对应的txt。**  \n完成修改后就可以运行predict.py进行检测了。运行后输入图片路径即可检测。  \n\n## 预测步骤\n### a、使用预训练权重\n1. 下载完库后解压，在百度网盘下载yolo_weights.pth，放入model_data，运行predict.py，输入  \n```python\nimg\u002Fstreet.jpg\n```\n2. 在predict.py里面进行设置可以进行fps测试和video视频检测。  \n### b、使用自己训练的权重\n1. 按照训练步骤训练。  \n2. 在yolo.py文件里面，在如下部分修改model_path和classes_path使其对应训练好的文件；**model_path对应logs文件夹下面的权值文件，classes_path是model_path对应分的类**。  \n```python\n_defaults = {\n    #--------------------------------------------------------------------------#\n    #   使用自己训练好的模型进行预测一定要修改model_path和classes_path！\n    #   model_path指向logs文件夹下的权值文件，classes_path指向model_data下的txt\n    #   如果出现shape不匹配，同时要注意训练时的model_path和classes_path参数的修改\n    #--------------------------------------------------------------------------#\n    \"model_path\"        : 'model_data\u002Fyolo_weights.pth',\n    \"classes_path\"      : 'model_data\u002Fcoco_classes.txt',\n    #---------------------------------------------------------------------#\n    #   anchors_path代表先验框对应的txt文件，一般不修改。\n    #   anchors_mask用于帮助代码找到对应的先验框，一般不修改。\n    #---------------------------------------------------------------------#\n    \"anchors_path\"      : 'model_data\u002Fyolo_anchors.txt',\n    \"anchors_mask\"      : [[6, 7, 8], [3, 4, 5], [0, 1, 2]],\n    #---------------------------------------------------------------------#\n    #   输入图片的大小，必须为32的倍数。\n    #---------------------------------------------------------------------#\n    \"input_shape\"       : [416, 416],\n    #---------------------------------------------------------------------#\n    #   只有得分大于置信度的预测框会被保留下来\n    #---------------------------------------------------------------------#\n    \"confidence\"        : 0.5,\n    #---------------------------------------------------------------------#\n    #   非极大抑制所用到的nms_iou大小\n    #---------------------------------------------------------------------#\n    \"nms_iou\"           : 0.3,\n    #---------------------------------------------------------------------#\n    #   该变量用于控制是否使用letterbox_image对输入图像进行不失真的resize，\n    #   在多次测试后，发现关闭letterbox_image直接resize的效果更好\n    #---------------------------------------------------------------------#\n    \"letterbox_image\"   : False,\n    #-------------------------------#\n    #   是否使用Cuda\n    #   没有GPU可以设置成False\n    #-------------------------------#\n    \"cuda\"              : True,\n}\n```\n3. 运行predict.py，输入  \n```python\nimg\u002Fstreet.jpg\n```\n4. 在predict.py里面进行设置可以进行fps测试和video视频检测。  \n\n## 评估步骤 \n### a、评估VOC07+12的测试集\n1. 本文使用VOC格式进行评估。VOC07+12已经划分好了测试集，无需利用voc_annotation.py生成ImageSets文件夹下的txt。\n2. 在yolo.py里面修改model_path以及classes_path。**model_path指向训练好的权值文件，在logs文件夹里。classes_path指向检测类别所对应的txt。**  \n3. 运行get_map.py即可获得评估结果，评估结果会保存在map_out文件夹中。\n\n### b、评估自己的数据集\n1. 本文使用VOC格式进行评估。  \n2. 如果在训练前已经运行过voc_annotation.py文件，代码会自动将数据集划分成训练集、验证集和测试集。如果想要修改测试集的比例，可以修改voc_annotation.py文件下的trainval_percent。trainval_percent用于指定(训练集+验证集)与测试集的比例，默认情况下 (训练集+验证集):测试集 = 9:1。train_percent用于指定(训练集+验证集)中训练集与验证集的比例，默认情况下 训练集:验证集 = 9:1。\n3. 利用voc_annotation.py划分测试集后，前往get_map.py文件修改classes_path，classes_path用于指向检测类别所对应的txt，这个txt和训练时的txt一样。评估自己的数据集必须要修改。\n4. 在yolo.py里面修改model_path以及classes_path。**model_path指向训练好的权值文件，在logs文件夹里。classes_path指向检测类别所对应的txt。**  \n5. 运行get_map.py即可获得评估结果，评估结果会保存在map_out文件夹中。\n\n## Reference\nhttps:\u002F\u002Fgithub.com\u002Fqqwweee\u002Fpytorch-yolo3  \nhttps:\u002F\u002Fgithub.com\u002Feriklindernoren\u002FPyTorch-YOLOv3   \nhttps:\u002F\u002Fgithub.com\u002FBobLiu20\u002FYOLOv3_PyTorch","# YOLOv3-PyTorch 快速上手指南\n\n## 1. 环境准备\n\n在开始之前，请确保您的开发环境满足以下要求：\n\n*   **操作系统**：Linux \u002F Windows \u002F macOS\n*   **Python 版本**：推荐 Python 3.6 - 3.8\n*   **核心依赖**：\n    *   `torch == 1.2.0` (已测试兼容 PyTorch 1.7 及 1.7.1)\n    *   其他依赖请参考项目根目录下的 `requirements.txt`\n*   **硬件建议**：推荐使用 NVIDIA GPU 进行训练和推理（需安装 CUDA），若无 GPU 可将代码中的 `cuda` 参数设为 `False`。\n\n## 2. 安装步骤\n\n### 2.1 克隆仓库\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fbubbliiiing\u002Fyolo3-pytorch.git\ncd yolo3-pytorch\n```\n\n### 2.2 安装依赖\n建议使用国内镜像源加速安装：\n```bash\npip install -r requirements.txt -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n```\n\n### 2.3 下载预训练权重\n本项目提供百度网盘下载链接，请下载 `yolo_weights.pth` 并放入 `model_data` 文件夹中。\n\n*   **下载地址**：https:\u002F\u002Fpan.baidu.com\u002Fs\u002F1hCV4kg8NyStkywLiAeEr3g\n*   **提取码**：`6da3`\n*   **操作**：将下载的文件重命名为 `yolo_weights.pth` 并移至 `.\u002Fmodel_data\u002F` 目录。\n\n## 3. 基本使用\n\n### 3.1 快速预测（使用预训练模型）\n完成上述安装和权重下载后，可直接运行预测脚本对默认图片进行检测：\n\n```bash\npython predict.py\n```\n运行后根据提示输入图片路径（例如：`img\u002Fstreet.jpg`），程序将输出检测后的图片。\n\n> **提示**：如需检测视频或测试 FPS，请修改 `predict.py` 文件中的相关配置项。\n\n### 3.2 训练自己的数据集（VOC 格式）\n\n若需训练自定义类别，请按以下步骤操作：\n\n1.  **准备数据**：\n    将图片放入 `VOCdevkit\u002FVOC2007\u002FJPEGImages`，标签文件放入 `VOCdevkit\u002FVOC2007\u002FAnnotations`。\n2.  **配置类别**：\n    在 `model_data` 下创建 `cls_classes.txt`，写入你的类别名称（每行一个）：\n    ```text\n    cat\n    dog\n    person\n    ```\n3.  **生成训练索引**：\n    修改 `voc_annotation.py`：\n    *   设置 `annotation_mode = 2`\n    *   设置 `classes_path` 指向刚才创建的 `model_data\u002Fcls_classes.txt`\n    \n    运行脚本生成训练集和验证集列表：\n    ```bash\n    python voc_annotation.py\n    ```\n4.  **开始训练**：\n    修改 `train.py` 中的 `classes_path` 确保与上一步一致，然后运行：\n    ```bash\n    python train.py\n    ```\n    训练生成的权重文件将保存在 `logs` 文件夹中。\n\n### 3.3 使用自训练模型预测\n训练完成后，修改 `yolo.py` 或 `predict.py` 中的配置字典 `_defaults`：\n\n```python\n_defaults = {\n    # 必须修改：指向 logs 文件夹下生成的最新权值文件\n    \"model_path\"        : 'logs\u002FepXXX-iterYYY-lossZ.ZZZ.pth', \n    # 必须修改：指向你的类别文件\n    \"classes_path\"      : 'model_data\u002Fcls_classes.txt',\n    # 其他参数保持默认或按需调整\n    \"confidence\"        : 0.5,\n    \"nms_iou\"           : 0.3,\n    \"cuda\"              : True,\n}\n```\n\n保存后运行预测：\n```bash\npython predict.py\n```","某智慧农业团队需要开发一套系统，自动识别果园监控视频中的成熟苹果与病虫害叶片，以指导精准采摘和施药。\n\n### 没有 yolo3-pytorch 时\n- **算法复现困难**：团队成员需从零研读 YOLOv3 论文并手动搭建复杂的网络结构，极易因代码细节错误导致模型无法收敛。\n- **自定义训练门槛高**：缺乏针对 VOC 格式数据集的完整预处理脚本，整理标注数据与生成训练索引文件耗费大量人力。\n- **调试成本高昂**：缺少可视化的损失函数监控与自适应学习率调整机制，难以定位是分类不准还是定位偏差，调参如同“盲人摸象”。\n- **部署验证繁琐**：没有内置的视频流预测与 FPS 测试功能，难以快速评估模型在实时监控场景下的实际运行效率。\n\n### 使用 yolo3-pytorch 后\n- **开箱即用架构**：直接复用仓库中成熟的 PyTorch 实现代码，支持多 GPU 训练，将环境搭建与模型构建时间从数周缩短至几天。\n- **流程自动化**：利用自带的 `voc_annotation.py` 脚本，一键将团队采集的果园图片转换为标准训练格式，自动划分训练集与验证集。\n- **训练智能优化**：借助新增的 Loss 比例自适应与 Cos 学习率下降策略，模型在少量 epoch 内即可达到高精度，快速区分病叶与健康果。\n- **高效推理验证**：通过修改 `predict.py` 参数即可直接对果园监控视频进行批量检测，实时输出带框结果与 FPS 数据，迅速验证落地可行性。\n\nyolo3-pytorch 通过提供全流程的代码实现与工具链，让农业团队无需深究底层算法细节，即可低成本、高效率地定制专属的目标检测模型。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fbubbliiiing_yolo3-pytorch_cba3a1ea.png","bubbliiiing","Bubbliiiing","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fbubbliiiing_ad57dd39.jpg","Bubbliiiing哔哩哔哩空间： \r\nhttps:\u002F\u002Fspace.bilibili.com\u002F472467171   ",null,"https:\u002F\u002Fblog.csdn.net\u002Fweixin_44791964","https:\u002F\u002Fgithub.com\u002Fbubbliiiing",[81],{"name":82,"color":83,"percentage":84},"Python","#3572A5",100,2110,579,"2026-04-09T03:09:10","MIT","未说明","非必需（可设置 cuda=False 使用 CPU），若使用 GPU 需支持 CUDA（具体版本未说明，但兼容 PyTorch 1.2.0 至 1.7.1）",{"notes":92,"python":89,"dependencies":93},"1. 代码中可通过设置 'cuda': False 在无 GPU 环境下运行。\n2. 输入图片大小必须为 32 的倍数（默认 416x416）。\n3. 训练和预测前需根据数据集修改 classes_path 指向对应的类别 txt 文件。\n4. 预训练权重和 VOC 数据集需从百度网盘手动下载。",[94],"torch==1.2.0 (兼容 1.7, 1.7.1)",[15],"2026-03-27T02:49:30.150509","2026-04-18T22:33:43.749741",[99,104,109,114,119,124,129,134,139],{"id":100,"question_zh":101,"answer_zh":102,"source_url":103},40636,"加载预训练权重时出现 'Fail to Load Key' 错误，部分层无法加载怎么办？","这通常是因为模型结构或类别数量与预训练权重不匹配导致的。虽然具体解决方案因版本而异，但常见原因是修改了 num_classes 后未重新生成对应的权重文件，或者 PyTorch 版本兼容性问题。建议检查代码中的类别设置是否与权重文件一致，或尝试使用官方提供的对应版本的预训练权重。如果问题依旧，可以尝试从头训练或不加载预训练权重。","https:\u002F\u002Fgithub.com\u002Fbubbliiiing\u002Fyolo3-pytorch\u002Fissues\u002F149",{"id":105,"question_zh":106,"answer_zh":107,"source_url":108},40637,"将 YOLOv3 的 Box Loss 替换为 CIoU Loss 后，训练不稳定且检测效果下降怎么办？","直接复制 YOLOv4 的 CIoU Loss 代码到 v3 中往往会导致问题。维护者指出可能是修改有误，特别是 `get_ignore` 部分，旧版代码使用的是 `.data`（无梯度），直接复制可能导致梯度计算错误。此外，有用户反馈替换后出现负数坐标。建议仔细对比 v3 和 v4 的代码差异，确保梯度回传路径正确，不要简单粗暴地整体复制 Loss 部分，需适配 v3 的网络结构特性。","https:\u002F\u002Fgithub.com\u002Fbubbliiiing\u002Fyolo3-pytorch\u002Fissues\u002F24",{"id":110,"question_zh":111,"answer_zh":112,"source_url":113},40638,"YOLOv3 训练时 Conf Loss 计算为什么要只取 [noobj_mask.bool() | obj_mask]？忽略了一部分样本吗？","这是 YOLOv3 的标准做法。该操作旨在忽略那些“负样本中预测得较好”的框。具体来说，它忽略了初始锚框（未经网络修正）与真实框（GT Box）的 IoU 大于 0.5，但又不是最大 IoU 的那些框。这样做是为了避免让网络去惩罚那些其实已经定位得不错的负样本，从而专注于难例挖掘，符合原论文的设计逻辑。","https:\u002F\u002Fgithub.com\u002Fbubbliiiing\u002Fyolo3-pytorch\u002Fissues\u002F160",{"id":115,"question_zh":116,"answer_zh":117,"source_url":118},40639,"YOLOv3 默认应该训练多少个 Epoch 或 Step？如何根据官方配置换算？","官方 Darknet 配置中通常设置 `max_batches = 50200`。如果使用 VOC 数据集且 Batch Size 设为 64，折算下来大约需要训练 228 到 230 个 Epoch。建议参考官方 cfg 文件中的 `max_batches` 参数，并根据你自己的数据集大小和 Batch Size 进行换算：Epochs ≈ (max_batches * batch_size) \u002F 数据集图片总数。","https:\u002F\u002Fgithub.com\u002Fbubbliiiing\u002Fyolo3-pytorch\u002Fissues\u002F162",{"id":120,"question_zh":121,"answer_zh":122,"source_url":123},40640,"train.py 中的 Freeze（冻结）和 Unfreeze（解冻）参数设置原则是什么？","这两个参数的设置主要基于经验而非严格的理论公式。默认值（如 Freeze=25, Unfreeze=50）是通过实验得出的较优解。一般策略是：先冻结主干网络进行训练，使头部网络适应新数据；然后再解冻主干网络进行微调，以提升整体特征提取能力。具体的 Epoch 分配可根据数据集大小和收敛情况适当调整。","https:\u002F\u002Fgithub.com\u002Fbubbliiiing\u002Fyolo3-pytorch\u002Fissues\u002F21",{"id":125,"question_zh":126,"answer_zh":127,"source_url":128},40641,"代码中缺少 net.eval() 和 net.train() 的切换，会影响 BatchNorm 的效果吗？","理论上，包含 BatchNorm 和 Dropout 的网络在验证\u002F预测时必须调用 `net.eval()`，训练时调用 `net.train()`，否则统计量计算会有偏差。但在该项目的实际测试中，维护者发现显式添加这些调用有时反而导致检测效果下降（可能是实现细节或玄学因素）。虽然有竞赛经验表明不加会有约 1 个点的损失，但目前代码状态可能是经过特定权衡的结果。若你遇到精度异常，可尝试手动加上 `model.eval()` 进行测试对比。","https:\u002F\u002Fgithub.com\u002Fbubbliiiing\u002Fyolo3-pytorch\u002Fissues\u002F2",{"id":130,"question_zh":131,"answer_zh":132,"source_url":133},40642,"运行 train.py 报错 'DarkNet object has no attribute layers_out_filters' 如何解决？","这个错误通常是因为用户手动修改了代码（如注释、格式调整）导致属性定义丢失或对齐错误，而不是代码库本身的问题。维护者确认源码中是有 `layers_out_filters` 属性的。解决方法是：不要手动修改核心网络定义文件，或者重新从 GitHub 克隆一份完整的、未修改的代码库即可正常运行。","https:\u002F\u002Fgithub.com\u002Fbubbliiiing\u002Fyolo3-pytorch\u002Fissues\u002F129",{"id":135,"question_zh":136,"answer_zh":137,"source_url":138},40643,"训练时 GPU 利用率低（30%-40%）且 Loss 中回归误差远小于分类误差，是否正常？","1. GPU 利用率低：如果是冻结主干网络训练，GPU 负载较低是正常的。可以尝试增加 `num_workers` 或增大 `batch_size` 来提升利用率，但未必能显著缩短总训练时间。\n2. Loss 数值差异：框的回归误差（MSE 等）通常比概率误差（BCE）小几个数量级，这是正常现象，不影响收敛。\n3. 编码问题：目标检测中对坐标进行编码（如取对数、归一化）是标准流程，不能直接对原始 x,y,w,h 求均方误差，必须按照代码中的方式进行编码后再计算 Loss。","https:\u002F\u002Fgithub.com\u002Fbubbliiiing\u002Fyolo3-pytorch\u002Fissues\u002F88",{"id":140,"question_zh":141,"answer_zh":142,"source_url":143},40644,"在 VOC 数据集上训练 Loss 不下降，维持在高位怎么办？","这种情况通常不是预训练权重的问题，而是学习率调度器（lr_scheduler）设置不当导致的。常见原因是学习率在几个 Epoch 后衰减过快或过低，导致模型无法继续优化。请检查 `lr_scheduler` 的参数配置，确保学习率衰减策略合理，必要时可以调整初始学习率或衰减步长。","https:\u002F\u002Fgithub.com\u002Fbubbliiiing\u002Fyolo3-pytorch\u002Fissues\u002F11",[145,150,155,160],{"id":146,"version":147,"summary_zh":148,"released_at":149},324132,"v3.2","## 重要更新\n- 增加了训练时评估功能，可在train.py中开关该功能或调整评估周期。\n- 更新了评估代码，支持设置计算召回率（Recall）和精确率（Precision）的阈值。\n- 在summary.py中新增了网络各类参数的计算功能。\n- 增加了保存模型权重的方法，包括保存损失最低时的权重、最近一次保存的权重等。\n- 新增了大量注释。","2022-07-16T08:15:44",{"id":151,"version":152,"summary_zh":153,"released_at":154},324133,"v3.1","## 重要更新\n- 修改了损失函数的组成，使分类损失、目标检测损失和回归损失的比例更加合理。\n- 支持阶梯式和余弦退火两种学习率衰减策略。\n- 支持选择Adam和SGD两种优化器。\n- 支持根据batch_size自动调整学习率。\n- 支持多种预测模式：单张图片预测、文件夹内图片批量预测、视频预测、图片裁剪、热力图生成以及各类别目标数量统计。\n- 更新了summary.py文件，用于可视化网络结构。\n- 增加了多GPU训练功能。","2022-02-23T11:56:42",{"id":156,"version":157,"summary_zh":158,"released_at":159},324134,"v2.0","## 重要更新\n- 更新train.py文件，增加了大量的注释，并新增多个可调整参数。\n- 更新predict.py文件，增加了大量的注释，并新增fps、视频预测、批量预测等功能。\n- 更新yolo.py文件，增加了大量的注释，并新增先验框选择、置信度、非极大抑制等参数。\n- 将get_dr_txt.py、get_gt_txt.py和get_map.py文件合并，通过一个文件实现数据集的评估。\n- 更新voc_annotation.py文件，新增多个可调整参数。\n- 更新kmeans_for_anchors.py文件，用于计算先验框的大小。\n- 更新summary.py文件，用于查看网络结构。","2022-02-15T13:33:11",{"id":161,"version":162,"summary_zh":163,"released_at":164},324135,"v1.0","YOLOv3的预训练权重。","2020-09-09T01:54:53"]