![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
caffe详解
文章平均质量分 80
AI异构
博士在读,关注人工智能,异构计算相关内容,不定期更新文章~
展开
-
caffe详解之数据层
从零开始,一步一步学习caffe的使用,期间贯穿深度学习和调参的相关知识!数据层参数说明layer { name: "cifar" #层的名字 type: "Data" #表示是数据层 top: "data" #一般用bottom表示输入,top表示输出,多个top代表有多个输出 top: "label" #此例中有两个输入(输入数据和最终的标准结果) inclu...原创 2018-06-10 10:46:27 · 901 阅读 · 0 评论 -
caffe详解之Python接口
从零开始,一步一步学习caffe的使用,期间贯穿深度学习和调参的相关知识! 生成net文件from caffe import layers as L, params as Pdef lenet(lmdb, batch_size): # 以Lenet-5网络搭建为例 n = caffe.NetSpec() # 继承自NetSpec # 创建数据层。数据层类...原创 2019-02-23 10:14:41 · 2482 阅读 · 0 评论 -
caffe详解之solver文件配置
从零开始,一步一步学习caffe的使用,期间贯穿深度学习和调参的相关知识! solver配置说明通过前面的讲解我们了解了不同的层,作为我们设计深度神经网络的积木,梳理了caffe中给定的损失函数(当然我们也可以针对自己的问题设计),并进一步对优化算法进行了细致的总结,接下来我们将caffe中需要配置的solver.prototxt中涉及到的参数进行详细剖析。我们首先看一看lenet...原创 2019-02-23 10:11:59 · 421 阅读 · 0 评论 -
caffe详解之优化算法
从零开始,一步一步学习caffe的使用,期间贯穿深度学习和调参的相关知识! 常见优化算法总结前面我们介绍了卷积神经网络中主流的数据层,卷积层,全连接层,池化层,激活函数层,归一化层,dropout层,softmax层。分析每一层的配置及意义的目的主要是为了便于设计出适合自己的网络。然后根据自己的任务需要定义合适的损失函数。当搭建出自己的网络并确定网络的损失函数后,下一个关键问题便是训...原创 2019-02-23 10:02:42 · 371 阅读 · 0 评论 -
caffe详解之反向传播
从零开始,一步一步学习caffe的使用,期间贯穿深度学习和调参的相关知识! 前向传播与反向传播反向传播(back-propagation)是计算深度学习模型参数梯度的方法。总的来说,反向传播中会依据微积分中的链式法则,按照输出层、靠近输出层的隐含层、靠近输入层的隐含层和输入层的次序,依次计算并存储模型损失函数有关模型各层的中间变量和参数的梯度。反向传播回传误差(只在训练过程中实现)...原创 2018-06-10 11:12:42 · 1631 阅读 · 0 评论 -
caffe详解之损失函数
从零开始,一步一步学习caffe的使用,期间贯穿深度学习和调参的相关知识! 【转】Caffe中的损失函数解析导言在有监督的机器学习中,需要有标签数据,与此同时,也需要有对应的损失函数(Loss Function)。在Caffe中,目前已经实现了一些损失函数,包括最常见的L2损失函数,对比损失函数,信息增益损失函数等等。在这里做一个笔记,归纳总结Caffe中用到的不同的损失函数,...转载 2018-06-10 11:10:24 · 1681 阅读 · 0 评论 -
caffe详解之归一化层
从零开始,一步一步学习caffe的使用,期间贯穿深度学习和调参的相关知识! LRN 参数配置layer { name: "norm1" type: "LRN" bottom: "conv1" top: "norm1" lrn_param { local_size: 5 alpha: 0.0001 beta: 0.75 }}LR...原创 2018-06-10 11:01:04 · 3316 阅读 · 1 评论 -
caffe详解之全连接层
全连接层参数说明全连接层,输出的是一个一维向量,参数跟卷积层一样。一般将全连接置于卷积神经网络的后几层。权重值的初始化采用xavier,偏置初始化为0.layer { name: "ip1" type: "InnerProduct" #全连接层 bottom: "pool2" #输入 top: "ip1" #输出 param { lr_mult: 1 #权重学习率倍数 } pa...原创 2018-06-10 10:59:55 · 3107 阅读 · 0 评论 -
caffe详解之池化层
池化层参数说明layer { name: "pool1" type: "Pooling" bottom: "conv1" top: "pool1" pooling_param { pool: MAX #池化方法,默认为MAX。目前可用的方法有MAX, AVE kernel_size: 3 #池化的核大小 stride: 2 #池化的步长,默认为1。一般我们设置为2,即不...原创 2018-06-10 10:58:54 · 4952 阅读 · 0 评论 -
caffe详解之卷积层
从零开始,一步一步学习caffe的使用,期间贯穿深度学习和调参的相关知识! 卷积层参数说明layer { name: "conv1" type: "Convolution" bottom: "data" top: "conv1" param { lr_mult: 1 #lr_mult: 学习率的系数,最终的学习率是这个数乘以solver.prototx...原创 2018-06-10 10:57:42 · 3216 阅读 · 0 评论 -
caffe详解之激活函数层
从零开始,一步一步学习caffe的使用,期间贯穿深度学习和调参的相关知识! 激活函数参数配置在激活层中,对输入数据进行激活操作,是逐元素进行运算的,在运算过程中,没有改变数据的大小,即输入和输出的数据大小是相等的。神经网络中激活函数的主要作用是提供网络的非线性建模能力,如不特别说明,激活函数一般而言是非线性函数。假设一个示例神经网络中仅包含线性卷积和全连接运算,那么该网络仅能够表达线...转载 2018-06-10 10:56:13 · 2854 阅读 · 0 评论 -
caffe详解之Dropout层
从零开始,一步一步学习caffe的使用,期间贯穿深度学习和调参的相关知识! Dropout 参数设置Dropout是一个防止过拟合的层,只需要设置一个dropout_ratio就可以了。layer { name: "drop7" type: "Dropout" bottom: "fc7-conv" top: "fc7-conv" dropout_param ...原创 2018-06-10 10:54:57 · 6360 阅读 · 2 评论 -
caffe详解之softmax层
从零开始,一步一步学习caffe的使用,期间贯穿深度学习和调参的相关知识! softmax layersoftmax layer: 输出似然值layers { bottom: "cls3_fc" top: "prob" name: "prob" type: "softmax"}公式如下所示: softmax-loss layer:输出lo...原创 2018-06-10 10:52:09 · 6714 阅读 · 1 评论 -
caffe详解之minist手写体识别
从零开始,一步一步学习caffe的使用,期间贯穿深度学习和调参的相关知识! 加载库文件设置路径#加载必要的库import numpy as npimport matplotlib.pyplot as plt%matplotlib inlineimport sys,os,caffe#设置当前目录caffe_root = '/home/xuke/caffe/'sys.pa...原创 2019-02-23 10:17:17 · 719 阅读 · 0 评论