深度学习框架caffe代码解析一:主要类的关系说明
2015-03-10 21:51
344 查看
最近一段时间一直在研究caffe windowss的源代码,由于windows版本不是官方的正式版本,一直没有更新,所以可能后面代码结构已经发生了变化。下面是我对一些主要类的的理解,错误之处请指教。
Bolb:在caffe中数据都保存在Bolb类中。包括每一层的输入与输出(vector<vector<Blob<Dtype>*> >结构),还有卷积核(vector<shared_ptr<Blob<Dtype> > >)以及全链接层的权重等。
Layer类:在卷积神经网络中,有各种不同类型的层,在caffe中Layer类是所有层类的基类。Layer类有四个基本方法:
SetUp:是每个层的初始化方法。
Forward:是每个层的向前过程方法。
Backward:是每个层向后反馈的方法。
blobs:是返回每个层的数据(卷积和权重、偏置等)。
ConvolutionLayer类:是卷积层类,caffe的主要结构。 他在实现过程中使用了一个重要的方法im2col_cpu来加速cpu运算,这个方法还没有细看。
PoolingLayer类:下采样层类。一般支持MAX和AVE两种模式。
InnerProductLayer类:全链接层。
从层类的名字基本上可以看出他们的具体结构,这里就不细说了。
net类:这个就是我们的网络了。
成员vector<shared_ptr<Layer<Dtype> > > layers_;组成网络的层。
方法 const vector<Blob<Dtype>*>& Net<Dtype>::ForwardPrefilled(Dtype* loss) 中代码:
for (int i = 0; i < layers_.size(); ++i) {
·······
Dtype layer_loss = layers_[i]->Forward(bottom_vecs_[i], &top_vecs_[i]);
·······
}
实现了网络向前传递的过程,向后反馈的代码类似。
Bolb:在caffe中数据都保存在Bolb类中。包括每一层的输入与输出(vector<vector<Blob<Dtype>*> >结构),还有卷积核(vector<shared_ptr<Blob<Dtype> > >)以及全链接层的权重等。
Layer类:在卷积神经网络中,有各种不同类型的层,在caffe中Layer类是所有层类的基类。Layer类有四个基本方法:
SetUp:是每个层的初始化方法。
Forward:是每个层的向前过程方法。
Backward:是每个层向后反馈的方法。
blobs:是返回每个层的数据(卷积和权重、偏置等)。
ConvolutionLayer类:是卷积层类,caffe的主要结构。 他在实现过程中使用了一个重要的方法im2col_cpu来加速cpu运算,这个方法还没有细看。
PoolingLayer类:下采样层类。一般支持MAX和AVE两种模式。
InnerProductLayer类:全链接层。
从层类的名字基本上可以看出他们的具体结构,这里就不细说了。
net类:这个就是我们的网络了。
成员vector<shared_ptr<Layer<Dtype> > > layers_;组成网络的层。
方法 const vector<Blob<Dtype>*>& Net<Dtype>::ForwardPrefilled(Dtype* loss) 中代码:
for (int i = 0; i < layers_.size(); ++i) {
·······
Dtype layer_loss = layers_[i]->Forward(bottom_vecs_[i], &top_vecs_[i]);
·······
}
实现了网络向前传递的过程,向后反馈的代码类似。
相关文章推荐
- 深度学习框架Caffe源码解析(概览)
- 简易的深度学习框架Keras代码解析与应用
- 深度学习框架Caffe源码解析
- 深度学习框架Caffe源码解析
- 深度学习框架Caffe学习笔记(5)-使用gflags解析命令行参数
- 深度学习框架Caffe源码解析
- 深度学习与硬件GPU,软件框架关系及相关概念解析
- 深度学习框架技术解析及caffe实战一些总结
- 深度学习框架Caffe源码解析
- 【深度学习】【Caffe源代码解读4】笔记22 Caffe框架中I/O模块的代码初探
- 深度学习框架Caffe源码解析
- 深度学习框架Caffe源码解析
- 简易的深度学习框架Keras代码解析与应用
- 深度学习框架Caffe源码解析
- 深度学习框架Caffe在Mac上的安装和测试
- Caffe 深度学习框架上手教程
- Caffe 深度学习框架上手教程
- Caffe 深度学习框架上手教程
- 深度学习框架Caffe上手教程
- Caffe 深度学习框架上手教程