摘要: @ "TOC" im2col简介 caffe的卷积操作中使用im2col来加速,im2col将卷积核中的每个点在图像上的对应点全都提取出来按行排列,得到一个矩阵,这样就将卷积操作转化为矩阵进行操作。 如上图所示的,假设输入图像的形状为 ,并且 。左侧图中蓝色为padding补充的边界,值均为0,绿色 阅读全文
posted @ 2020-01-12 21:11 Rule110 阅读(540) 评论(0) 推荐(0) 编辑
摘要: "InfogainLossLayer类" "EuclideanLossLayer类" "HingeLossLayer类" "ContrastiveLossLayer类" InfogainLossLayer类简介 InfogainLossLayer与SoftmaxWithLossLayer类似,只不过 阅读全文
posted @ 2020-01-05 22:47 Rule110 阅读(193) 评论(0) 推荐(0) 编辑
摘要: "LossLayer类" "MultinomialLogisticLossLayer类" "SoftmaxWithLossLayer类" "SigmoidCrossEntropyLossLayer类" LossLayer类简介 LossLayer类是caffe中各种loss layer的基类,本身并 阅读全文
posted @ 2020-01-01 20:27 Rule110 阅读(318) 评论(0) 推荐(0) 编辑
摘要: "SGD类" "Nesterov Accelerated Gradient类" "AdaGrad类" "RMSProp类" "AdaDelta类" "Adam类" SGD简介 caffe中的SGDSolver类中实现了带动量的梯度下降法,其原理如下,$lr$为学习率,$m$为动量参数。 1. 计算新 阅读全文
posted @ 2019-12-29 18:01 Rule110 阅读(324) 评论(0) 推荐(1) 编辑
摘要: DataTransformer类简介 DataTransformer类中主要用于图像预处理操作,layer中可设置 类型的消息来对输入图像进行减均值、随机镜像、随机裁剪或缩放。DataTransformer类中主要包含重载函数 ,可以对各种类型的图像数据进行预处理,并存入到Blob类型的数据中。类中 阅读全文
posted @ 2019-12-25 23:16 Rule110 阅读(303) 评论(0) 推荐(0) 编辑
摘要: Solver类简介 Net类中实现了网络的前向/反向计算和参数更新,而Solver类中则是对此进行进一步封装,包含可用于逐次训练网络的 函数,和用于求解网络的优化解的 函数,同时还实现了一些存储、读取网络模型快照的接口函数。 solver.cpp源码 小结 1. 求解器的动作回调函数在 caffe. 阅读全文
posted @ 2019-12-22 15:29 Rule110 阅读(429) 评论(0) 推荐(0) 编辑
摘要: SGDSolver类简介 Solver类用于网络参数的更新,而SGDSolver类实现了优化方法中的随机梯度下降法(stochastic gradient descent),此外还具备缩放、正则化梯度等功能。caffe中其他的优化方法都是SGDSolver类的派生类,重载了基类的 函数,用于各自计算 阅读全文
posted @ 2019-12-19 00:52 Rule110 阅读(669) 评论(0) 推荐(0) 编辑
摘要: net.cpp部分源码 NetParameter SolverParameter 类型数据)。另一种为二进制类型(binary类型),caffe中的模型快照文件 ".caffemodel" 和求解器快照文件 ".solverstate" 均是此类型,一般用来存储数据量较大且无需用户修改的数据,如网络 阅读全文
posted @ 2019-12-15 15:44 Rule110 阅读(305) 评论(0) 推荐(1) 编辑
摘要: Net类简介 Net类主要处理各个Layer之间的输入输出数据和参数数据共享等的关系。由于Net类的代码较多,本次主要介绍网络初始化部分的代码。Net类在初始化的时候将各个Layer的输出blob都统一保存在变量blobs_中,利用各个层的输入输出数据在blobs_的位置,可以方便地确定层之间数据传 阅读全文
posted @ 2019-12-13 00:50 Rule110 阅读(447) 评论(0) 推荐(0) 编辑
摘要: InsertSplits()函数 在Net初始化的过程中,存在一个特殊的修改网络结构的操作,那就是当某层的输出blob对应多个其他层的输入blob时,会在输出blob所在层的后面插入一个新的 Split 类型的层。大致方式如下图所示,左侧为原始网络的结构,右侧为修改之后的网络结构。个人理解这样做的目 阅读全文
posted @ 2019-12-08 22:46 Rule110 阅读(499) 评论(0) 推荐(0) 编辑