快速卷积改变了 Inf / NaN 行为
Burn Flex 的 depthwise 与 small-channel 卷积快速路径会跳过 padding 区域,而通用 im2col 路径会把这些位置显式物化为 0。有限权重下两者等价,但 IEEE 754 规定 `0 × Inf` 与 `0 × NaN` 结果为 NaN;仅改变通道数就可能让同一卷积的边界输出在有限值、Inf 与 NaN 之间变化。

以 Rust 构建的跨平台深度学习框架,兼顾训练、推理、自动微分和多后端部署,强调类型安全、性能以及从桌面到嵌入式设备的可移植性。
常见有限权重继续走向量化热路径,只有非有限值和 padding 同时出现时才精确修正。
Burn Flex 的 depthwise 与 small-channel 卷积快速路径会跳过 padding 区域,而通用 im2col 路径会把这些位置显式物化为 0。有限权重下两者等价,但 IEEE 754 规定 `0 × Inf` 与 `0 × NaN` 结果为 NaN;仅改变通道数就可能让同一卷积的边界输出在有限值、Inf 与 NaN 之间变化。
不能简单让所有 padded 卷积回退到通用实现,否则罕见异常值会拖慢全部正常模型。真正需要修正的仅是“非有限权重参与了被省略的零 padding 项”的输出位置;无 padding、全有限权重以及其他通道都应继续复用现有向量化累加。
在进入带 padding 的快速路径时只扫描一次权重是否含非有限值,并精确标记哪些输出位置省略了对应的零乘项;保留原有向量化计算,再仅对受影响位置恢复 NaN 语义。回归覆盖 small-channel、generic、depthwise 三条分发及跨通道隔离。
快速路径与通用 im2col 路径现在对 Inf / NaN 产生一致的 IEEE 754 结果,非有限权重不会污染无关通道;有限权重仍走原有热路径,无 padding 时连额外扫描也不会发生。Burn Flex 相关 741 项测试及 19 项后端卷积测试通过。