本文共 940 字,大约阅读时间需要 3 分钟。
通过使用开源工具draw_convnet,可以手动绘制前向计算网络的计算图。这种方法非常直观,尤其是在参数量的计算方面效果尤为明显。在深入了解每一层的输入输出以及参数设置后,可以清晰地看到计算过程的各个环节。
在深度学习中,feature map的大小计算是一个关键步骤。以下是常见的计算方法:
输入:N0C0H0*W0
输出:N1C1H1*W1
feature map大小:
H1 = (H0 + 2×pad - kernel_size) / stride + 1 W1 = (W0 + 2×pad - kernel_size) / stride + 1 当输入的H0 = W0时,公式可以简化为: H1 = W1 = (h + 2×pad - kernel_size) / stride + 1注:当stride为1时,若pad=(kernel_size−1)/2,那么经过计算后的feature map大小保持不变。
以下是LeNet-5网络的前向计算模拟图:
总参数量为500 + 25000 + 400000 + 5000 = 431080。使用4字节存储,总体参数量大小为431080x4=1724320字节,约为1.64MB。
LeNet-5的模型大小与实际训练结果接近,主要包含卷积层和全连接层的参数。通过优化卷积核大小和使用更高效的存储格式,可以进一步减少参数量。
本文基于LeNet-5网络进行分析,结合实际模型训练结果进行对比。
转载地址:http://ydj.baihongyu.com/