动态卷积过程
一次卷积的计算量,如何计算呢 ,参考上图,只是其中一个channel,
((*+1)*+ (-1))***
其中(这需要对卷积过程有较深的理解)
(*+1)表示在一个卷积核计算时在叠加bias,
乘以表示在输入的channel方向进行乘积
-1 表示一次卷积之后进行方向的叠加
((*+1)*+ (-1)) 表示最终汇聚成特征图上的一个点
乘以**表示在最终的输出特征图,所有点的的个数
当然简化之后一次卷积的时间按复杂度: O(*****)
忽略bias参数,简化之后参数: ***
- 每个卷积核输出特征图 的边长
- 每个卷积核 的边长
- 每个卷积核的通道数,也即输入通道数,也即上一层的输出通道数。
- 本卷积层具有的卷积核个数,也即输出通道数。
- 可见,每个卷积层的时间复杂度由输出特征图面积 、卷积核面积 、输入 和输出通道数 完全决定。
- 其中,输出特征图尺寸本身又由输入矩阵尺寸 、卷积核尺寸 、、 这四个参数所决定,表示如下:
- 注1:为了简化表达式中的变量个数,这里统一假设输入和卷积核的形状都是正方形。
- 注2:严格来讲每层应该还包含 1 个 参数,这里为了简洁就省略了。
ref https://zhuanlan.zhihu.com/p/31575074
https://zhuanlan.zhihu.com/p/24837264