您的位置:首页 > Web前端

cs231n : 深度学习框架的使用

2017-01-09 16:51 260 查看
Caffe
caffe的组成

caffe训练一个网络

转载请注明: http://blog.csdn.net/c602273091/article/details/54290065

Caffe

地址:http://caffe.berkeleyvision.org

安装caffe,安装faster rcnn,R-FCN请看我之前的博客:

http://blog.csdn.net/c602273091/article/details/53907162

http://blog.csdn.net/c602273091/article/details/53907216

http://blog.csdn.net/c602273091/article/details/54232797

Caffe比较适合用在前向传递网络的fine-tune和训练。而且不需要考虑写代码的问题,但是设计循环网络的话,用caffe就不那么好描述了。

caffe的组成

在Caffe中,用到了blob(用于描述数据组成);layer(描述了输入输出,以及对输入怎么操作,得到输出);net(很多层的网络就形成了完整的前向和后向的网络);solver(描述了怎么更新权重,迭代次数等等)

大概是以下的图的样子:



caffe训练一个网络



1、传递数据:训练集。

使用DataLayer,从LMDB中读取数据。这个看了具体代码之后就了解它说什么意思了。

2、定义网络:

所谓的VGG、ZF、GoogleNet、ResNet说的就是这个。



在fine-tune的时候情况如下:



3、定义solver:

如果是fine-tune,直接拷贝solver。



4、最后就是训练:



有一个Model Zoo,可以下载各种各样的网络:

https://github.com/BVLC/caffe/wiki/Model-Zoo

在看caffe的时候,需要着重查看下面的文件:

● caffe/python/caffe/_caffe.cpp:

○ Exports Blob, Layer, Net, and Solver classes

https://github.com/BVLC/caffe/blob/master/python/caffe/_caffe.cpp

● caffe/python/caffe/pycaffe.py

○ Adds extra methods to Net class

https://github.com/BVLC/caffe/blob/master/python/caffe/pycaffe.py

各种框架的总结:



看来我想使用循环网络的话,Tensorflow是必不可少的了。Caffe+TF。

看看李飞飞大牛给的建议:



PS:截图来自于cs231n课程的ppt。

http://cs231n.stanford.edu/syllabus.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息