Caffe 中的卷积中的效果不是很好,经常被人所诟病。首先来看看作者本人是怎么回答这个问题的。
https://github.com/Yangqing/caffe/wiki/Convolution-in-Caffe:-a-memo

it is a graduate-student level design choice when I was writing the Caffe framework in just 2 months’ budget with a looming thesis deadline.

作者当时只有2个月时间来写 Caffe 框架,马上要博士毕业答辩。所以没有对卷积进行深入优化,找了一个投机取巧的实现方法,将卷积变为矩阵乘法,矩阵运算有现成的优化库可以用。

这里来看看 Caffe 中是怎么实现卷积的。

Caffe中的卷积计算是将卷积核矩阵和输入图像矩阵变换为两个大的矩阵A与B,然后A与B进行矩阵相乘得到结果C(利用GPU进行矩阵相乘的高效性或CPU对应的一些库 MKL, ATLAS, OpenBLAS).

https://www.zhihu.com/question/28385679
http://blog.csdn.net/xiaoyezi_1834/article/details/50786363

卷积网络性能对比:
https://github.com/soumith/convnet-benchmarks
从这个对比中可以看出 Caffe 的卷积效率不高。

Caffe 中的卷积--权宜之计相关推荐

  1. c++调用caffe ssd_【caffe教程5】caffe中的卷积

    本文首发于公众号<有三AI> [caffe解读] caffe从数学公式到代码实现5-caffe中的卷积​mp.weixin.qq.com 今天要讲的就是跟卷积相关的一些layer了 im2 ...

  2. Caffe中的卷积实现

    https://www.zhihu.com/question/28385679 https://github.com/Yangqing/caffe/wiki/Convolution-in-Caffe: ...

  3. caffe 中base_lr、weight_decay、lr_mult、decay_mult代表什么意思?

    在机器学习或者模式识别中,会出现overfitting,而当网络逐渐overfitting时网络权值逐渐变大,因此,为了避免出现overfitting,会给误差函数添加一个惩罚项,常用的惩罚项是所有权 ...

  4. caffe中forward过程总结

    caffe中最重要的两个部分就是forward和backward的过程,farward是根据输入数据正向预测输入属于哪一类:backward是根据输出的结果求得代价函数,然后根据代价函数反向求去其相对 ...

  5. caffe中各个层——解析

    转自:http://www.cnblogs.com/denny402/p/5071126.html 所有的层都具有的参数,如name, type, bottom, top和transform_para ...

  6. 【caffe解读】 caffe从数学公式到代码实现5-caffe中的卷积

    文章首发于微信公众号<与有三学AI> [caffe解读] caffe从数学公式到代码实现5-caffe中的卷积 今天要讲的就是跟卷积相关的一些layer了 im2col_layer.cpp ...

  7. Caffe中如果高效实现卷积层

    卷积层是caffe中比较关键的的一个层,其里面实现运用了大量技巧,关键卷积层的实现可以看看贾清杨是如何吐槽的 https://github.com/Yangqing/caffe/wiki/Convol ...

  8. caffe中RGB图像三通道卷积过程学习推导

    idea来源于自己的想法,之前在github看过大神贾杨清的推导slider,caffe中如果计算卷积,加上自己最近有个很小的疑惑,输入的image一般是RGB三通道的彩色图片,但是我们在定义卷积层时 ...

  9. caffe中卷积层的实现

    在caffe中卷基层是通过矩阵相乘来实现的实现,直接计算卷积可以由下面的程序表示: 可以看到,这段程序循环嵌套多,时间复杂度高,而使用矩阵相乘的形式:很多现成的矩阵运算库,不重复"造轮子&q ...

最新文章

  1. 如何使用包含属性名称的变量检查对象属性是否存在?
  2. python 操作ipynb文件笔记
  3. 《Adobe SiteCatalyst网站分析权威手册》一1.3 SiteCatalyst是怎么工作的
  4. 一起谈.NET技术,ASP.NET 请求处理流程
  5. hbase scala 实例_scala操作HBase2.0
  6. 洛谷——P1089 [NOIP2004 提高组] 津津的储蓄计划
  7. GO语言练习:网络编程 ICMP 示例
  8. 02 Python元组 字典 数据类型 if while for 迭代
  9. python 继承与多态
  10. XStream 初探,很给力
  11. script脚本中写不写$(document).ready(function() {});的差别
  12. 【TWVRP】基于matalb蚁群算法求解带时间窗的车辆路径规划问题【含Matlab源码 1406期】
  13. 打算考PMP,需要准备什么材料?
  14. 敢不敢用一年时间改变你自己?
  15. Windows server2012R2 企业内部搭建虚拟专用网络服务
  16. 来自一个大三开学三周的huster的迷茫与失措
  17. ln(1+x)和ln(1-x)的麦克劳林级数
  18. 《程序员延寿指南》火爆 GitHub,日涨 1500+ 星,优秀 !
  19. html默认样式总结
  20. Cocos2d-x 3.0final手机游戏开发视频教程2014 - 自学编程 -(陆续更新中)

热门文章

  1. 微软联合创始人都看好,这项技术有什么过人之处?
  2. RDKit | 读取PDB文件并可视化
  3. Linux学习(1)-Linux几个基础命令及文件系统功能和作用
  4. AI科研绘图1:零基础入门和基本图形绘制
  5. 水痘痊愈就能终生免疫?其实病毒仍潜伏在神经,随时以更可怕的形式爆发......
  6. RandomForest:随机森林预测生物标记biomarker——回归
  7. 扩增子分析解读5物种注释,OTU表操作
  8. R语言ggplot2可视化分面图使用facet_wrap函数和facet_grid函数实战
  9. R语言ggridges包可视化山脊图(Ridgeline Plots)并且在山脊图中添加均值竖线(Add Mean Line to RIdgeline Plot with ggridges in R)
  10. R语言使用ggplot2包使用geom_density()函数绘制分组密度图(分组拆分画板基于facet)实战(density plot)