模型 flops 估算 使用指南
模型 FLOPs 估算器,输入全连接层与卷积层维度估算前向传播计算量(FLOPs),用于模型算力与推理成本评估。
计算公式与原理
卷积 FLOPs ≈ 2·H·W·C_in·C_out·K²;全连接 FLOPs ≈ 2·in·out;MACs ≈ FLOPs / 2
按输出特征图每个元素所需的乘加次数累计:卷积为 K²·C_in 次乘加、输出 HWC_out 个元素,乘 2 得 FLOPs。1 MAC = 1 次乘加 = 2 FLOPs,硬件标称算力多用 MACs,对比时要注意单位换算。
使用步骤
- 填写「输入高」。
- 填写「输入宽」。
- 填写「输入通道」。
- 填写「输出通道」。
- 填写「卷积核」。
- 填写「全连接输入」。
- 填写「全连接输出」。
- 结果区会即时更新;可一键复制结果用于记录或汇报。
典型使用场景
- 全连接层 FLOPs≈2·in·out·batch·seq(乘加各算一次)。
- 卷积层 FLOPs≈2·k²·C_in·C_out·H_out·W_out。
- FLOPs 衡量算力需求(时间),结合参数量评估推理成本与硬件选型。
算例参考
- 卷积层算力:3×3 卷积, C_in=64,C_out=128, 特征图 56×56:FLOPs≈2×9×64×128×56×56≈4.66×10⁹ 次/样本。可见大特征图与多通道下卷积算力增长极快。
注意事项
结果为按上述公式得到的理论估算值,实际表现受数据分布、实现细节与运行环境影响,落地决策请以实测为准;本工具纯前端运行,输入不上传服务器。
- FLOPs 越大模型越慢?
- 通常如此,但还受显存带宽与并行度影响;某些高 FLOPs 算子若访存密集会被带宽卡住,实际延迟需结合硬件实测。
- 训练 FLOPs 怎么算?
- 约为前向的 2~3 倍(反向含梯度计算),再乘训练 token 数;大模型的训练算力常用 Kaplan 缩放律直接由参数量与数据量估算。