首页
登录 | 注册

caffe基础知识简介

近来整理资料,发现刚接触caffe时写的一些笔记,现将笔记整理出来,以便以后查看。

caffe是一个开源的深度学习框架,可读性高,它允许利用自己的CPU或者GPU训练网络,不需要自己编写程序,只需要通过配置文件来指定网络。

caffe实现了前馈卷积神经网络架构(CNN),在一个n层的神经网络中,通过调整其中的参数,使任何一层的输入和输出都是相等的,任何一层都是输入的另一种表示。深度学习是一种特征学习方法,把原始数据通过一些简单的非线性的模型转化为更高层次、更抽象的表达,高层次的表达能强化输入数据的区分能力,同事削弱不相关因素。

caffe都是一些模块组成,模块包括4个部分:Blob(caffe的数据表示,在layer上流动),layer(不仅可以表示神经网络层,也可以表示输入输出层),Net(神经网络结构,将layer层叠关联起来),slover(协调神经网络的训练和测试,定义一些参数)。

Blob 四维连续数组,通常表示为(n, k, w, h)是基础的数据结构,可表示输入输出数据,也可表示参数数据

Layer 网络基本单元,每一层类型定义了3种计算: 1. 初始化网络参数。2. 前向传播的实现。 3. 后向传播。

Net 无回路有向图,有一个初始化函数,主要有两个作用: 1. 创建blobs和layers。2. 调用layers的setup函数来初始化layers。还有两个函数 Forward和Backward,分别调用layers的 forward 和 backward。

Solver 的作用是:a. 创建用于学习的训练网络和用于评估的测试网络; b. 周期性的评估测试网络; c. 通过调用前馈和后馈函数进行的迭代优化和参数更新。solver每轮迭代都会通过前馈函数计算输出和损失(loss),还用后馈传播来计算梯度。通过更新学习率等方法更新solver。

训练好的caffe model 是用于保存和恢复网络参数,后缀为 .caffemodel; solver保存和恢复运行状态,后缀为 .solverstate

补充:

深度学习最核心的两个方面:数据和模型。数据是带标签的图片集,主要分为训练集,验证集和测试集;模型是描述CNN结构的有向五环图,表示对原始数据的处理方式,也是前文所提到的caffemodel。

另外caffe也不是直接处理原始数据的,而是由预处理程序将原始数据变换存储为LMDB或者LevelDB格式,这两种方式可保持较高的IO效率,加快训练时的数据加载速度,另一方面是因为数据类型很多(二进制文件,文本文件,JPG等图像文件等)不可能用同一套代码实现所有类型的输入数据读取,所以转换为统一的格式可以简化数据读取层的实现。


相关文章

  • JDBC----学习(1)----基础知识
    1   DBC是java访问数据库的基石,JDO, Hibernate等只是更好的封装了JDBC. 2  JDBC(Java Database Connectivity)是一个独立于特定数据库管理系统.通用的SQL数据库存取和操作的公共接口 ...
  • 贾扬清:我对人工智能方向的一点浅见
    阿里妹导读:作为 AI 大神,贾扬清让人印象深刻的可能是他写的AI框架Caffe ,那已经是六年前的事了.经过多年的沉淀,成为"阿里新人"的他,对人工智能又有何看法?最近,贾扬清在阿里内部分享了他的思考与洞察,欢迎共同探 ...
  • 微软发布人工智能教育与学习共建社区
    步入2019,人工智能(Artificial Intelligence)的浪潮依然汹涌,各国对于AI人才的需求进一步加大:2月,美国总统特朗普签署行政命令,正式启动美国人工智能计划:加拿大正通过"全球技能战略签证"吸引国 ...
  • 一份还热乎的蚂蚁金服面经(已拿Offer)!附答案!!
    本文来自我的知识星球的球友投稿,他在最近的校招中拿到了蚂蚁金服的实习生Offer,整体思路和面试题目由作者--泽林提供,部分答案由Hollis整理自知识星球<Hollis和他的朋友们>中「直面Java」板块. 经历了漫长一个月的 ...
  • 阿里开发者招聘节 | 面试题02-04:给定一个二叉搜索树(BST),找到树中第K小的节点
    为帮助开发者们提升面试技能.有机会入职阿里,云栖社区特别制作了这个专辑--阿里巴巴资深技术专家们结合多年的工作.面试经验总结提炼而成的面试真题这一次将陆续放出(面试题官方参考答案将在专辑结束后统一汇总分享,点此进入答题并围观他人答案).并通 ...
  • 阿里开发者招聘节 | 面试题01:如何实现一个高效的单向链表逆序输出?
    面试,如同玩一场饥饿游戏:既要对环境了然于胸,又要对自身心知肚明.发现一个好工作不容易,但成功应聘又会面临一系列的挑战. 为帮助开发者们提升面试技能.有机会入职阿里,云栖社区特别制作了这个专辑--阿里巴巴资深技术专家们结合多年的工作.面试经 ...

2020 jeepshoe.net webmaster#jeepshoe.net
13 q. 0.283 s.
京ICP备10005923号