caffe.proto 详解/build/lib/libproto.a怎么生成

使用Anaconda Python
1.brew edit opencv
args && "-DPYTHON_LIBRARY=#{py_lib}/libpython2.7.#{dylib}"
args && "-DPYTHON_INCLUDE_DIR=#{py_prefix}/include/python2.7"
args && "-DPYTHON_LIBRARY=/Users/work/anaconda/lib/libpython2.7.#{dylib}"
args && "-DPYTHON_INCLUDE_DIR=/Users/work/anaconda/include/python2.7"
2.去掉ANACONDA_HOME的注释并修改为安装的路径
ANACONDA_HOME := /Users/work/anaconda
PYTHON_INCLUDE := $(ANACONDA_HOME)/include \
$(ANACONDA_HOME)/include/python2.7 \
$(ANACONDA_HOME)/lib/python2.7/site-packages/numpy/core/include
3.再次make
出错:Warning! ***HDF5 library version mismatched error***
brew uninstall hdf5
ld: library not found for -lhdf5_hl
clang:&error:&linker command failed with exit code 1 (use -v to see invocation)
make: *** [.build_release/lib/libcaffe.so.1.0.0-rc5] Error 1
makefile中还需要修改PYTHON_LIB如下:
#PYTHON_LIB := /usr/libPYTHON_LIB := $(ANACONDA_HOME)/lib
出错:make runtest
.build_release/tools/caffe
dyld: Library not loaded: @rpath/libhdf5_hl.10.dylib
& Referenced from: /Users/work/gitclone/caffe/.build_release/tools/caffe
& Reason: image not found
make: *** [runtest] Abort trap: 6
设置一下环境变量DYLD_FALLBACK_LIBRARY_PATH&
export DYLD_FALLBACK_LIBRARY_PATH=/usr/local/cuda/lib:/Users/work/anaconda/lib:/usr/local/lib:/usr/lib:$DYLD_FALLBACK_LIBRARY_PATH
依然出错。。。
哎哎哎,,,参照&http://playittodeath.ru/how-to-install-caffe-on-mac-os-x-yosemite-10-10-4/ 重新卸载编译吧,依然是这个错误
export DYLD_FALLBACK_LIBRARY_PATH=/usr/local/cuda/lib:/Users/work/anaconda/lib:/usr/local/lib:/usr/lib
export CPLUS_INCLUDE_PATH=/Users/work/anaconda/include/python2.7/:&
正确的方法为将添加libhdf5_hl.10.dylib所在路径添加到rpath
install_name_tool -add_rpath '/Users/work/anaconda/lib' &/Users/work/gitclone/caffe/.build_release/tools/caffe
test_all.testbin 继续出错--&
dyld: Library not loaded: @rpath/libhdf5_hl.10.dylib
& Referenced from: /Users/work/gitclone/caffe/.build_release/test/test_all.testbin
& Reason: image not found
make: *** [runtest] Abort trap: 6
再次添加rpath
install_name_tool -add_rpath '/Users/work/anaconda/lib'& /Users/work/gitclone/caffe/.build_release/test/test_all.testbin
#这句不用 install_name_tool -add_rpath '/Users/work/anaconda/lib' /Users/work/gitclone/caffe/.build_release/lib/libcaffe.so
终于make runtest成功
Library not loaded错误参考:/BVLC/caffe/issues/2320&
install_name_tool 参考&/p/193ba07dadcf&
查看可执行文件的依赖情况: otool -L &/Users/work/gitclone/caffe/.build_release/test/test_all.testbin
4.make pycaffe&
&import caffe 出错:
ImportError: No module named google.protobuf.internal
conda install protobuf 即可解决
5.其他错误
a. RuntimeError: module compiled against API version 0xa but this version of numpy is 0x9
系统自带python的numpy版本为1.8.0rc1旧版本
/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python
使用pip install numpy --upgrade 升级到1.12.0版本即可
阅读(...) 评论()圖像相關(1)
caffe的编译配置真的是很让人头疼啊,不知道试过多少次了~~~
重装系统了七八次,搞得linux的一些常用命令倒是很熟悉了~~~
我有洁癖~~~某一个点上出了错,我一定要把它搞好了,再重新来一次,我怕会因为某一点的小错误会影响到其它重要的地方。。。(有同感的默默在心里举个爪~~~^_^~~~)
又折腾了好几次,参考了很多的博客,总结出一整套的安装配置流程!
0、先行设置系统软件源更新,以及目录设置
网络无问题即可,不用太纠结
  更新sources.list,我使用的是ipv6校园网,用清华大学软件源。
  修改完list文件后sudo apt-get update
