• Caffe实例


     

    下载链接以及说明: 
    1.caffe代码按照官方教程下载windows分支下面的就可以了(https://github.com/BVLC/caffe/tree/windows)。
    2.cmake(https://cmake.org/download/
    3.miniconda3  python3.6  x64(https://conda.io/miniconda.html) (注意:官方只能下载python 3.6版本的,在安装完python3.6版本的miniconda之后,注意在安装的时候将目录添加到环境变量中,然后命令行中执行:

    conda create -n py35 python=3.5 anaconda,执行之后,会下载并安装python3.5下面的库,成功之后;

    命令行中执行 activate py35,即可激活python3.5,但是当退出之后仍然是默认的3.6,这个时候命令行执行:

    conda info --envs,可以看到有2个python环境:一个是root,一个是py35,并且可以看到py35这个包的安装路径。

    然后在windows的环境变量中,把py35这个环境的路径和这个路径下的scripts路径添加到path路径中,

    并在系统变量的path路径中删除掉原来的miniconda3/bin和miniconda3/scripts路径,这个再进入命令行中输入python,

    默认就是python3.5了。

    4.下载相应的caffe依赖包,地址https://github.com/willyd/caffe-builder/releases/ (注意我这里下载的是:libraries_v140_x64_py35_1.1.0.tar.bz2     ,这个文件非常难下载,我下载了很多次都没下载下来,如果有需要的,请看百度云链接: https://pan.baidu.com/s/1bp4hJiv 密码: zwn8)

    Q:  CMake Error at D:/cmake/share/cmake-3.11/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
      Could NOT find Atlas (missing: Atlas_CLAPACK_INCLUDE_DIR
      Atlas_CBLAS_LIBRARY Atlas_BLAS_LIBRARY Atlas_LAPACK_LIBRARY)
    Call Stack (most recent call first):

    solve:提示atlas错误,把BLAS 选项改为Open,意思是用OpenBlas

    总算cmake成功了,接着就是编译了。

    Caffe实例

    Mnist数据转化成lemdb格式

    mnist测试

    可以参考http://blog.csdn.net/qq_14845119/article/details/52415090

    mnist测试:

    下面通过一个一个最简单的网络结构lenet来对刚才安装的caffe进行测试。

    (1)去官网http://yann.lecun.com/exdb/mnist/下载mnist数据集。下载后解压到E:caffedatamnist,如下图所示。

     

    (2)在caffe根目录下,新建一个create_mnist.bat,里面写入如下的脚本:

    .Buildx64Releaseconvert_mnist_data.exe .datamnistmnist_train_lmdb rain-images.idx3-ubyte .datamnistmnist_train_lmdb rain-labels.idx1-ubyte .examplesmnistmnist_train_lmdb

    echo.

    .Buildx64Releaseconvert_mnist_data.exe .datamnistmnist_test_lmdb 10k-images.idx3-ubyte .datamnistmnist_test_lmdb 10k-labels.idx1-ubyte .examplesmnistmnist_test_lmdb

    pause

    然后双击该脚本运行,即可在E:caffeexamplesmnist下面生成相应的lmdb数据文件。

     

    (3)修改E:caffeexamplesmnistlenet_solver.prototxt,将最后一行改为solver_mode:CPU,

    修改E:caffeexamplesmnistlenet_train_test.prototxt,如下所示,左面为原始的,右面为修改后的。

     

    (4)在caffe根目录下,新建train_mnist.bat,然后输入如下的脚本,

    .Buildx64Releasecaffe.exetrain --solver=.examplesmnistlenet_solver.prototxt

    pause

    然后双击运行,就会开始训练,训练完毕后会得到相应的准确率和损失率。

     

    需要注意的是:

    1.将他们都下载下来,在./data/mnist中建立两个文件夹分别装好

     

    2. 写脚本语言是应核对好路径是否正确,要用自己的路径,不能照抄作者的。

    3. 如果只用CPU,网络训练时间在一小时左右(可能是我笔记本配置低)

    我的操作

     

    一些错误,及解决办法

    [libprotobuf ERROR C:Usersguillaumeworkcaffe-builderuild_v140_x64packagesprotobufprotobuf_download-prefixsrcp
    rotobuf_downloadsrcgoogleprotobuf ext_format.cc:298] Error parsing text-format caffe.NetParameter: 14:17: Invalid es

     

    可以看出是解析lenet_train_test.prototxt出错,NetParameter后面跟的是错误的位置,比如第一个是14行17列,找到lenet_train_test.prototxt这个位置发现是’’。

    问题原因:

    在windows中路径分隔符是’’,比如我一开始直接复制lmdb的路径到prototxt中的:

     

    source这个字符串在c里面解析为转义,所以出错。

    解决方法:

    ‘’改为‘/’或者‘\’

     

    我的

     

    双击运行runMNIST.bat文件,训练数据集。

    第一个测试程序已经完成了,准确度还挺高,下一步该研究网络结构了。

  • 相关阅读:
    程序员学习新技术的10个建议
    ES6 let和const总结归纳
    ES6 对象扩展运算符 res运算符
    ES6 变量的解构赋值
    ES6的开发环境搭建
    vue给同一元素绑定单击click和双击事件dblclick,执行不同逻辑
    "双非"应届生校招如何获得大厂青睐?(内附前端大厂面经+技术岗超全求职攻略)
    移动端300ms与点透总结
    Web移动端适配总结
    正则表达式总结
  • 原文地址:https://www.cnblogs.com/juluwangshier/p/10217613.html
Copyright © 2020-2023  润新知