timm

—Stars

大规模 PyTorch 图像模型库,汇集分类与视觉骨干网络、预训练权重、数据增强和训练工具,是视觉模型研究与复现的重要基础设施。

Models · Weights · Recipes
DATA AUGMENTATION · DISTRIBUTION

补回训练中永远缺席的边界位置

两行 off-by-one 不会让程序崩溃,却会长期改变 CutMix 的空间采样分布。

BEFORE · HIGH EXCLUSIVE
右边 / 下边永远采不到
AFTER · +1
完整、近似均匀覆盖
隐形偏差

右边和下边从未被采到

`rand_bbox_minmax()` 把 `img_h - cut_h` 与 `img_w - cut_w` 直接传给上界排除的 `numpy.random.randint`。因此裁剪框永远不能从最下方或最右方的最后一个合法坐标开始;框越接近整图,这两个被遗漏位置占全部候选的比例越高,长期训练会形成稳定的空间采样偏差。

区间语义

离散坐标上界需要包含端点

合法起点是闭区间 `[0, image_size - cut_size]`,而 `randint` 接收的是半开区间。修复只应补回最后一个端点,不能改变框尺寸、批量采样形状或 CutMix 的 lambda 校正;验证还要覆盖 scalar 与 batched 两种边界框生成路径。

边界修正

让全部合法起点进入采样

将高度与宽度采样上界各增加 1,使最终合法起点进入随机区间;新增固定随机种子的标量/批量回归,直接断言右侧与底部端点可达,并对四个合法位置执行 200,000 次采样,检查每个起点的频率近似均匀。

训练分布

空间覆盖重新保持完整

CutMix minmax 现在覆盖完整的空间起点集合,右边界与下边界不再系统性欠采样,同时保持裁剪尺寸和 lambda 语义不变;大样本验证中四个位置的最大频率偏差仅 0.162 个百分点,相关 470 项测试通过。

PR #2739 已随 timm v1.0.29 正式发布
  • CutMix 完整边界采样
  • Release Notes 收录 PR #2739
  • New Contributors 官方署名
查看正式版本