1、系统驱动+CUDA安装配置
需要更换默认的驱动和安装CUDA,但是如果你的cuda的计算能力达不到3.0及以上,请跳过本部分。
  驱动安装过程中可能会出现问题:the nouveao kernel driver未禁用的错误。
    sudo gedit /etc/modprobe.d/blacklist.conf
  在最后加上两行:    
  1 blacklist nouveau
  2 options nouveau modeset=0
  然后执行:
    sudo update-initramfs -u
  reboot重启即可。重启后会发现字体变大了。
  即是初始驱动已经禁用了。再次重试安装即可。
  然后再在字符界面下安装:
  进入字符界面tty1:关闭X-Window:sudo service lightdm stop,然后切换到tty1:Ctrl+Alt+F1,在纯字符界面下,登陆用户;
  显卡驱动:安装使用 NVIDIA-Linux-x86_64-367.44.run文件
  1 sudo chmod +x NVIDIA-Linux-x86_64-367.44.run
  2 sudo ./NVIDIA-Linux-x86_64-367.44.run
  然后一路确认即可。
    CUDA安装有两种方式安装,run文件和deb文件两种,优先使用deb,如果安装出错再考虑使用run文件安装。
      deb:(这里的安装时需要网络的,即软件源能连通)  
        1sudo dpkg -i cuda-repo-ubuntu1604-8-0-rc_8.0.27-1_amd64.deb
        2sudo apt-get update
        3sudo apt-get install cuda
        4sudo dpkg -i cuda-misc-headers-8-0_8.0.27.1-1_amd64.deb
      run:
        1、sudo sh cuda_8.0.27_linux.run
        然后一路按空格键,直到100%,其它选项基本选择y即可,但是取消显卡驱动的安装即可。
  配置与测试:
    1、声明环境变量:
      export PATH=/usr/local/cuda-8.0/bin{PATH:+:{PATH:+:{PATH}}
      export CUDA_PATH=/usr/local/cuda-8.0/lib64{CUDA_PATH:+:{CUDA_PATH:+:{CUDA_PATH}}
    2、设置文件:
      sudo gedit /etc/profile
    3、在文件末尾添加:
      export PATH=/usr/local/cuda/bin:$PATH
    4、创建链接文件:
      sudo gedit /etc/ld.so.conf.d/cuda.conf
    5、在打开的文件中添加:
      /usr/local/cuda/lib64
    6、最后执行
      sudo ldconfig
    7、运行测试用例
      cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery
      sudo make
      sudo ./deviceQuery
      然后即可显示出关于GPU的信息,则说明安装成功了
    8、另外使用命令:nvidia-smi直接会输出支持cuda的GPU设备列表
2、cuDNN设置
这里设置使用cudnn加速,一定注意前面说的计算能力问题,后面还会提到!!! 
  下载的压缩包:cudnn-8.0-linux-x64-v5.0-ga.tgz,解压缩会有两个文件夹include和lib64
  依次进行如下命令:
    cd cuda
    sudo cp ./include/cudnn.h /usr/local/cuda/include/ #复制头文件
    sudo cp ./lib64/lib* /usr/local/cuda/lib64/ #复制动态链接库
    cd /usr/local/cuda/lib64/
    sudo rm -rf libcudnn.so libcudnn.so.5 #删除原有动态文件
    sudo ln -s libcudnn.so.5.0.5 libcudnn.so.5 #生成软衔接
    sudo ln -s libcudnn.so.5 libcudnn.so #生成软链接
  在caffe的Makefile.config文件中开启cuDNN
  1 # cuDNN acceleration switch (uncomment to build with cuDNN).
  2 USE_CUDNN := 1
  查看CUDA计算容量:
sudo /usr/local/cuda/samples/bin/x86_64/linux/release/deviceQuery
  在caffe的Makefile.config文件中,找到并修改:
CUDA_ARCH := -gencode arch=compute_20,code=sm_20 \
  -gencode arch=compute_20,code=sm_21 \
  -gencode arch=compute_21,code=sm_21 \
  -gencode arch=compute_30,code=sm_30 \
  -gencode arch=compute_35,code=sm_35 \
  -gencode arch=compute_50,code=sm_50 \
  -gencode arch=compute_50,code=compute_50
&  不知道是不是有什么用处,但是据说cudnn加速需要cuda计算能力在3.0以上才可以!
3、OpenCV安装配置
  这里使用OpenCV2.4.13,将opencv也安装到与cuda一致的目录下:/usr/local/opencv***
这里需要注意opencv的版本:最好使用2.4.13,其它版本会出错误!!!
  1、准备文件,依次如下使用命令行:
      sudo cp opencv-2.4.13.zip /usr/local/
      cd /usr/local/
      sudo unzip opencv-2.4.13.zip
      cd ./opencv-2.4.13
      mkdir build
  2、配置生成Makefile
    cd build
    sudo cmake&
    可能会出现如下错误,若无直接跳过:
      可能会提示缺少相关的依赖库以及下载文件失败等错误。
      比如ippicv_linux_******.tgz包下载失败而导致Makefile生成失败,可通过手动下载,然后放置到路径opencv-2.4.13/3rdparty/ippicv/downloads/linux-808********目录内:
      sudo rm /usr/local/opencv-2.4.13/3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32ae/ippicv_linux_.tgz
      sudo cp /home/leeyang/ippicv_linux_.tgz /usr/local/opencv-2.4.13/3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32ae/
    重新执行配置命令即可。
    先考虑安装上一些相关库:
      sudo apt-get install --assume-yes libopencv-dev build-essential git unzip libgtk2.0-dev pkg-config libdc1394-22
      libdc1394-22-dev libjpeg-dev libpng12-dev libtiff5-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev
      libxine2-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev libtbb-dev libqt4-dev libfaac-dev&
      libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev x264 v4l-utils
    执行:
      sudo cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local .. & & & (这里的两个点不要忽略!!)
    最终输出,则配置和生成成功
      -- Configuring done
      -- Generating done
      -- Build files have been written to: /home/leeyang/opencv-2.4.13/build
  3、最后进行编译安装
      注意编译之前确保numpy已经安装,否则最后不会生成cv2.so
        sudo apt-get install python-numpy python3-numpy
      可能会出现错误:error:1 /usr/include/string.h:652:42: error: ‘memcpy’ was not declared in this scope
      原因是g++版本太新了,需要在CMakeLists.txt中前面几行添加
      set(CMAKE_CXX_FLAGS &${CMAKE_CXX_FLAGS} -D_FORCE_INLINES&)
      然后再重新执行2中的cmake一次即可。
    在build目录下执行:
      sudo make -j8 需要执行一段时间。。。
    安装并进行配置:
      sudo make install
      sudo /bin/bash -c 'echo &/usr/local/lib& & /etc/ld.so.conf.d/opencv.conf'
      sudo ldconfig
        如果编译安装等出错,可以尝试一下自动脚本进行安装配置:
          
          直接使用opencv-2.4.13(使用opencv3.0、3.1、2.4.10都会编译出错)
          对与cuda8.0,opencv3.0或者2.4.10都会报如下错误,使用opencv2.4.13就没 有问题。(唯一一个2016年发布的版本)
          Ubuntu/3.0/OpenCV/opencv-3.0.0/modules/cudalegacy/src/graphcuts.cpp:120:54: error: ‘NppiGraphcutState’
          has not been declared &typedef NppStatus (*init_func_t)(NppiSize oSize, NppiGraphcutState** ppState, Npp8u* pDeviceMem);
4、Python以及 Matlab with python engine
      
      这里解释一下:有了默认的python,为什么还要安装python-dev?
        linux发行版通常会把类库的头文件和相关的pkg-config分拆成一个单独的xxx-dev(el)包.
        以python为例, 以下情况你是需要python-dev的
        你需要自己安装一个源外的python类库, 而这个类库内含需要编译的调用python api的c/c++文件
        你自己写的一个程序编译需要链接libpythonXX.(a|so)
        (注:以上不含使用ctypes/ffi或者裸dlsym方式直接调用libpython.so)
        其他正常使用python或者通过安装源内的python类库的不需要python-dev.
    还是直接使用默认python+python-dev的方式来进行使用吧,再额外安装一个spyder来使用。
    这里的安装步骤是:Python依赖包、Matlab、Matlab engine for python
    这里的安装使用需要搞明白三个变量路径:PYTHON_INCLUDE、PYTHON_LIBRARIES、PYTHON_LIB,在安装好相关软件后,找到各自对应的路径即可。
      1、Python依赖包
        1、直接使用系统默认python2.7的版本
          ①、安装相应的发布版本:sudo apt-get install python2.7 python2.7-dev
          ②、安装相应的build依赖包:
            sudo apt-get install build-essential libssl-dev libevent-dev libjpeg-dev libxml2-dev libxslt-dev
          ③、安装pip:sudo apt-get install python-pip
        2、安装所有与python相关的包
          ①、依据下面的依赖包项目,逐条执行,使用pip进行安装。
          先一句安装,出错了再逐条安装:
          sudo pip install cython numpy scipy scikit-image matplotlib ipython h5py leveldb networkx nose pandas
          python-dateutil protobuf python-gflags pyyaml pillow six
        逐条:
          sudo pip install cython
          sudo pip install numpy
          sudo pip install scipy
          sudo pip install scikit-image
          sudo pip install matplotlib
          sudo pip install ipython
          sudo pip install h5py
          sudo pip install leveldb
          sudo pip install networkx
          sudo pip install nose
          sudo pip install pandas
          sudo pip install python-dateutil
          sudo pip install protobuf
          sudo pip install python-gflags
          sudo pip install pyyaml
          sudo pip install pillow
          sudo pip install six
        依赖包版本号要求列表:
          &
cython&=0.19.2
          numpy&=1.7.1
          scipy&=0.13.2
          scikit-image&=0.9.3
          matplotlib&=1.3.1
          ipython&=3.0.0
          h5py&=2.2.0
          leveldb&=0.191
          networkx&=1.8.1
          nose&=1.3.0
          pandas&=0.12.0
          python-dateutil&=1.4,&2
          protobuf&=2.5.0
          python-gflags&=2.0
          pyyaml&=3.10
          Pillow&=2.3.0
          six&=1.1.0
      2、Matlab安装,使用2014b版本,匹配python engine支持的版本python2.7,3.3
        解压缩到目录matlab2014b目录下,cd到该目录
          sudo ./install
        之后即可出现图形界面。
        选择离线使用安装码进行安装,序列码:-
        安装目录默认即可,等待安装完毕
        运行激活选择离线激活,激活文件:license.lic
        将libmwservices.so复制到 /matlab安装目录/R2014b/bin/glnxa64/下,替换已有文件
        即可完整安装,下面进行Matlab engine的安装即可。
        激活选择已破解的lic文件
        替换破解文件
          sudo rm /usr/local/MATLAB/R2014b/bin/glnxa64/libmwservices.so
          sudo cp ~/matlab2014b/crack/libmwservices.so /usr/local/MATLAB/R2014b/bin/glnxa64/
      3、Matlab engine for python
这里Matlab engine是非常重要的步骤
        MATLAB的安装路径中应该会有:&\extern\engines\python&路径
        直接在该目录下运行:
          python setup.py install
        测试用例:
        直接使用控制台的python命令执行以下代码:
          import matlab.engine
          eng = matlab.engine.start_matlab()
          future = eng.sqrt(4.0,async=True)
          ret = future.result()
          print(ret)
        无错误即为正常安装成功。
          可能会出现错误提示:
            OSError: MATLAB Engine for Python supports Python version 3.3 and 2.7, but your version of Python is 3.5
            是因为Anaconda版本太高了。
5、protoc、glog、gflags(一定先安装glog再安装gflags)、BLAS
    1、protoc
      安装curl,但是一般Ubuntu16以上是自动安装了的,跳过。
      手动下载文件/files/gtest-1.5.0.tar.bz2
      可百度后下载,复制到protobuf的目录下,找到autogen.sh文件中,注释掉curl语句
        #curl -0 http://.......
      安装 automake 工具:
        sudo apt-get install autoconf automake libtool
      再次运行:
        ./autogen.sh
      然后依次运行以下命令
        ./configure
        sudo make
        sudo make check 一般输出全部测试通过
          PASS: protobuf-test
          PASS: protobuf-lazy-descriptor-test
          PASS: protobuf-lite-test
          PASS: google/protobuf/compiler/zip_output_unittest.sh
          PASS: google/protobuf/io/gzip_stream_unittest.sh
          =================================
          Testsuite summary for Protocol Buffers 2.5.0
          =================================
          # TOTAL: 5
          # PASS: 5
          # SKIP: 0
          # XFAIL: 0
          # FAIL: 0
          # XPASS: 0
          # ERROR: 0
          =================================
      最后再执行:sudo make install
    2、再安装一些依赖库:
        sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libboost-all-dev libhdf5-serial-dev
        sudo apt-get install libboost-all-dev libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler
    3、安装配置glog
      进入glog目录下:
        ./ configure
        sudo make
        sudo make install
    4、安装配置gflags
      进入gflags目录下:
        mkdir build && cd build
        cmake ..
        ccmake ..
      之后会进入图形化的配置界面:
          
      修改完成后,按C键再按G键,生成Makefile
      再执行:
        sudo make
        sudo make install
    5、BLAS安装与配置
      caffe官网推荐三种实现:ATLAS, MKL, or OpenBLAS
      其中atlas可以直接通过命令行安装,不用MKL了,破解申请麻烦。
      直接用atlas
        sudo apt-get install libatlas-base-dev
6、Caffe安装配置
    (为确保过程不出错,请软件源和系统保持最新版本&Ubuntu16.04LTS+校园网清华大学软件源&)
    以上安装确保无错误发生,则使用make all来进行测试。
    可能会出现错误:
      hdf5配置出现问题。。。
      所有依赖库安装都非常顺利,但是在hdf5这里会有个坑,
这里的Makefile设置非常重要      &
      需要在Makefile.config中INCLUDE_DIRS后添加/usr/include/hdf5/serial/,在LIBRARY_DIRS后添加/usr/lib/x86_64-linux-gnu/hdf5/serial/
    最终Makefile.config文件对应部分修改如下,
      INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial/
      LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial/
    这里检查一遍Makefile.config所做的主要修改:
      CPU_ONLY
      USE_OPENCV
      USE_LEVELDB := 0
      USE_LMDB := 0
      USE_OPENCV
      USE_LEVELDB := 1
      USE_LMDB := 1
      CUSTOM_CXX
:= g++
      WITH_PYTHON_LAYER := 1
      #
Whatever else you find you need goes here.
      INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
/usr/include/hdf5/serial/
      LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib
/usr/lib/x86_64-linux-gnu/hdf5/serial/
    再次make all,输出显示若干CXX,无错误提示即可。
    再make test,输出显示若干CXX,LD等,无错误提示
    再make runtest,输出的所有的RUN均为OK即可确认caffe安装成功
      可能会出现错误:Check failed: status == CUDNN_STATUS_SUCCESS (6 vs. 0)
      说明GPU的加速性能不够,CUDNN只支持CUDA Capability 3.0以上的GPU加速,所以不能使用CUDNN加速,需要在Makefile.config中注释掉USE_CUDNN := 1
      一定要注意自己GPU硬件的计算能力问题!!!
    出现全部测试通过即可:
      [----------] Global test environment tear-down
      [==========] 996 tests from 141 test cases ran. (45874 ms total)
      [ PASSED ] 996 tests.
这里的pycaffe接口非常重要,一定要配置测试好!!!(先编译好caffe后再进行pycaffe接口编译)
    编译python接口:
      将caffe根目录下的python文件夹加入到bash
      打开配置文件bashrc
      # sudo gedit ~/.bashrc
      在最后面加入caffe目录下的python路径
        export TCNN_ROOT=/home/leeyang/T-CNN
        export PYTHONPATH=TCNNROOT/External/caffe/python:TCNNROOT/External/caffe/python:PYTHONPATH
        sudo ldconfig
      更新配置即可。
    执行命令:
      sudo make pycaffe
    输出:
      LD -o .build_release/lib/libcaffe.so.1.0.0-rc3
      CXX/LD -o python/caffe/_caffe.so python/caffe/_caffe.cpp
      touch python/caffe/proto/__init__.py
      PROTOC (python) src/caffe/proto/caffe.proto
    在python中使用代码测试:
      import caffe
    无错误即可
测试demo:
&  一般第一个测试都是对手写字体minist进行识别,主要有三个步骤:准备数据、修改配置、开始使用。
  1、准备数据
    一般是使用命令:
      sudo sh ./data/mnist/get_mnist.sh      (大约是9.5M左右的数据,需要联网下载)
    输出提示:
      Downloading...
      -- 23:44:11-- /exdb/mnist/train-images-idx3-ubyte.gz
      Resolving
()... 128.122.47.89
      Connecting to
()|128.122.47.89|:80... connected.
      HTTP request sent, awaiting response... 200 OK
      Length: .5M) [application/x-gzip]
      Saving to: ‘train-images-idx3-ubyte.gz’
      train-images-idx3-ubyte.gz 100%[=====================================&] 9.45M 39.5KB/s in 2m 42s&
       23:46:53 (59.9 KB/s) - ‘train-images-idx3-ubyte.gz’ saved [2422]
    生成标准数据:
      sudo sh ./examples/mnist/create_mnist.sh
    输出提示:
      Creating lmdb...
      I:04.06 db_lmdb.cpp:35] Opened lmdb examples/mnist/mnist_train_lmdb
      I:04.06 convert_mnist_data.cpp:88] A total of 60000 items.
      I:04.06 convert_mnist_data.cpp:89] Rows: 28 Cols: 28
      I:09.06 convert_mnist_data.cpp:108] Processed 60000 files.
      I:10.08 db_lmdb.cpp:35] Opened lmdb examples/mnist/mnist_test_lmdb
      I:10.08 convert_mnist_data.cpp:88] A total of 10000 items.
      I:10.08 convert_mnist_data.cpp:89] Rows: 28 Cols: 28
      I:10.08 convert_mnist_data.cpp:108] Processed 10000 files.
      Done.
    但有时可能会网络不通畅。直接下载
    解压得到两个文件夹(mnist-train-leveldb和mnist-test-leveldb),复制到
