Altifigence Academy

1 / 24 · 概念

推理与训练

如果仅将输出通道从三个增加到六个,MAC 次数和已存储偏置的数量如何变化?

先定义计算,再设计数据通路

推理在前向计算中,将预先选定且固定的权重应用于输入。训练还会计算损失、传播梯度并更新权重。因此,执行前向卷积的电路展示的是推理操作;它本身并不能证明训练能力。本课程构建小型整数推理通路。梯度硬件、优化器、分类准确率和自动模型导入均不属于练习范围。

为批次 N、输入通道 C、空间尺寸 H 和 W、输出通道 M 以及 R×S 卷积核建立约定。采用 NCHW 排列。普通输出元素累加 C×R×S 个乘积。输出形状为 N×M×Ho×Wo 时,MAC 次数为 N×M×Ho×Wo×C×R×S。这里一次 MAC 表示一次乘法并累加。浮点运算统计可能把乘法与加法分开计数,因此比较报告之前应明确计数规则。

计算示例

设 N=1、C=2、H=W=5、M=3,卷积核为 3×3,步幅为一且无填充。输出空间尺寸为 3×3。共有 27 个输出元素,每个累加 18 个乘积,总计 486 次 MAC。偏置向量存储三个数,每个输出通道一个,但偏置会在 27 个输出位置相加。应单独报告这些加法,而不是悄悄改变 MAC 定义。

排列顺序也是正确性的一部分。按通道优先读取输入,却按空间优先解释权重,即使所有值都合法,也会配对错误操作数。为参考输出同时标注通道和空间坐标。先从一个批次开始,明确每个张量文件,待基本约定稳定后再扩展批次维度。

记录可接受的形状、步幅、填充和数值范围。明确拒绝不支持的请求。灵活的软件数组不能证明 RTL 实现支持所有尺寸。同样,参考输出不能测量频率、功耗或模型准确率。后续练习会区分精确数值与基于明确假设的周期估计。有关训练的前向、反向和更新阶段,请参阅 PyTorch 官方教程。

自己试试

如果仅将输出通道从三个增加到六个,MAC 次数和已存储偏置的数量如何变化?

阅读解释

输出有 54 个,MAC 次数为 54×18=972。存储六个偏置。输入大小不变;权重存储量翻倍。

你的选择适用于此浏览器,可随时在页脚更改。