[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-BIGBALLON--CIFAR-ZOO":3,"tool-BIGBALLON--CIFAR-ZOO":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 真正成长为懂上",150037,2,"2026-04-10T23:33:47",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",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":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":79,"owner_twitter":80,"owner_website":81,"owner_url":82,"languages":83,"stars":92,"forks":93,"last_commit_at":94,"license":95,"difficulty_score":32,"env_os":96,"env_gpu":97,"env_ram":96,"env_deps":98,"category_tags":106,"github_topics":107,"view_count":10,"oss_zip_url":80,"oss_zip_packed_at":80,"status":17,"created_at":118,"updated_at":119,"faqs":120,"releases":146},1405,"BIGBALLON\u002FCIFAR-ZOO","CIFAR-ZOO","PyTorch implementation of CNNs for CIFAR benchmark","CIFAR-ZOO 是一个基于 PyTorch 构建的开源代码库，专注于在 CIFAR-10 和 CIFAR-100 基准数据集上复现多种经典的卷积神经网络（CNN）架构及其改进方法。它主要解决了研究人员在复现论文模型时面临的代码分散、环境配置复杂以及结果难以对齐等痛点，提供了一个统一、标准化的实验平台。\n\n该工具非常适合人工智能领域的研究人员、算法工程师以及深度学习学生使用。无论是需要快速验证新想法的学者，还是希望系统学习主流网络结构的学生，都能从中获益。CIFAR-ZOO 的核心亮点在于其丰富的模型覆盖范围，不仅包含了 LeNet、AlexNet、VGG、ResNet、DenseNet 等基础架构，还集成了 SENet、CBAM、SKNet 等先进的注意力机制模块，以及 Mixup、Cutout、Shake-Shake 等多种正则化技术和学习率调度策略。\n\n通过简洁的命令行接口和 YAML 配置文件，用户可以轻松地在单卡或多卡环境下启动训练与评估，并利用 TensorBoard 直观监控训练曲线。虽然该项目目前处于归档状态（最终支持至 PyTorch 1.7），但其清晰的代码结构和","CIFAR-ZOO 是一个基于 PyTorch 构建的开源代码库，专注于在 CIFAR-10 和 CIFAR-100 基准数据集上复现多种经典的卷积神经网络（CNN）架构及其改进方法。它主要解决了研究人员在复现论文模型时面临的代码分散、环境配置复杂以及结果难以对齐等痛点，提供了一个统一、标准化的实验平台。\n\n该工具非常适合人工智能领域的研究人员、算法工程师以及深度学习学生使用。无论是需要快速验证新想法的学者，还是希望系统学习主流网络结构的学生，都能从中获益。CIFAR-ZOO 的核心亮点在于其丰富的模型覆盖范围，不仅包含了 LeNet、AlexNet、VGG、ResNet、DenseNet 等基础架构，还集成了 SENet、CBAM、SKNet 等先进的注意力机制模块，以及 Mixup、Cutout、Shake-Shake 等多种正则化技术和学习率调度策略。\n\n通过简洁的命令行接口和 YAML 配置文件，用户可以轻松地在单卡或多卡环境下启动训练与评估，并利用 TensorBoard 直观监控训练曲线。虽然该项目目前处于归档状态（最终支持至 PyTorch 1.7），但其清晰的代码结构和详实的实验结果记录，依然使其成为理解图像分类任务基线模型和复现经典论文的宝贵参考资源。","# Awesome CIFAR Zoo  \r\n\r\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FBIGBALLON_CIFAR-ZOO_readme_33d91d4a25e9.png\" width=15% align=\"right\" \u002F> \r\n\r\nStatus: **Archive** ( Final test with **PyTorch 1.7** and no longer maintained, I would recommend you to use [pycls](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fpycls) powered by [FAIR](https:\u002F\u002Fgithub.com\u002Ffacebookresearch), which is a simple and flexible codebase for image classification )\r\n\r\n\r\nThis repository contains the pytorch code for multiple CNN architectures and improve methods based on the following papers, **hope the implementation and results will helpful for your research**!!\r\n\r\n- Architecure\r\n  - **(lenet)** [LeNet-5, convolutional neural networks](http:\u002F\u002Fyann.lecun.com\u002Fexdb\u002Flenet\u002F)\r\n  - **(alexnet)** [ImageNet Classification with Deep Convolutional Neural Networks](https:\u002F\u002Fpapers.nips.cc\u002Fpaper\u002F4824-imagenet-classification-with-deep-convolutional-neural-networks)\r\n  - **(vgg)** [Very Deep Convolutional Networks for Large-Scale Image Recognition](https:\u002F\u002Farxiv.org\u002Fabs\u002F1409.1556)\r\n  - **(resnet)** [Deep Residual Learning for Image Recognition](https:\u002F\u002Farxiv.org\u002Fabs\u002F1512.03385)\r\n  - **(preresnet)** [Identity Mappings in Deep Residual Networks](https:\u002F\u002Farxiv.org\u002Fabs\u002F1603.05027)\r\n  - **(resnext)** [Aggregated Residual Transformations for Deep Neural Networks](https:\u002F\u002Farxiv.org\u002Fabs\u002F1611.05431)\r\n  - **(densenet)** [Densely Connected Convolutional Networks](https:\u002F\u002Farxiv.org\u002Fabs\u002F1608.06993)\r\n  - **(senet)** [Squeeze-and-Excitation Networks](https:\u002F\u002Farxiv.org\u002Fabs\u002F1709.01507)\r\n  - **(bam)** [BAM: Bottleneck Attention Module](https:\u002F\u002Farxiv.org\u002Fabs\u002F1807.06514)\r\n  - **(cbam)** [CBAM: Convolutional Block Attention Module](https:\u002F\u002Farxiv.org\u002Fabs\u002F1807.06521)\r\n  - **(genet)** [Gather-Excite: Exploiting Feature Context in Convolutional Neural Networks](https:\u002F\u002Farxiv.org\u002Fabs\u002F1810.12348)\r\n  - **(sknet)** [SKNet: Selective Kernel Networks](https:\u002F\u002Farxiv.org\u002Fabs\u002F1903.06586)\r\n- Regularization\r\n  - **(shake-shake)** [Shake-Shake regularization](https:\u002F\u002Farxiv.org\u002Fabs\u002F1705.07485)\r\n  - **(cutout)** [Improved Regularization of Convolutional Neural Networks with Cutout](https:\u002F\u002Farxiv.org\u002Fabs\u002F1708.04552)\r\n  - **(mixup)** [mixup: Beyond Empirical Risk Minimization](https:\u002F\u002Farxiv.org\u002Fabs\u002F1710.09412)\r\n- Learning Rate Scheduler\r\n  - **(cos_lr)** [SGDR: Stochastic Gradient Descent with Warm Restarts](https:\u002F\u002Farxiv.org\u002Fabs\u002F1608.03983)\r\n  - **(htd_lr)** [Stochastic Gradient Descent with Hyperbolic-Tangent Decay on Classification](https:\u002F\u002Farxiv.org\u002Fabs\u002F1806.01593)\r\n\r\n\r\n## Requirements and Usage \r\n\r\n### Requirements\r\n\r\n- Python (**>=3.6**)\r\n- PyTorch (**>=1.1.0**)\r\n- Tensorboard(**>=1.4.0**) (for ***visualization***)\r\n- Other dependencies (pyyaml, easydict)\r\n\r\n\r\n```bash\r\npip install -r requirements.txt\r\n```\r\n\r\n### Usage \r\n\r\nsimply run the cmd for the training:\r\n\r\n```bash\r\n## 1 GPU for lenet\r\nCUDA_VISIBLE_DEVICES=0 python -u train.py --work-path .\u002Fexperiments\u002Fcifar10\u002Flenet\r\n\r\n## resume from ckpt\r\nCUDA_VISIBLE_DEVICES=0 python -u train.py --work-path .\u002Fexperiments\u002Fcifar10\u002Flenet --resume\r\n\r\n## 2 GPUs for resnet1202\r\nCUDA_VISIBLE_DEVICES=0,1 python -u train.py --work-path .\u002Fexperiments\u002Fcifar10\u002Fpreresnet1202\r\n\r\n## 4 GPUs for densenet190bc\r\nCUDA_VISIBLE_DEVICES=0,1,2,3 python -u train.py --work-path .\u002Fexperiments\u002Fcifar10\u002Fdensenet190bc\r\n\r\n## 1 GPU for vgg19 inference\r\nCUDA_VISIBLE_DEVICES=0 python -u eval.py --work-path .\u002Fexperiments\u002Fcifar10\u002Fvgg19\r\n``` \r\n\r\nWe use yaml file ``config.yaml`` to save the parameters, check any files in `.\u002Fexperimets` for more details.  \r\nYou can see the training curve via tensorboard, ``tensorboard --logdir path-to-event --port your-port``.  \r\nThe training log will be dumped via logging, check ``log.txt`` in your work path.\r\n\r\n\r\n## Results on CIFAR\r\n\r\n### Vanilla architectures\r\n\r\n| architecture          | params | batch size | epoch | C10 test acc (%) | C100 test acc (%) |\r\n| :-------------------- | :----: | :--------: | :---: | :--------------: | :---------------: |\r\n| Lecun                 |  62K   |    128     |  250  |      67.46       |       34.10       |\r\n| alexnet               |  2.4M  |    128     |  250  |      75.56       |       38.67       |\r\n| vgg19                 |  20M   |    128     |  250  |      93.00       |       72.07       |\r\n| preresnet20           | 0.27M  |    128     |  250  |      91.88       |       67.03       |\r\n| preresnet110          |  1.7M  |    128     |  250  |      94.24       |       72.96       |\r\n| preresnet1202         | 19.4M  |    128     |  250  |      94.74       |       75.28       |\r\n| densenet100bc         | 0.76M  |     64     |  300  |      95.08       |       77.55       |\r\n| densenet190bc         | 25.6M  |     64     |  300  |      96.11       |       82.59       |\r\n| resnext29_16x64d      | 68.1M  |    128     |  300  |      95.94       |       83.18       |\r\n| se_resnext29_16x64d   | 68.6M  |    128     |  300  |      96.15       |     **83.65**     |\r\n| cbam_resnext29_16x64d | 68.7M  |    128     |  300  |    **96.27**     |       83.62       |\r\n| ge_resnext29_16x64d   | 70.0M  |    128     |  300  |      96.21       |       83.57       |\r\n\r\n\r\n### With additional regularization\r\n\r\n\r\nPS: the default data augmentation methods are ``RandomCrop`` + ``RandomHorizontalFlip`` + ``Normalize``,   \r\nand the ``√`` means which additional method be used. :cake:\r\n\r\n| architecture             | epoch | cutout | mixup | C10 test acc (%) |\r\n| :----------------------- | :---: | :----: | :---: | :--------------: |\r\n| preresnet20              |  250  |        |       |      91.88       |\r\n| preresnet20              |  250  |   √    |       |      92.57       |\r\n| preresnet20              |  250  |        |   √   |      92.71       |\r\n| preresnet20              |  250  |   √    |   √   |      92.66       |\r\n| preresnet110             |  250  |        |       |      94.24       |\r\n| preresnet110             |  250  |   √    |       |      94.67       |\r\n| preresnet110             |  250  |        |   √   |      94.94       |\r\n| preresnet110             |  250  |   √    |   √   |      95.66       |\r\n| se_resnext29_16x64d      |  300  |        |       |      96.15       |\r\n| se_resnext29_16x64d      |  300  |   √    |       |      96.60       |\r\n| se_resnext29_16x64d      |  300  |        |   √   |      96.86       |\r\n| se_resnext29_16x64d      |  300  |   √    |   √   |    **97.03**     |\r\n| cbam_resnext29_16x64d    |  300  |   √    |   √   |    **97.16**     |\r\n| ge_resnext29_16x64d      |  300  |   √    |   √   |    **97.19**     |\r\n| --                       |  --   |   --   |  --   |        --        |\r\n| shake_resnet26_2x64d     | 1800  |        |       |      96.94       |\r\n| shake_resnet26_2x64d     | 1800  |   √    |       |    **97.20**     |\r\n| shake_resnet26_2x64d     | 1800  |        |   √   |    **97.42**     |\r\n| **shake_resnet26_2x64d** | 1800  |   √    |   √   |    **97.71**     |\r\n\r\nPS: ``shake_resnet26_2x64d`` achieved **97.71%** test accuracy with ``cutout`` and ``mixup``!!    \r\nIt's cool, right?  \r\n \r\n### With different LR scheduler\r\n\r\n| architecture | epoch | step decay | cosine | htd(-6,3) | cutout | mixup | C10 test acc (%) |\r\n| :----------- | :---: | :--------: | :----: | :-------: | :----: | :---: | :--------------: |\r\n| preresnet20  |  250  |     √      |        |           |        |       |      91.88       |\r\n| preresnet20  |  250  |            |   √    |           |        |       |      92.13       |\r\n| preresnet20  |  250  |            |        |     √     |        |       |      92.44       |\r\n| preresnet20  |  250  |            |        |     √     |   √    |   √   |    **93.30**     |\r\n| preresnet110 |  250  |     √      |        |           |        |       |      94.24       |\r\n| preresnet110 |  250  |            |   √    |           |        |       |      94.48       |\r\n| preresnet110 |  250  |            |        |     √     |        |       |      94.82       |\r\n| preresnet110 |  250  |            |        |     √     |   √    |   √   |    **95.88**     |\r\n\r\n\r\n## Acknowledgments\r\n\r\nProvided codes were adapted from\r\n\r\n- [kuangliu\u002Fpytorch-cifar](https:\u002F\u002Fgithub.com\u002Fkuangliu\u002Fpytorch-cifar)\r\n- [bearpaw\u002Fpytorch-classification](https:\u002F\u002Fgithub.com\u002Fbearpaw\u002Fpytorch-classification)\r\n- [timgaripov\u002Fswa](https:\u002F\u002Fgithub.com\u002Ftimgaripov\u002Fswa)\r\n- [xgastaldi\u002Fshake-shake](https:\u002F\u002Fgithub.com\u002Fxgastaldi\u002Fshake-shake)\r\n- [uoguelph-mlrg\u002FCutout](https:\u002F\u002Fgithub.com\u002Fuoguelph-mlrg\u002FCutout)\r\n- [facebookresearch\u002Fmixup-cifar10](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fmixup-cifar10)\r\n- [BIGBALLON\u002Fcifar-10-cnn](https:\u002F\u002Fgithub.com\u002FBIGBALLON\u002Fcifar-10-cnn)\r\n- [BayesWatch\u002Fpytorch-GENet](https:\u002F\u002Fgithub.com\u002FBayesWatch\u002Fpytorch-GENet\u002F)\r\n- [Jongchan\u002Fattention-module](https:\u002F\u002Fgithub.com\u002FJongchan\u002Fattention-module)\r\n- [pppLang\u002FSKNet](https:\u002F\u002Fgithub.com\u002FpppLang\u002FSKNet)\r\n\r\n\r\nFeel free to contact me if you have any suggestions or questions, issues are welcome,   \r\ncreate a PR if you find any bugs or you want to contribute. :blush:     \r\n\r\n\r\n\r\n## Citation\r\n\r\n```\r\n@misc{bigballon2019cifarzoo,\r\n  author = {Wei Li},\r\n  title = {CIFAR-ZOO: PyTorch implementation of CNNs for CIFAR dataset},\r\n  howpublished = {\\url{https:\u002F\u002Fgithub.com\u002FBIGBALLON\u002FCIFAR-ZOO}},\r\n  year = {2019}\r\n}\r\n```\r\n","# 精彩的 CIFAR 动物世界\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FBIGBALLON_CIFAR-ZOO_readme_33d91d4a25e9.png\" width=15% align=\"right\" \u002F> \n\n状态：**归档**（最终测试使用 **PyTorch 1.7**，且已不再维护。我建议您使用由 [FAIR](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fpycls) 提供支持的 [pycls](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fpycls)，这是一个简单而灵活的图像分类代码库。）\n\n本仓库包含基于以下论文的多种 CNN 架构及改进方法的 PyTorch 代码，**希望这些实现与结果能为您的研究提供帮助**！\n\n- 架构\n  - **(Lenet)** [LeNet-5，卷积神经网络](http:\u002F\u002Fyann.lecun.com\u002Fexdb\u002Flenet\u002F)\n  - **(AlexNet)** [ImageNet 分类：深度卷积神经网络](https:\u002F\u002Fpapers.nips.cc\u002Fpaper\u002F4824-imagenet-classification-with-deep-convolutional-neural-networks)\n  - **(VGG)** [用于大规模图像识别的超深卷积神经网络](https:\u002F\u002Farxiv.org\u002Fabs\u002F1409.1556)\n  - **(ResNet)** [用于图像识别的深度残差学习](https:\u002F\u002Farxiv.org\u002Fabs\u002F1512.03385)\n  - **(PreresNet)** [深度残差网络中的恒等映射](https:\u002F\u002Farxiv.org\u002Fabs\u002F1603.05027)\n  - **(ResNeXt)** [用于深层神经网络的聚合残差变换](https:\u002F\u002Farxiv.org\u002Fabs\u002F1611.05431)\n  - **(DenseNet)** [密集连接的卷积网络](https:\u002F\u002Farxiv.org\u002Fabs\u002F1608.06993)\n  - **(SENet)** [挤压与激活网络](https:\u002F\u002Farxiv.org\u002Fabs\u002F1709.01507)\n  - **(BAM)** [BAM：瓶颈注意力模块](https:\u002F\u002Farxiv.org\u002Fabs\u002F1807.06514)\n  - **(CBAM)** [CBAM：卷积块注意力模块](https:\u002F\u002Farxiv.org\u002Fabs\u002F1807.06521)\n  - **(Genet)** [Gather-Excite：在卷积神经网络中挖掘特征上下文](https:\u002F\u002Farxiv.org\u002Fabs\u002F1810.12348)\n  - **(SKNet)** [SKNet：选择性核网络](https:\u002F\u002Farxiv.org\u002Fabs\u002F1903.06586)\n- 正则化\n  - **(Shake-Shake)** [Shake-Shake 正则化](https:\u002F\u002Farxiv.org\u002Fabs\u002F1705.07485)\n  - **(Cutout)** [通过 Cutout 改进卷积神经网络的正则化](https:\u002F\u002Farxiv.org\u002Fabs\u002F1708.04552)\n  - **(MixUp)** [MixUp：超越经验风险最小化](https:\u002F\u002Farxiv.org\u002Fabs\u002F1710.09412)\n- 学习率调度器\n  - **(Cosine Learning Rate)** [SGDR：带预热重启的随机梯度下降](https:\u002F\u002Farxiv.org\u002Fabs\u002F1608.03983)\n  - **(HTD Learning Rate)** [带有双曲正切衰减的分类随机梯度下降](https:\u002F\u002Farxiv.org\u002Fabs\u002F1806.01593)\n\n## 需求与使用说明\n\n### 需求\n\n- Python（**>=3.6**）\n- PyTorch（**>=1.1.0**）\n- TensorBoard（**>=1.4.0**）（用于 ***可视化***）\n- 其他依赖项（pyyaml、easydict）\n\n```bash\npip install -r requirements.txt\n```\n\n### 使用说明\n\n只需运行命令即可开始训练：\n\n```bash\n## 1 GPU 用于 Lenet\nCUDA_VISIBLE_DEVICES=0 python -u train.py --work-path .\u002Fexperiments\u002Fcifar10\u002Flenet\n\n## 从 checkpoint 恢复训练\nCUDA_VISIBLE_DEVICES=0 python -u train.py --work-path .\u002Fexperiments\u002Fcifar10\u002Flenet --resume\n\n## 2 GPUs 用于 ResNet1202\nCUDA_VISIBLE_DEVICES=0,1 python -u train.py --work-path .\u002Fexperiments\u002Fcifar10\u002Fpreresnet1202\n\n## 4 GPUs 用于 DenseNet190BC\nCUDA_VISIBLE_DEVICES=0,1,2,3 python -u train.py --work-path .\u002Fexperiments\u002Fcifar10\u002Fdensenet190bc\n\n## 1 GPU 用于 VGG19 推理\nCUDA_VISIBLE_DEVICES=0 python -u eval.py --work-path .\u002Fexperiments\u002Fcifar10\u002Fvgg19\n``` \n\n我们使用 YAML 文件 `config.yaml` 来保存参数，并在 `.\u002Fexperiments` 目录下查看更多详细信息。您可以通过 TensorBoard 查看训练曲线，命令为：`tensorboard --logdir path-to-event --port your-port`。训练日志将被记录在工作目录下的 `log.txt` 中。\n\n## CIFAR 数据集上的结果\n\n### 范例架构\n\n| 架构              | 参数量 | 批次大小 | 训练轮数 | C10 测试准确率 (%) | C100 测试准确率 (%) |\n| :------------------ | :----: | :--------: | :---: | :--------------: | :---------------: |\n| Lecun             | 62K   |    128     |  250  |      67.46       |       34.10       |\n| AlexNet            | 2.4M  |    128     |  250  |      75.56       |       38.67       |\n| VGG19              | 20M   |    128     |  250  |      93.00       |       72.07       |\n| PreresNet20         | 0.27M  |    128     |  250  |      91.88       |       67.03       |\n| PreresNet110        | 1.7M  |    128     |  250  |      94.24       |       72.96       |\n| PreresNet1202       | 19.4M  |    128     |  250  |      94.74       |       75.28       |\n| DenseNet100BC      | 0.76M  |     64     |  300  |      95.08       |       77.55       |\n| DenseNet190BC      | 25.6M  |     64     |  300  |      96.11       |       82.59       |\n| ResNeXt29_16x64d  | 68.1M  |    128     |  300  |      95.94       |       83.18       |\n| SE_ResNeXt29_16x64d | 68.6M  |    128     |  300  |      96.15       |     **83.65**     |\n| CBAM_ResNeXt29_16x64d | 68.7M  |    128     |  300  |    **96.27**     |       83.62       |\n| GE_ResNeXt29_16x64d | 70.0M  |    128     |  300  |      96.21       |       83.57       |\n\n### 额外的正则化处理\n\nPS：默认的数据增强方法为“随机裁剪”+“随机水平翻转”+“归一化”，其中“√”表示将采用哪种额外的方法。:cake:\n\n| 架构             |  epoch | 切割（cutout） | 混合（mixup） | C10 测试准确率 (%) |\n| :------------------- | :---: | :----: | :----: | :--------------: |\n| preresnet20              |  250  |        |       |      91.88       |\n| preresnet20              |  250  |   √    |       |      92.57       |\n| preresnet20              |  250  |        |   √   |      92.71       |\n| preresnet20              |  250  |   √    |   √   |      92.66       |\n| preresnet110             |  250  |        |       |      94.24       |\n| preresnet110             |  250  |   √    |       |      94.67       |\n| preresnet110             |  250  |        |   √   |      94.94       |\n| preresnet110             |  250  |   √    |   √   |      95.66       |\n| se_resnext29_16x64d      |  300  |        |       |      96.15       |\n| se_resnext29_16x64d      |  300  |   √    |       |      96.60       |\n| se_resnext29_16x64d      |  300  |        |   √   |      96.86       |\n| se_resnext29_16x64d      |  300  |   √    |   √   |    **97.03**     |\n| cbam_resnext29_16x64d    |  300  |   √    |   √   |    **97.16**     |\n| ge_resnext29_16x64d      |  300  |   √    |   √   |    **97.19**     |\n| --                       |  --   |   --   |  --   |        --        |\n| shake_resnet26_2x64d     | 1800  |        |       |      96.94       |\n| shake_resnet26_2x64d     | 1800  |   √    |       |    **97.20**     |\n| shake_resnet26_2x64d     | 1800  |        |   √   |    **97.42**     |\n| **shake_resnet26_2x64d** | 1800  |   √    |   √   |    **97.71**     |\n\nPS：通过“切割”和“混合”技术，“shake_resnet26_2x64d”实现了**97.71%**的测试准确率！！这真是太酷了，不是吗？  \n\n### 使用不同的学习率调度器\n\n| 架构         |  epoch | 步骤衰减 | 余弦曲线 | htd(-6,3) | 切割（cutout） | 混合（mixup） | C10 测试准确率 (%) |\n| :------------ | :---: | :--------: | :----: | :-------: | :----: | :---: | :--------------: |\n| preresnet20  |  250  |     √      |        |           |        |       |      91.88       |\n| preresnet20  |  250  |            |   √    |           |        |       |      92.13       |\n| preresnet20  |  250  |            |        |     √     |        |       |      92.44       |\n| preresnet20  |  250  |            |        |     √     |   √    |   √   |    **93.30**     |\n| preresnet110 |  250  |     √      |        |           |        |       |      94.24       |\n| preresnet110 |  250  |            |   √    |           |        |       |      94.48       |\n| preresnet110 |  250  |            |        |     √     |        |       |      94.82       |\n| preresnet110 |  250  |            |        |     √     |   √    |   √   |    **95.88**     |\n\n## 致谢\n\n提供的代码均源自：\n\n- [kuangliu\u002Fpytorch-cifar](https:\u002F\u002Fgithub.com\u002Fkuangliu\u002Fpytorch-cifar)\n- [bearpaw\u002Fpytorch-classification](https:\u002F\u002Fgithub.com\u002Fbearpaw\u002Fpytorch-classification)\n- [timgaripov\u002Fswa](https:\u002F\u002Fgithub.com\u002Ftimgaripov\u002Fswa)\n- [xgastaldi\u002Fshake-shake](https:\u002F\u002Fgithub.com\u002Fxgastaldi\u002Fshake-shake)\n- [uoguelph-mlrg\u002FCutout](https:\u002F\u002Fgithub.com\u002Fuoguelph-mlrg\u002FCutout)\n- [facebookresearch\u002Fmixup-cifar10](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fmixup-cifar10)\n- [BIGBALLON\u002Fcifar-10-cnn](https:\u002F\u002Fgithub.com\u002FBIGBALLON\u002Fcifar-10-cnn)\n- [BayesWatch\u002Fpytorch-GENet](https:\u002F\u002Fgithub.com\u002FBayesWatch\u002Fpytorch-GENet\u002F)\n- [Jongchan\u002Fattention-module](https:\u002F\u002Fgithub.com\u002FJongchan\u002Fattention-module)\n- [pppLang\u002FSKNet](https:\u002F\u002Fgithub.com\u002FpppLang\u002FSKNet)\n\n如果您有任何建议或疑问，欢迎随时与我联系；如有任何问题或bug，也欢迎提交PR！ :blush: \n\n## 引用格式\n\n``` \n@misc{bigballon2019cifarzoo,\n  author = {Wei Li},\n  title = {CIFAR-ZOO：PyTorch实现的用于CIFAR数据集的CNN},\n  howpublished = {\\url{https:\u002F\u002Fgithub.com\u002FBIGBALLON\u002FCIFAR-ZOO}},\n  year = {2019}\n}\n```","# CIFAR-ZOO 快速上手指南\n\n> **注意**：本项目目前处于归档状态（Archive），最终测试基于 PyTorch 1.7，不再维护。作者推荐转向使用由 FAIR 开发的 [pycls](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fpycls) 项目。但本项目仍可作为学习多种经典 CNN 架构及改进方法的参考代码库。\n\n## 环境准备\n\n在开始之前，请确保您的系统满足以下要求：\n\n- **操作系统**: Linux \u002F macOS (Windows 需自行配置 CUDA 环境)\n- **Python**: >= 3.6\n- **PyTorch**: >= 1.1.0\n- **TensorBoard**: >= 1.4.0 (用于可视化训练曲线)\n- **其他依赖**: `pyyaml`, `easydict`\n\n**国内加速建议**：\n安装 PyTorch 时，推荐使用清华或中科大镜像源以提升下载速度。例如：\n```bash\npip install torch torchvision -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n```\n\n## 安装步骤\n\n1. 克隆仓库并进入目录（假设已下载源码）：\n   ```bash\n   cd CIFAR-ZOO\n   ```\n\n2. 安装 Python 依赖包（建议使用国内镜像源）：\n   ```bash\n   pip install -r requirements.txt -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n   ```\n\n## 基本使用\n\n本项目通过 `train.py` 进行模型训练，通过 `eval.py` 进行评估。配置参数保存在 `config.yaml` 中，具体实验配置可参考 `.\u002Fexperiments` 目录下的文件。\n\n### 1. 开始训练\n\n以下命令展示了如何启动不同模型的训练任务：\n\n**单卡训练 LeNet:**\n```bash\nCUDA_VISIBLE_DEVICES=0 python -u train.py --work-path .\u002Fexperiments\u002Fcifar10\u002Flenet\n```\n\n**断点续训:**\n```bash\nCUDA_VISIBLE_DEVICES=0 python -u train.py --work-path .\u002Fexperiments\u002Fcifar10\u002Flenet --resume\n```\n\n**多卡训练 (2 张 GPU) PreResNet-1202:**\n```bash\nCUDA_VISIBLE_DEVICES=0,1 python -u train.py --work-path .\u002Fexperiments\u002Fcifar10\u002Fpreresnet1202\n```\n\n**多卡训练 (4 张 GPU) DenseNet-190bc:**\n```bash\nCUDA_VISIBLE_DEVICES=0,1,2,3 python -u train.py --work-path .\u002Fexperiments\u002Fcifar10\u002Fdensenet190bc\n```\n\n### 2. 模型评估\n\n使用预训练权重进行测试（以 VGG19 为例）：\n```bash\nCUDA_VISIBLE_DEVICES=0 python -u eval.py --work-path .\u002Fexperiments\u002Fcifar10\u002Fvgg19\n```\n\n### 3. 查看训练日志与可视化\n\n- **文本日志**: 训练过程中的详细日志会保存至工作目录下的 `log.txt` 文件中。\n- **可视化曲线**: 使用 TensorBoard 查看损失和准确率曲线：\n  ```bash\n  tensorboard --logdir path-to-event --port your-port\n  ```\n  *(请将 `path-to-event` 替换为实际的事件文件路径)*","某高校计算机视觉实验室的研究生李明，正急需在 CIFAR-10 数据集上复现多篇经典论文中的 CNN 架构，以验证其提出的新型注意力机制的有效性。\n\n### 没有 CIFAR-ZOO 时\n- **代码重复造轮子**：需要手动从不同论文的官方仓库或论坛搜集 LeNet、ResNet、DenseNet 等分散的代码，格式不统一且适配困难。\n- **环境配置耗时**：各源码依赖的 PyTorch 版本各异，频繁出现算子不兼容报错，仅环境调试就耗费了数天时间。\n- **基准对比缺失**：缺乏统一的训练策略（如 Cutout、Mixup）和超参数配置，导致新方法与旧模型对比时公平性存疑，实验结果难以信服。\n- **可视化支持不足**：原有代码大多缺少 TensorBoard 集成，无法直观监控训练曲线，难以快速定位模型收敛问题。\n\n### 使用 CIFAR-ZOO 后\n- **架构一键调用**：CIFAR-ZOO 内置了从 LeNet 到 SENet 等十余种主流架构及 BAM、CBAM 等注意力模块，李明只需修改一行命令即可切换模型进行训练。\n- **环境标准统一**：基于 PyTorch 1.7 的标准实现消除了版本冲突，配合预设的 `config.yaml` 文件，瞬间完成了实验环境搭建。\n- **复现权威基准**：直接利用集成的 Shake-Shake 正则化和余弦退火学习率调度器，确保了基线模型的准确率与论文一致，让新算法的性能提升数据更具说服力。\n- **监控直观高效**：启动训练即自动生成 TensorBoard 日志，李明能实时观察损失下降趋势，迅速调整实验方向。\n\nCIFAR-ZOO 通过提供标准化、模块化且开箱即用的 CNN 基准代码库，将研究人员从繁琐的工程实现中解放出来，使其能专注于核心算法的创新与验证。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FBIGBALLON_CIFAR-ZOO_0011fb8a.png","BIGBALLON","WILL LEE","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FBIGBALLON_0385f602.jpg","Not Researcher, But Engineer 💌","NCTU","Beijing, China","fm.bigballon@gmail.com",null,"bigballon.github.io","https:\u002F\u002Fgithub.com\u002FBIGBALLON",[84,88],{"name":85,"color":86,"percentage":87},"Python","#3572A5",99.8,{"name":89,"color":90,"percentage":91},"Shell","#89e051",0.2,709,174,"2026-04-10T13:14:42","MIT","未说明","需要 NVIDIA GPU（通过 CUDA_VISIBLE_DEVICES 环境变量控制），具体型号和显存大小未说明，需安装支持 PyTorch 的 CUDA 版本",{"notes":99,"python":100,"dependencies":101},"该项目已归档（Archive），最终测试基于 PyTorch 1.7，不再维护。作者建议使用 Facebook AI Research (FAIR) 开发的 pycls 作为替代方案。支持单卡及多卡（2 卡、4 卡等）训练模式。配置文件使用 YAML 格式，可通过 TensorBoard 可视化训练曲线。",">=3.6",[102,103,104,105],"torch>=1.1.0","tensorboard>=1.4.0","pyyaml","easydict",[14],[108,109,110,111,112,113,114,115,116,117],"pytorch","cifar","resnet","resnext","densenet","shake-shake","mixup","cutout","learning-rate-decay","senet","2026-03-27T02:49:30.150509","2026-04-11T18:33:33.027850",[121,126,131,136,141],{"id":122,"question_zh":123,"answer_zh":124,"source_url":125},6441,"基准测试中的结果是如何统计和报告的？为什么相同配置下多次运行的结果不一致？","基准测试结果通常取 3 次运行的平均值，但由于随机初始化、GPU 差异、PyTorch 版本不同等因素，结果仍会有方差。如果是为了论文准备实验数据，建议运行至少 5 次以上以获取更稳定的结果。","https:\u002F\u002Fgithub.com\u002FBIGBALLON\u002FCIFAR-ZOO\u002Fissues\u002F5",{"id":127,"question_zh":128,"answer_zh":129,"source_url":130},6442,"LeNet-5 模型中的 C5 层应该是卷积层还是全连接层？","根据 LeCun 的原始论文，C5 层应被定义为卷积层（使用 5x5 卷积核），而不是全连接层。虽然在该特定输入尺寸下其效果等同于全连接，但为了保持架构定义的准确性及适应更大输入尺寸的潜力，应使用卷积实现。参考代码结构如下：\n\nclass LeNet(nn.Module):\n    def __init__(self, num_classes=10):\n        super(LeNet, self).__init__()\n        self.conv_1 = nn.Conv2d(3, 6, 5)\n        self.conv_2 = nn.Conv2d(6, 16, 5)\n        self.conv_3 = nn.Conv2d(16, 120, 5)  # C5 作为卷积层\n        self.fc_1 = nn.Linear(120, 84)\n        self.fc_2 = nn.Linear(84, num_classes)\n\n    def forward(self, x):\n        out = F.relu(self.conv_1(x))\n        out = F.max_pool2d(out, 2)\n        out = F.relu(self.conv_2(out))\n        out = F.max_pool2d(out, 2)\n        out = F.relu(self.conv_3(out))\n        out = out.view(out.size(0), -1)\n        out = F.relu(self.fc_1(out))\n        out = self.fc_2(out)\n        return out","https:\u002F\u002Fgithub.com\u002FBIGBALLON\u002FCIFAR-ZOO\u002Fissues\u002F1",{"id":132,"question_zh":133,"answer_zh":134,"source_url":135},6443,"运行 train.py 时遇到 yaml.load() 报错“缺少必需的位置参数 'Loader'”如何解决？","这是由于新版 PyYAML 库的安全策略变更导致的。需要显式指定 Loader 参数。请将代码：\nconfig = yaml.load(f)\n修改为：\nconfig = yaml.load(f, Loader=yaml.Loader)","https:\u002F\u002Fgithub.com\u002FBIGBALLON\u002FCIFAR-ZOO\u002Fissues\u002F8",{"id":137,"question_zh":138,"answer_zh":139,"source_url":140},6444,"SummaryWriter 初始化时应该使用 log_dir 还是 logdir 参数？","这取决于安装的 tensorboardX 版本。旧版本使用 log_dir，而最新版本（commit e932310 之后）已改为使用 logdir。如果遇到参数错误，请检查您的 tensorboardX 版本，并根据版本调整参数名称，或者更新代码以适配最新版本的 logdir 参数。","https:\u002F\u002Fgithub.com\u002FBIGBALLON\u002FCIFAR-ZOO\u002Fissues\u002F2",{"id":142,"question_zh":143,"answer_zh":144,"source_url":145},6445,"SENet 模型中的平均池化层如何修改以适配任意尺寸的输入图像？","在 senet.py 第 180 行附近，将硬编码的池化核大小改为动态计算即可。将：\nx = F.avg_pool2d(x, 8, 1)\n修改为：\nx = F.avg_pool2d(x, x.size(3), 1)\n这样可以根据输入特征图的宽度动态调整池化大小，从而适配所有图像尺寸。","https:\u002F\u002Fgithub.com\u002FBIGBALLON\u002FCIFAR-ZOO\u002Fissues\u002F3",[147],{"id":148,"version":149,"summary_zh":80,"released_at":150},204622,"pt1.0","2019-07-17T06:08:17"]