.\examples\mnist\ &目录下即可
    错误1:F:39.71 convert_mnist_data.cpp:144] This example requires
LevelDB and LMDB; compile with USE_LEVELDB and USE_LMDB.
      这个错误是因为学习中的之知其然不知其所以然导致的!!!
      caffe的Makefile文件中取消注释,但是其后的值仍然是0,和不取消是一样的了!取消注释后将值改为1,然后全部重新编译caffe
      USE_OPENCV := 1
      USE_LEVELDB := 1
      USE_LMDB := 1
    一切正常会在.\examples\mnist\ &目录下生成这两个数据文件夹。
  2、修改配置
    修改该目录下的prototxt扩展名配置文件
    修改./examples/mnist/lenet_solver.prototxt
    定位到最后一行:solver_mode: GPU,将GPU改为CPU。&直接先使用CPU进行测试
  3、运行
&    执行文件命令:
      sudo sh ./examples/mnist/train_lenet.sh
&    输出提示:
    I&
:09.95 caffe.cpp:210] Use CPU.
    I:09.95 solver.cpp:48] Initializing solver from parameters:&
    test_iter: 100
    test_interval: 500
    base_lr: 0.01
    display: 100
    max_iter: 10000
    lr_policy: &inv&
    gamma: 0.0001
    power: 0.75
    momentum: 0.9
    weight_decay: 0.0005
    snapshot: 5000
    snapshot_prefix: &examples/mnist/lenet&
    solver_mode: CPU
    net: &examples/mnist/lenet_train_test.prototxt&
    train_state {
      level: 0
      stage: &&
    **********************************
    **********************************
    I:51.95 sgd_solver.cpp:106] Iteration 9800, lr = 0.
    I:02.95 solver.cpp:228] Iteration 9900, loss = 0.
    I:02.95 solver.cpp:244] Train net output #0: loss = 0. (* 1 = 0. loss)
    I:02.95 sgd_solver.cpp:106] Iteration 9900, lr = 0.
    I:14.95 solver.cpp:454] Snapshotting to binary proto file examples/mnist/lenet_iter_10000.caffemodel
    I:14.95 sgd_solver.cpp:273] Snapshotting solver state to binary proto file examples/mnist/lenet_iter_10000.solverstate
    I:14.95 solver.cpp:317] Iteration 10000, loss = 0.
    I:14.95 solver.cpp:337] Iteration 10000, Testing net (#0)
    I:21.95 solver.cpp:404] Test net output #0: accuracy =&0.9905
    I:21.95 solver.cpp:404] Test net output #1: loss = 0.0295916 (* 1 = 0.0295916 loss)
    I:21.95 solver.cpp:322] Optimization Done.
    I:21.95 caffe.cpp:254] Optimization Done.
    渣配置训练跑了大约20分钟~模型精度在0.99以上
    最终训练完的模型存储为一个二进制的protobuf文件:
    ./examples/mnist/lenet_iter_10000.caffemodel
&    这个模型就可以用来直接使用了,具体怎么使用还有待继续学习!!!
&&相关文章推荐
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:29150次
排名:千里之外
原创:31篇
转载:16篇
评论:12条
(4)(3)(8)(2)(2)(1)(1)(1)(2)(2)(1)(1)(2)(4)(2)(1)(2)(2)(1)(2)(3)

我要回帖

更多关于 caffe prototxt 的文章

 

随机推荐