zoukankan      html  css  js  c++  java
  • caffe 试运行MNIST

    转自:http://www.cnblogs.com/NanShan2016/p/5469942.html

    编译完caffe后,在D:caffecaffe-mastercaffe-masteruildx64Release 中有caffe.exe

    训练篇

    1 *.sh文件如何执行?

    直接将后缀名改成“bat”然后双击。 但是实际上好像好需要修改。

    如何载入MNIST数据并且开始训练?

       (1)首先明确我们需要设定两个重要的prototxt文件,它们分别是CAFFE_ROOT/examples/mnist下的lenet_train_test.prototxt和lenet_solver.prototxt。 

    ①在此给出用于训练的MNIST数据mnist-train-leveldb以及mnist-test-leveldb的路径; 用于训练和测试的数据的路径
    ②在此定义这个网络都有哪些层,给出每一层的定义。  网络的结构,那些层,每层的设计

    3)在lenet_solver.prototxt中: 
    ①在此指明我们要训练的网络是lenet_train_test.prototxt,给出lenet_train_test.prototxt的路径;   上述网络运行时的参数及路径 详细见:http://blog.csdn.net/langb2014/article/details/50457774
    ②在此指定是用CPU还是GPU。 

    开始训练:在CAFFE_ROOT/examples/mnist下找到sh文件train_lenet.sh,在里面给出: 
    ①caffe编译后生成的可执行文件exe的名称(带不带“.exe”都可以),后面跟“train”代表选择“训练”; caffe.exe要和train_lenet.sh在一个目录下 同时
    ②刚才写好的lenet_solver.prototxt的路径。   train_lenet.sh要指明网络求解路径,网络求解proto中包含数据路径
    然后双击执行该脚本文件即可。

    windows下脚本是.bat文件

    caffe.exe train --solver=example2/lenet_solver.prototxt
    pause

    3、关于路径

    如2中所述,在这两个prototxt和一个sh文件中,都要指明一些文件的路径。现总结如下: 
    (1)lenet_train_test.prototxt中:训练集mnist-train-leveldb与测试集mnist-test-leveldb的路径; 
    (2)lenet_solver.prototxt中:3-(1)的prototxt文件lenet_train_test.prototxt的路径; 
    (3)train_lenet.sh中:caffe可执行文件exe名称,以及3-(2)的prototxt文件lenet_solver.prototxt的路径。

    能够让程序跑起来的设置方法(法一)

    (1)在CAFFE_ROOT/x64/Debug中,新建一个文件夹example2,使该文件夹与可执行文件Caffe.exe处于同一路径中; 
    这里写图片描述
    不要管examples和myexamples,这两个文件夹是师兄拷给我的时候就有了的,一个是caffe自带的,一个是师兄做的实验。总而言之与example2是独立关系。

    (2)将刚才CAFFE_ROOT/examples/mnist下的mnist-test-leveldb、mnist-train-leveldb、lenet_train_test.prototxt以及lenet_solver.prototxt这四个文件全部拷贝到example2中去。 
    这里写图片描述

    (3)设定prototxt文件,给出相应的路径。 
    ①lenet_train_test.prototxt 
    这个文件即之前说的lenet_train.prototxt,为了便于区分在后面加了一个_test。给出相对路径如下: 
    这里写图片描述
    此处给出绝对路径也是可以的。如: 
    这里写图片描述
    ②lenet_solver.prototxt 
    设置相对路径: 
    这里写图片描述
    这里给出绝对路径也是可以的。如: 
    这里写图片描述

    (4)将CAFFE_ROOT/examples/mnist下的train_lenet.sh文件拷贝到CAFFE_ROOT/x64/Debug中,使之与可执行文件Caffe.exe以及example2处于同一目录下。 
    这里写图片描述
    打开train_lenet.sh文件,修改内容如下: 
    这里写图片描述 
    修改该文件后缀名为bat,双击train_lenet.bat,则可以成功跑起来

    注意:一点是LEVELDB 而不是小写的 否则训练会出错

    在网络训练完毕后,将在指定路径后生成四个文件,其中两个caffemodel文件lenet_iter_5000.caffemodel与lenet_iter_10000.caffemodel为我们测试时所需要的,它们分别存放着程序迭代5000次与10000次后网络的参数。 

    测试篇

    将在对应的路径下生成四个文件: 
    这里写图片描述

    2、在CAFFE/examples/mnist目录下新建一个文本文件,然后将后缀名改成sh。填入以下语句: 
    这里写图片描述
    注意,这样填写只是为了便于观看,但直接保存后是不能跑起来的,必须把第2~5条语句全部放在同一行,语句与语句之间用一个空格隔开。 
    这里写图片描述

    3、保存该sh文件,然后双击,即可出现训练情况: 
    这里写图片描述

  • 相关阅读:
    PHP的超全局变量
    Python 切片
    Python for else语句 以及 break和continue
    niceScroll 滚动条的用法
    python 短路求值或惰性求值
    python 中的 __name__
    python3 中的Counter函数
    谷歌浏览器 F12
    python reversed()的使用
    python字符串格式化% 操作符 {}操作符
  • 原文地址:https://www.cnblogs.com/love6tao/p/5710719.html
Copyright © 2011-2022 走看看