【Caffe】Caffe框架初识

Caffe框架作者:贾扬清

caffe框架参考:http://caffe.berkeleyvision.org/

caffe源码下载:https://github.com/BVLC/caffe

caffe上手参考:http://suanfazu.com/t/caffe/281

MakeFile文件内容梳理参考:http://blog.csdn.net/thystar/article/details/50837750

Caffe?

Caffe(Convolution Architecture For Feature Embedding),CNN工具箱,C++语言架构,支持CPU和GPU之间切换,支持Python和matlab接口调用。

Caffe优势:

上手快:模型与相应优化都是以文本形式而非代码形式给出。

速度快:能够运行最棒的模型与海量的数据。

模块化:方便扩展到新的任务和设置上。

开放性:公开的代码和参考模型用于再现。

社区好:可以通过BSD-2参与开发与讨论。

数据集的组织:

训练集(Training Set):用于训练网络;

验证集(Validation Set): 训练过程中测试网络准确率;

测试集(Test Set):测试训练最终模型的准确率。

CNN的网络配置文件:(以lenet为例)

lenet_train_test.prototxt:训练参数配置文件;

lenet_solver.prototxt:超参数配置文件。

两个初始学习训练集:

MINIST(手写字体识别数据集(handwritten digits)):http://yann.lecun.com/exdb/mnist/

CIFAR dataset(小图分类数据集):http://www.cs.toronto.edu/~kriz/cifar.html

Caffe的重要组件:

Blob:是数据传输的媒介,神经网络涉及到的输入输出数据,网络权重参数等等,其实都是转化为Blob数据结构来存储的。
Layer:是神经网络的基础单元,层与层间的数据节点、前后传递都在该数据结构中被实现,这里layers下实现了卷积层、激励层,池化层,全连接层等等“积木元件”,丰富度很高。
Net:是网络的整体搭建骨架,整合Layer中的层级机构组成网络。

Solver:是网络的求解优化策略,让你用各种“积木”搭建的网络能最适应当前的场景下的样本,如果做深度学习优化研究的话,可能会修改这个模块。

Caffe依赖包:(参考深度学习21天实战Caffe)

Protobuf:Google开发的一种可以实现内存与非易失存储介质(如硬盘文件)交换的协议接口。Caffe源码中使用了大量的Protocolbuffer作为权重和模型参数的载体。是开发者对参数管理的有效方式,便于模块集成,而且该工具可以跨语言进行数据结构传递。

Caffe源码阅读流程:(下面的图来自于寒小阳在小象学院的公开课)


Caffe接口参数?


  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值