Caffe初试

1.基本概念

  Caffe是一个比较流行的神经网络框架,它支持C++、Python等语言,容易上手,但是代码貌似不怎么好读,等有空我。。。;)

2.Windows10下的部署

  我把我Windows下的编译完的bin上传了,如果opencv+cuda+cudnn配置好了的话应该可以直接用,替换掉caffe-windows-master/bin就行

链接: https://pan.baidu.com/s/1pLAW2Yf 密码: 1234 

  这里有官方编译完成的文件可供下载:https://github.com/BVLC/caffe/tree/windows 

 -----分割------

  环境:Win10+VS2013+OpenCV+CUDA7.5+Cudnn+Caffe

  我之前已经配置好了OpenCV2了,其他的差不多从新开始。

  Caffe现在官方支持Windows了,不过当时配置有点乱,然后用了一个大神整理好的Caffe包:

链接: https://pan.baidu.com/s/1hsqRQEK 密码: 1234

  以及下面这个依赖包:

链接: https://pan.baidu.com/s/1ge4QLKB 密码: 1234

  

  01.在使用Caffe之前要先安装CUDA7.5和Cudnn,可以在官网下载(如果你打算使用CPU的话就算了)

  02.将Caffe解压,然后把那个依赖包解压,把里面的bin,include,lib放在caffe-windows-master中的3rdparty文件夹中(有替换就替换),将3rdparty/bin加入到环境变量的path里

  03.运行/src/caffe/proto/extract_proto.bat

  04.运行buildVS2013文件夹下的MainBuilder.sln(不使用GPU的话用另外一个文件夹里的)

  05.改变VS到Release和X64模式

  06.编译,里面还有compute_image_mean,convert_imageset等项目也要编译,编译要好久的,然后编译成功的话会在bin文件夹里生成相应的exe文件(把这个bin加到环境变量path后可以在CMD直接执行这些exe)

  07.最后编译完成后,基本上是完成了Caffe的部署,至于详细的部署等,可以参见caffe-windows-master目录下的README.md,虽然是英文,但是比较好懂,说的也比较详细。

3.使用Caffe

  关于Caffe的详细教程网上比较多,比如该系列就不错:

http://www.cnblogs.com/denny402/tag/caffe/

  然后大概说一下如何使用(以finetuning为例):

  01.在一个Caffe项目中,有两个.prototxt文件比较重要,一个是定义网络结构的,一个是xxx_solver.txt(用来定义训练的相关参数,比如学习率等),然后finetuning的话,还需要一个.caffemodel的文件,就是别人训练好的model

  02.要进行finetuning的话,网络结构,就是那两个.prototxt要和使用的.caffemodel对应的网络一致,可以进行少许修改,比如输出类别数目,学习参数等。

  03.然后准备好自己的训练集和测试集,如果使用的是自己的样本,想省事的话就不用把图片换成leveldb或lmdb了,caffe是支持直接用图片的,不过训练集和测试集要各有一个图片列表.txt:格式如下:

位置/../xx1.jpg 0
位置/../xx2.jpg 0
位置/../xx3.jpg 0
位置/../xx4.jpg 1
位置/../xx5.jpg 1
位置/../xx6.jpg 1
.....................

       后面的数字是该样本所对应的类别,要从0开始。

  04.然后 打开cmd,定位到caffe-windows-master目录下执行caffe开始训练

caffe train -solver=examples/../xx_solver.prototxt -weights=examples/../xx.caffemodel

4.其他

  在finetuning中,如果要指定某个层的权值参数不改变,只需要将它的lr_mult的值设置为0。

  如果不想使用某个层原来的参数,则将它的名字改变就好。

posted @ 2017-02-28 21:04  whlook  阅读(347)  评论(0编辑  收藏  举报