caffe中只有blob,layer,net这几个东西
深度网络(net)是一个组合模型,它由许多相互连接的层(layers)组合而成。Caffe就是组建深度网络的这样一种工具,它按照一定的策略,一层一层的搭建出自己的模型。它将所有的信息数据定义为blobs,从而进行便利的操作和通讯。Blob是caffe框架中一种标准的数组,一种统一的内存接口,它详细描述了信息是如何存储的,以及如何在层之间通讯的。
1、blob blob其实就是数据在caffe中的形式,实际上是一个4维数组,表示为(N*C*H*W),其中N表示图片的数量,C表示图片的通道数,H和W分别表示图片的高度和宽度 2、layer 层是网络模型的组成要素和计算的基本单位。层的类型比较多,如Data,Convolution,Pooling,ReLU,Softmax-loss,Accuracy等,一个层的结构就不说了全世界都知道。 一般bottom为输入,top为输出。从下到上。
所谓前向传播和后向传播,可以理解为前向计算的是结果,后向计算的是梯度。稍微有点不一样。
3、Net 就是几个layer连起来嘛~
name: "LogReg" layer { name: "mnist" type: "Data" top: "data" top: "label" data_param { source: "input_leveldb" batch_size: 64 } } layer { name: "ip" type: "InnerProduct" bottom: "data" top: "ip" inner_product_param { num_output: 2 } } layer { name: "loss" type: "SoftmaxWithLoss" bottom: "ip" bottom: "label" top: "loss" }