[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-miguelvr--dropblock":3,"tool-miguelvr--dropblock":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 真正成长为懂上",147882,2,"2026-04-09T11:32: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 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108111,"2026-04-08T11:23:26",[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},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":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":10,"last_commit_at":59,"category_tags":60,"status":17},4487,"LLMs-from-scratch","rasbt\u002FLLMs-from-scratch","LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目，旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型（LLM）。它不仅是同名技术著作的官方代码库，更提供了一套完整的实践方案，涵盖模型开发、预训练及微调的全过程。\n\n该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型，却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码，用户能够透彻掌握 Transformer 架构、注意力机制等关键原理，从而真正理解大模型是如何“思考”的。此外，项目还包含了加载大型预训练权重进行微调的代码，帮助用户将理论知识延伸至实际应用。\n\nLLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API，而是渴望探究模型构建细节的技术人员而言，这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计：将复杂的系统工程拆解为清晰的步骤，配合详细的图表与示例，让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础，还是为未来研发更大规模的模型做准备",90106,"2026-04-06T11:19:32",[35,15,13,14],{"id":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":78,"owner_twitter":79,"owner_website":80,"owner_url":81,"languages":82,"stars":87,"forks":88,"last_commit_at":89,"license":90,"difficulty_score":91,"env_os":92,"env_gpu":93,"env_ram":93,"env_deps":94,"category_tags":99,"github_topics":100,"view_count":32,"oss_zip_url":78,"oss_zip_packed_at":78,"status":17,"created_at":108,"updated_at":109,"faqs":110,"releases":146},5856,"miguelvr\u002Fdropblock","dropblock","Implementation of DropBlock: A regularization method for convolutional networks in PyTorch.","DropBlock 是一个基于 PyTorch 实现的开源正则化工具，专为卷积神经网络设计。它旨在解决传统 Dropout 技术在卷积层中效果不佳的痛点：由于卷积层的激活单元在空间上高度相关，随机丢弃单个神经元往往无法有效阻断信息流动，导致模型容易过拟合。\n\n与传统方法不同，DropBlock 采用“结构化丢弃”策略，即同时丢弃特征图中连续区域内的单元块。这种机制能更有效地迫使网络学习冗余度更低的鲁棒特征。实验表明，在 ResNet-50 等架构中引入 DropBlock，不仅能显著提升图像分类和物体检测的准确率，还能通过“渐进式丢弃”策略（即在训练过程中动态增加丢弃概率）增强模型对超参数选择的稳定性。\n\n该工具主要面向深度学习研究人员和 AI 开发者，特别是那些正在构建或优化卷积神经网络（如用于计算机视觉任务）的专业人士。DropBlock 提供了易于集成的 2D 和 3D 版本，并支持灵活的调度器，让用户能够轻松将其应用到现有的 PyTorch 项目中，以提升模型的泛化能力和最终性能。","# DropBlock\n\n![build](https:\u002F\u002Ftravis-ci.org\u002Fmiguelvr\u002Fdropblock.png?branch=master)\n[![Downloads](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmiguelvr_dropblock_readme_13598dfdf5ee.png)](https:\u002F\u002Fpepy.tech\u002Fproject\u002Fdropblock)\n\n\nImplementation of [DropBlock: A regularization method for convolutional networks](https:\u002F\u002Farxiv.org\u002Fpdf\u002F1810.12890.pdf) \nin PyTorch.\n\n## Abstract\n\nDeep neural networks often work well when they are over-parameterized \nand trained with a massive amount of noise and regularization, such as \nweight decay and dropout. Although dropout is widely used as a regularization \ntechnique for fully connected layers, it is often less effective for convolutional layers. \nThis lack of success of dropout for convolutional layers is perhaps due to the fact \nthat activation units in convolutional layers are spatially correlated so \ninformation can still flow through convolutional networks despite dropout. \nThus a structured form of dropout is needed to regularize convolutional networks. \nIn this paper, we introduce DropBlock, a form of structured dropout, where units in a \ncontiguous region of a feature map are dropped together. \nWe found that applying DropBlock in skip connections in addition to the \nconvolution layers increases the accuracy. Also, gradually increasing number \nof dropped units during training leads to better accuracy and more robust to hyperparameter choices. \nExtensive experiments show that DropBlock works better than dropout in regularizing \nconvolutional networks. On ImageNet classification, ResNet-50 architecture with \nDropBlock achieves 78.13% accuracy, which is more than 1.6% improvement on the baseline. \nOn COCO detection, DropBlock improves Average Precision of RetinaNet from 36.8% to 38.4%.\n\n\n## Installation\n\nInstall directly from PyPI:\n\n    pip install dropblock\n    \nor the bleeding edge version from github:\n\n    pip install git+https:\u002F\u002Fgithub.com\u002Fmiguelvr\u002Fdropblock.git#egg=dropblock\n\n**NOTE**: Implementation and tests were done in Python 3.6, if you have problems with other versions of python please open an issue.\n\n## Usage\n\n\nFor 2D inputs (DropBlock2D):\n\n```python\nimport torch\nfrom dropblock import DropBlock2D\n\n# (bsize, n_feats, height, width)\nx = torch.rand(100, 10, 16, 16)\n\ndrop_block = DropBlock2D(block_size=3, drop_prob=0.3)\nregularized_x = drop_block(x)\n```\n\nFor 3D inputs (DropBlock3D):\n\n```python\nimport torch\nfrom dropblock import DropBlock3D\n\n# (bsize, n_feats, depth, height, width)\nx = torch.rand(100, 10, 16, 16, 16)\n\ndrop_block = DropBlock3D(block_size=3, drop_prob=0.3)\nregularized_x = drop_block(x)\n```\n\nScheduled Dropblock:\n\n```python\nimport torch\nfrom dropblock import DropBlock2D, LinearScheduler\n\n# (bsize, n_feats, depth, height, width)\nloader = [torch.rand(20, 10, 16, 16) for _ in range(10)]\n\ndrop_block = LinearScheduler(\n                DropBlock2D(block_size=3, drop_prob=0.),\n                start_value=0.,\n                stop_value=0.25,\n                nr_steps=5\n            )\n\nprobs = []\nfor x in loader:\n    drop_block.step()\n    regularized_x = drop_block(x)\n    probs.append(drop_block.dropblock.drop_prob)\n    \nprint(probs)\n```\n\nThe drop probabilities will be:\n```\n>>> [0.    , 0.0625, 0.125 , 0.1875, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25]\n```\n\nThe user should include the `step()` call at the start of the batch loop, \nor at the the start of a model's `forward` call. \n\nCheck [examples\u002Fresnet-cifar10.py](examples\u002Fresnet-cifar10.py) to\nsee an implementation example.\n\n## Implementation details\n\nWe use `drop_prob` instead of `keep_prob` as a matter of preference, \nand to keep the argument consistent with pytorch's dropout. \nRegardless, everything else should work similarly to what is described in the paper.\n\n## Benchmark\n\nRefer to [BENCHMARK.md](BENCHMARK.md)\n\n## Reference\n[Ghiasi et al., 2018] DropBlock: A regularization method for convolutional networks\n\n## TODO\n- [x] Scheduled DropBlock\n- [x] Get benchmark numbers\n- [x] Extend the concept for 3D images\n","# DropBlock\n\n![build](https:\u002F\u002Ftravis-ci.org\u002Fmiguelvr\u002Fdropblock.png?branch=master)\n[![Downloads](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmiguelvr_dropblock_readme_13598dfdf5ee.png)](https:\u002F\u002Fpepy.tech\u002Fproject\u002Fdropblock)\n\n\n在 PyTorch 中实现 [DropBlock：一种用于卷积网络的正则化方法](https:\u002F\u002Farxiv.org\u002Fpdf\u002F1810.12890.pdf)。\n\n## 摘要\n\n深度神经网络通常在过参数化并结合大量噪声和正则化（如权重衰减、丢弃法等）进行训练时表现良好。尽管丢弃法被广泛用作全连接层的正则化技术，但它对卷积层的效果往往较差。这种现象可能是因为卷积层中的激活单元在空间上存在相关性，因此即使应用了丢弃法，信息仍然能够通过卷积网络传递。因此，需要一种结构化的丢弃方法来对卷积网络进行正则化。本文提出了 DropBlock，这是一种结构化的丢弃方法，它会将特征图中一个连续区域内的单元一起丢弃。我们发现，在卷积层之外，将 DropBlock 应用于跳跃连接也能提高模型的准确率。此外，在训练过程中逐步增加丢弃的单元数量，可以进一步提升模型的准确率，并使其对超参数的选择更加鲁棒。大量实验表明，与传统的丢弃法相比，DropBlock 在卷积网络的正则化方面表现更优。在 ImageNet 分类任务上，使用 DropBlock 的 ResNet-50 架构达到了 78.13% 的准确率，比基线高出 1.6 个百分点以上。在 COCO 目标检测任务上，DropBlock 将 RetinaNet 的平均精度从 36.8% 提升至 38.4%。\n\n## 安装\n\n直接从 PyPI 安装：\n\n    pip install dropblock\n    \n或者从 GitHub 获取最新版本：\n\n    pip install git+https:\u002F\u002Fgithub.com\u002Fmiguelvr\u002Fdropblock.git#egg=dropblock\n\n**注意**：实现和测试是在 Python 3.6 中完成的，如果您在其他版本的 Python 上遇到问题，请提交 issue。\n\n## 使用方法\n\n\n对于 2D 输入（DropBlock2D）：\n\n```python\nimport torch\nfrom dropblock import DropBlock2D\n\n# (batch_size, n_feats, height, width)\nx = torch.rand(100, 10, 16, 16)\n\ndrop_block = DropBlock2D(block_size=3, drop_prob=0.3)\nregularized_x = drop_block(x)\n```\n\n对于 3D 输入（DropBlock3D）：\n\n```python\nimport torch\nfrom dropblock import DropBlock3D\n\n# (batch_size, n_feats, depth, height, width)\nx = torch.rand(100, 10, 16, 16, 16)\n\ndrop_block = DropBlock3D(block_size=3, drop_prob=0.3)\nregularized_x = drop_block(x)\n```\n\n调度式 DropBlock：\n\n```python\nimport torch\nfrom dropblock import DropBlock2D, LinearScheduler\n\n# (batch_size, n_feats, depth, height, width)\nloader = [torch.rand(20, 10, 16, 16) for _ in range=10]\n\ndrop_block = LinearScheduler(\n                DropBlock2D(block_size=3, drop_prob=0.),\n                start_value=0.,\n                stop_value=0.25,\n                nr_steps=5\n            )\n\nprobs = []\nfor x in loader:\n    drop_block.step()\n    regularized_x = drop_block(x)\n    probs.append(drop_block.dropblock.drop_prob)\n    \nprint(probs)\n```\n\n丢弃概率将为：\n```\n>>> [0.    , 0.0625, 0.125 , 0.1875, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25]\n```\n\n用户应在批次循环开始时或模型 `forward` 方法开始时调用 `step()` 方法。\n\n请参阅 [examples\u002Fresnet-cifar10.py](examples\u002Fresnet-cifar10.py)，以查看实现示例。\n\n## 实现细节\n\n我们选择使用 `drop_prob` 而不是 `keep_prob`，主要是出于偏好考虑，并且为了使参数与 PyTorch 的丢弃法保持一致。除此之外，其他部分的实现方式应与论文中的描述基本一致。\n\n## 基准测试\n\n请参考 [BENCHMARK.md](BENCHMARK.md)。\n\n## 参考文献\n[Ghiasi 等，2018] DropBlock：一种用于卷积网络的正则化方法\n\n## 待办事项\n- [x] 调度式 DropBlock\n- [x] 获取基准测试数据\n- [x] 将该方法扩展到 3D 图像","# DropBlock 快速上手指南\n\nDropBlock 是一种专为卷积神经网络设计的结构化正则化方法。与传统的 Dropout 不同，DropBlock 会丢弃特征图中连续区域的单元，从而更有效地防止过拟合，提升模型在图像分类和目标检测任务中的表现。\n\n## 环境准备\n\n- **操作系统**：Linux, macOS, Windows\n- **Python 版本**：推荐 Python 3.6 及以上（官方实现基于 3.6 测试）\n- **核心依赖**：\n  - PyTorch\n  - pip (包管理工具)\n\n## 安装步骤\n\n你可以选择从 PyPI 安装稳定版，或从 GitHub 安装最新开发版。\n\n**方式一：从 PyPI 安装（推荐）**\n\n```bash\npip install dropblock\n```\n\n*国内用户加速建议：*\n```bash\npip install dropblock -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n```\n\n**方式二：从 GitHub 安装最新版**\n\n```bash\npip install git+https:\u002F\u002Fgithub.com\u002Fmiguelvr\u002Fdropblock.git#egg=dropblock\n```\n\n## 基本使用\n\n### 1. 基础用法 (2D 图像)\n\n适用于标准的 2D 卷积网络（如 ResNet, VGG 等）。\n\n```python\nimport torch\nfrom dropblock import DropBlock2D\n\n# 输入张量格式：(batch_size, channels, height, width)\nx = torch.rand(100, 10, 16, 16)\n\n# 初始化 DropBlock: block_size 为丢弃区域大小，drop_prob 为丢弃概率\ndrop_block = DropBlock2D(block_size=3, drop_prob=0.3)\n\n# 应用正则化\nregularized_x = drop_block(x)\n```\n\n### 2. 基础用法 (3D 数据)\n\n适用于 3D 卷积网络（如视频处理、医学影像）。\n\n```python\nimport torch\nfrom dropblock import DropBlock3D\n\n# 输入张量格式：(batch_size, channels, depth, height, width)\nx = torch.rand(100, 10, 16, 16, 16)\n\ndrop_block = DropBlock3D(block_size=3, drop_prob=0.3)\nregularized_x = drop_block(x)\n```\n\n### 3. 进阶用法：线性调度 (Scheduled DropBlock)\n\n为了获得更好的效果，建议在训练过程中逐渐增加丢弃概率。使用 `LinearScheduler` 可以轻松实现。\n\n```python\nimport torch\nfrom dropblock import DropBlock2D, LinearScheduler\n\n# 模拟训练数据加载器\nloader = [torch.rand(20, 10, 16, 16) for _ in range(10)]\n\n# 配置调度器：从 0.0 线性增加到 0.25，耗时 5 个步骤\ndrop_block = LinearScheduler(\n    DropBlock2D(block_size=3, drop_prob=0.),\n    start_value=0.,\n    stop_value=0.25,\n    nr_steps=5\n)\n\nfor x in loader:\n    # 【重要】在每个 batch 循环开始或模型 forward 调用前执行 step()\n    drop_block.step()\n    \n    regularized_x = drop_block(x)\n    \n    # 打印当前的丢弃概率以验证调度效果\n    print(f\"Current drop_prob: {drop_block.dropblock.drop_prob}\")\n```\n\n**注意**：务必在训练循环的每一步调用 `drop_block.step()`，否则丢弃概率将不会按预期更新。","某计算机视觉团队正在训练基于 ResNet-50 的工业缺陷检测模型，试图在有限的样本数据下提升模型对微小瑕疵的识别准确率。\n\n### 没有 dropblock 时\n- **过拟合严重**：由于卷积层特征具有空间相关性，传统的 Dropout 无法有效阻断信息流，导致模型在训练集表现完美，但在真实产线图片上泛化能力差。\n- **依赖局部特征**：网络倾向于只关注缺陷最明显的局部区域（如某个特定纹理），一旦该区域被遮挡或光照变化，检测立即失效。\n- **调参困难**：为了抑制过拟合，开发者不得不大幅调整学习率或增加权重衰减，但这往往导致模型收敛缓慢甚至欠拟合。\n- **精度瓶颈**：在验证集上的平均精度（mAP）停滞在 76% 左右，难以突破业务要求的 78% 阈值。\n\n### 使用 dropblock 后\n- **结构化正则化生效**：dropblock 通过丢弃特征图中连续的矩形区域，强制切断空间相关性的信息流，显著提升了模型的泛化能力。\n- **特征学习更全面**：迫使网络不再依赖单一局部线索，而是学习缺陷的全局结构和多种形态特征，增强了抗干扰性。\n- **动态训练策略**：结合线性调度器（LinearScheduler），dropblock 能在训练初期保持低丢弃率，随迭代逐步增加难度，使模型收敛更稳定且对超参数不敏感。\n- **精度显著提升**：在相同架构下，引入 dropblock 后验证集准确率提升至 78.1% 以上，成功满足产线部署标准。\n\ndropblock 通过结构化的特征屏蔽机制，解决了卷积神经网络难以正则化的痛点，以极低的代码成本换取了显著的精度与鲁棒性提升。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmiguelvr_dropblock_f8b49d4c.png","miguelvr","Miguel Varela Ramos","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fmiguelvr_9e934110.jpg","Engineering @ Fluidstack","@fluidstackio","Lisbon",null,"miguelvramos","https:\u002F\u002Fmiguelvr.dev\u002F","https:\u002F\u002Fgithub.com\u002Fmiguelvr",[83],{"name":84,"color":85,"percentage":86},"Python","#3572A5",100,594,94,"2026-02-19T19:17:27","MIT",1,"","未说明",{"notes":95,"python":96,"dependencies":97},"该工具是 PyTorch 的 DropBlock 正则化方法实现。官方明确指出实现和测试均在 Python 3.6 环境下完成，若使用其他版本遇到问题需提交 issue。支持 2D (DropBlock2D) 和 3D (DropBlock3D) 输入，并提供线性调度器 (LinearScheduler) 以在训练过程中逐渐增加丢弃概率。安装可通过 PyPI 或 GitHub 源码进行。","3.6",[98],"torch",[15,14],[101,102,103,104,105,64,106,107],"machine-learning","computer-vision","pytorch","regularization","convolutional-neural-networks","pytorch-implementation","dropout","2026-03-27T02:49:30.150509","2026-04-09T21:08:17.917752",[111,116,121,126,131,136,141],{"id":112,"question_zh":113,"answer_zh":114,"source_url":115},26556,"使用 DropBlock 时遇到张量尺寸不匹配错误（RuntimeError: The size of tensor a must match the size of tensor b），如何解决？","该问题通常由掩码（mask）形状计算错误引起。确保生成的掩码形状为 `(batch, 1, height, width)`，特征维度会自动传播。在计算块掩码时，卷积操作的输入应正确处理通道维度。如果遇到问题，请检查代码中 `mask.shape` 的引用，确保使用的是 `mask.shape[1]` 而不是 `mask.shape[0]`（视具体实现版本而定），并确认填充（padding）计算正确：`padding=self.block_size \u002F\u002F 2 + 1`。维护者已修复此类问题，建议升级到最新版本。","https:\u002F\u002Fgithub.com\u002Fmiguelvr\u002Fdropblock\u002Fissues\u002F3",{"id":117,"question_zh":118,"answer_zh":119,"source_url":120},26557,"block_size 参数是否有限制？为什么设置较大的 block_size（如 7 或 9）会导致输出尺寸错误或报错？","早期版本中，由于卷积填充计算逻辑的限制，较大的 `block_size` 可能导致输出尺寸不匹配。具体原因是卷积后的尺寸公式 `mask_size + 2*(block_size\u002F\u002F2+1) - block_size + 1` 必须大于等于输入尺寸。维护者已在后续版本（参考 PR #21）中修复了此问题。如果遇到此错误，请从 GitHub 安装最新开发版（bleeding edge version），或者等待维护者发布新的 PyPI 版本。","https:\u002F\u002Fgithub.com\u002Fmiguelvr\u002Fdropblock\u002Fissues\u002F20",{"id":122,"question_zh":123,"answer_zh":124,"source_url":125},26558,"DropBlock 中的最大池化（max pooling）操作为什么会改变掩码中 1 的比例？这是否符合预期？","这是符合预期的行为。根据 DropBlock 论文，丢弃的块之间会存在重叠（overlapped），因此保留概率的计算只是一个近似值。最大池化操作会导致被丢弃区域的扩张和重叠，从而改变最终被掩蔽像素的实际比例。在实际使用中，应先估计一个 `keep_prob`（通常在 0.75 到 0.95 之间），然后根据公式计算缩放因子 γ，无需强求掩码面积严格等于设定比例。","https:\u002F\u002Fgithub.com\u002Fmiguelvr\u002Fdropblock\u002Fissues\u002F39",{"id":127,"question_zh":128,"answer_zh":129,"source_url":130},26559,"DropBlock 支持 TorchScript (torch.jit) 吗？训练模式和评估模式在追踪（trace）时是否能正常工作？","DropBlock 模块本身可以通过 `torch.jit.trace()` 进行追踪用于推理，但在追踪过程中，控制流（如训练\u002F评估模式的切换）可能无法像在原生 PyTorch Dropout 中那样正确工作。特别是 `LinearScheduler` 动态调整 `drop_prob` 的功能目前无法与 TorchScript 兼容。建议仅在推理阶段（eval 模式）对完成训练的模型进行追踪，不要在训练模式下使用追踪后的模块。","https:\u002F\u002Fgithub.com\u002Fmiguelvr\u002Fdropblock\u002Fissues\u002F25",{"id":132,"question_zh":133,"answer_zh":134,"source_url":135},26560,"feat_size 和 block_size 参数的具体含义是什么？它们是如何计算的？","`block_size` 指的是丢弃块的高度和宽度（即正方形块的边长）。`feat_size` 指的是特征图（feature map）的高度和宽度，而不是整个图像尺寸的平方根。之前的实现可能仅适用于正方形图像，现在的逻辑是相对于单个特征图而言的。在计算丢弃概率相关的参数时，应基于特征图的实际宽高进行计算。","https:\u002F\u002Fgithub.com\u002Fmiguelvr\u002Fdropblock\u002Fissues\u002F10",{"id":137,"question_zh":138,"answer_zh":139,"source_url":140},26561,"在 DropBlock 的前向传播（forward）中可以使用 torch.no_grad() 吗？","不能在模型的部分子图中单独使用 `torch.no_grad()`，这会破坏计算图。你要么在整个模型中使用它（通常用于推理），要么完全不用（用于训练）。DropBlock 作为模型的一部分，在训练时需要梯度跟踪来计算损失和反向传播。如果你想在推理时使用，应将整个模型置于 `eval()` 模式或使用 `torch.no_grad()` 包裹整个前向过程，但这属于 PyTorch 的使用规范，而非 DropBlock 的特有问题。","https:\u002F\u002Fgithub.com\u002Fmiguelvr\u002Fdropblock\u002Fissues\u002F41",{"id":142,"question_zh":143,"answer_zh":144,"source_url":145},26562,"在 Python 2.7 环境下运行代码时，变量类型是否会出错？","是的，该库主要针对 Python 3.6+ 进行测试和优化。在 Python 2.7 中，列表推导式中的变量作用域行为不同，可能导致变量 `x` 被错误地赋值为整数类型或其他意外行为。维护者不保证 Python 2.7 的兼容性，建议在 README 中注意此点，并强烈建议用户升级到 Python 3 以避免此类作用域和类型问题。","https:\u002F\u002Fgithub.com\u002Fmiguelvr\u002Fdropblock\u002Fissues\u002F17",[147,152,157,162],{"id":148,"version":149,"summary_zh":150,"released_at":151},171825,"0.3.0","**变更：**\n\n- 块掩码计算的性能优化 (#21)\n- 伯努利掩码计算的性能优化 (#22)\n\n**Bug 修复：**\n\n- 修复了块大小过大导致块掩码尺寸错误的问题 (#20)\n\n**注意事项：**\n\n- 现在应与 PyTorch 1.0 版本兼容。","2018-12-17T11:51:08",{"id":153,"version":154,"summary_zh":155,"released_at":156},171826,"0.2.1","修复了 DropBlock2D 块掩码生成中的一个 minor 问题。","2018-11-29T10:44:31",{"id":158,"version":159,"summary_zh":160,"released_at":161},171827,"0.2.0","**重大变更：**\n\n- DropBlock 现已更名为 DropBlock2D\n- `feat_size` 参数已被移除，现由程序动态计算\n\n**新特性：**\n\n- DropBlock3D\n- LinearScheduler\n- CIFAR10 数据集上的 ResNet9 示例脚本\n\n**Bug 修复：**\n\n- 重构了 DropBlock 的前向传播逻辑\n- 修复了 gamma 的计算问题\n- 修复了 CUDA 兼容性问题\n","2018-11-14T14:25:54",{"id":163,"version":164,"summary_zh":165,"released_at":166},171828,"0.1.0","基于索引的 DropBlock 实现","2018-11-07T23:16:43"]