下载连接以及说明:
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以后,注意在安装的时候将目录添加到环境变量中,而后命令行中执行:html
conda create -n py35 python=3.5 anaconda,执行以后,会下载并安装python3.5下面的库,成功以后;python
命令行中执行 activate py35,便可激活python3.5,可是当退出以后仍然是默认的3.6,这个时候命令行执行:git
conda info --envs,能够看到有2个python环境:一个是root,一个是py35,而且能够看到py35这个包的安装路径。github
而后在windows的环境变量中,把py35这个环境的路径和这个路径下的scripts路径添加到path路径中,windows
并在系统变量的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)ui
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):google
solve:提示atlas错误,把BLAS 选项改成Open,意思是用OpenBlasspa
总算cmake成功了,接着就是编译了。
Mnist数据转化成lemdb格式
能够参考http://blog.csdn.net/qq_14845119/article/details/52415090
mnist测试:
下面经过一个一个最简单的网络结构lenet来对刚才安装的caffe进行测试。
(1)去官网http://yann.lecun.com/exdb/mnist/下载mnist数据集。下载后解压到E:\caffe\data\mnist,以下图所示。
(2)在caffe根目录下,新建一个create_mnist.bat,里面写入以下的脚本:
.\Build\x64\Release\convert_mnist_data.exe .\data\mnist\mnist_train_lmdb\train-images.idx3-ubyte .\data\mnist\mnist_train_lmdb\train-labels.idx1-ubyte .\examples\mnist\mnist_train_lmdb
echo.
.\Build\x64\Release\convert_mnist_data.exe .\data\mnist\mnist_test_lmdb\t10k-images.idx3-ubyte .\data\mnist\mnist_test_lmdb\t10k-labels.idx1-ubyte .\examples\mnist\mnist_test_lmdb
pause
而后双击该脚本运行,便可在E:\caffe\examples\mnist下面生成相应的lmdb数据文件。
(3)修改E:\caffe\examples\mnist\lenet_solver.prototxt,将最后一行改成solver_mode:CPU,
修改E:\caffe\examples\mnist\lenet_train_test.prototxt,以下所示,左面为原始的,右面为修改后的。
(4)在caffe根目录下,新建train_mnist.bat,而后输入以下的脚本,
.\Build\x64\Release\caffe.exetrain --solver=.\examples\mnist\lenet_solver.prototxt
pause
而后双击运行,就会开始训练,训练完毕后会获得相应的准确率和损失率。
须要注意的是:
1.将他们都下载下来,在./data/mnist中创建两个文件夹分别装好
2. 写脚本语言是应核对好路径是否正确,要用本身的路径,不能照抄做者的。
3. 若是只用CPU,网络训练时间在一小时左右(多是我笔记本配置低)
[libprotobuf ERROR C:\Users\guillaume\work\caffe-builder\build_v140_x64\packages\protobuf\protobuf_download-prefix\src\p
rotobuf_download\src\google\protobuf\text_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文件,训练数据集。
第一个测试程序已经完成了,准确度还挺高,下一步该研究网络结构了。