Deep Learning---caffe模型参数量(weights)计算
来源:互联网 发布:网络信息化建设 编辑:程序博客网 时间:2024/06/02 00:58
Draw_convnet
这幅图是通过开源的工具draw_convnet(https://github.com/gwding/draw_convnet)生成的。在清楚整个前向计算网络中的每一个层的输入输出以及参数设置后可以自己手动画出计算图出来,对于参数量计算就很直观了。
feature map大小计算
输入:N0*C0*H0*W0 输出:N1*C1*H1*W1 输出的feature map大小: H1=(H0+2×pad−kernel_size) / stride+1 W1=(W0+2×pad−kernel_size) / stride+1 当输入的H0 == W0时,公式可以简化为:H1=W1=(h + 2xpad - kernel_size) / stride + 1注:当stride为1时,若pad=(kernel_size−1) / 2,那么经过计算后的feature map大小不变
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
以LeNet-5为例
下面是一个多通道图像的输入LeNet-5网络前向计算模拟图:
- 网状立体格子表示kernel,其他颜色方图表示feature map(Input表示输入层,可以看做特殊的feature map)
- 一个kernel对应一个feature map
- 参数量主要为kernel大小
- 每个kernel带一个bias
整个网络占据权重的为Convolution/Innerproduct 两层,分别计算参数量为,:
C1: 5 x 5 x 20 = 500,5x5卷积核, 20个feature map输出,20个kernelC2: 20x 5 x 5 x 50 = 25000 ,20维度输入,则20x5x5 kernel,50个feature map输出,即相当于20通道的图像输入,则需要20x5x5的kernel来卷积乘,50个这样的卷积核操作得到50个feature map,50个kernelF1: 50x4x4x500 = 400000,50维度特征图输入,全连接,每个点做卷积乘,则kernel大小为50x4x4,共500个feature map输出,500个kernelF2 : 500x1x1x10 = 5000,500维度特征图输入,全连接,kernel大小为500x1x1,共10个feature map输出,10个kernel
- 1
- 2
- 3
- 4
- 1
- 2
- 3
- 4
用4bytes的float类型来存储参数,则总的参数量大小为:
500 + 25000 + 400000 + 5000 + (20 + 50 + 500 + 10) = 431080
- 1
- 1
字节数为:
431080 x 4 = 1724320 ≈ 1683.90625kb ≈ 1.64M
对比实际LeNet-5网络基于caffe训练出来的模型大小为:1.64 MB (1,725,025 字节),基本接近,因为模型中可能还带有附加特性参数。
参考资料:
http://blog.csdn.net/cheese_pop/article/details/51955915
http://timdettmers.com/2015/03/26/convolution-deep-learning/
阅读全文
0 0
- Deep Learning---caffe模型参数量(weights)计算
- Deep Learning---caffe模型参数量(weights)计算
- Deep Learning(深度学习) caffe模型 特征提取 (windows/linux)
- Caffe (CNN, deep learning )
- Deep Learning -- Caffe学习
- caffe|deep learning framework
- caffe模型weights&featureMap 可视化(c++)
- [Deep Learning] TensorFlow模型、参数的保存与读取
- Deep learning:三十三(ICA模型)
- 《Deep Learning》(4)-数值计算
- Deep Learning 之 参数初始化
- Caffe build for denoising of deep learning
- Caffe —— Deep learning in Practice
- Deep Learning的训练工具~caffe
- deep learning for face detection (caffe C++)
- 深入理解deep learning之caffe BLOB
- Caffe —— Deep learning in Practice
- deep learning学习-caffe安装记录
- 文件,图片上传
- NFS
- 理解MySQL——索引与优化
- Find a way
- HDU 2571 命运——DP
- Deep Learning---caffe模型参数量(weights)计算
- 小光棍数
- nginx 进程数设置
- 第一篇CSDN博客
- 【SSLGZ 2687】2017年8月14日提高组T1 跳跃
- C/C++ 字符串与指针
- 构造方法的重载
- 《C++ Primer》第五版课后习题解答_第一章(1)(01-11)
- Mysql通过中文查询数据查不出结果问题解决方案