【Caffe-CPU】Caffe+Python+CPU+Win10+VS2015+Mnist 配置

1、安装VS2015

2、安装cmake

版本>=3.4,cmake从此处下载 https://cmake.org/download/,
下载 cmake-3.13.0-rc3-win64-x64.msi 后,点击安装,并将安装目录C:\Program Files\CMake\bin 添加到系统环境变量中,在终端输入

cmake --version 

可显示cmake版本
在这里插入图片描述

3、安装git

从此处下载 https://www.git-scm.com/downloads ,安装完后将路径添加到系统环境变量中,然后在终端输入

git --version

可显示git版本
在这里插入图片描述

4、 下载caffe

移动到需要安装caffe的目录,依次执行以下命令,将会出错,需要对 build_win.cmd 进行修改

git clone https://github.com/BVLC/caffe.git
cd caffe
git checkout windows
scripts\build_win.cmd

5、 设置build_win.cmd

修改scripts\build_win.cmd文件

1)设置Anaconda的安装路径
【Caffe-CPU】Caffe+Python+CPU+Win10+VS2015+Mnist 配置_第1张图片
2)设置WITH_NINJA=0,CPU_ONLY=1,PYTHON_VERSION=3,BUILD_PYTHON=1
【Caffe-CPU】Caffe+Python+CPU+Win10+VS2015+Mnist 配置_第2张图片
改动的主要有以下几点:

  • 根据自己安装的VS版本,修改对应的VS版本号,如VS2015对应VERSION=14
  • 将NINJA设为0,这里不需要用到它
  • 将CPU_ONLY设为1,因为没有用到GPU
  • 将BUILD_PYTHON设为1,只支持python 2.7和3.5 版本,anaconda默认安装的是python3.7版本,因此需要降级,方法为在命令终端输入
conda install python=3.5

以上参考

6、编译caffe

删除build文件夹,重新执行以下命令

scripts\build_win.cmd

发现还是报错,一个名为 libraries_v140_x64_py35_1.1.0.tar.bz2 的依赖包无法下载成功。可以从我的百度网盘下载 链接 提取码:sx14, 将其放在以下目录 C:\Users\wt\.caffe\dependencies\download
在这里插入图片描述

修改完成后继续执行 build_win.cmd ,将开始编译
【Caffe-CPU】Caffe+Python+CPU+Win10+VS2015+Mnist 配置_第3张图片
编译会进行几分钟,成功后会输出
在这里插入图片描述
此时会在 caffe/build 路径下生成 Caffe.sln

7、生成caffe.exe

用 VS2015 打开生成的 Caffe.sln,将模式改为 Release x64,然后生成解决方案,生成成功后,显示
【Caffe-CPU】Caffe+Python+CPU+Win10+VS2015+Mnist 配置_第4张图片
此时会在 caffe/build/tools/Release 路径下生成 caffe.exe、convert_imageset.exe等工具,如
【Caffe-CPU】Caffe+Python+CPU+Win10+VS2015+Mnist 配置_第5张图片

8、配置python接口

经过上述步骤,当在 python 中 import caffe 时,会提示 importError: No moudle named ‘caffe’,说明python接口还需要配置。
首先,将当前工程中的 caffe/python/caffe 文件夹复制到
C:\ProgramData\Anaconda3\Lib\site-packages 目录,再次import caffe,还是报错,
在这里插入图片描述
于是安装 scikit-image包

conda install --yes scikit-image

再次import caffe,还是报错 importError: No moudle named ‘google’,说明缺失google包,在site-packages中查看确定没有google包,于是要安装该包,方法如下,在终端中移动到python安装目录,然后用pip安装

cd C:\ProgramDate\Anaconda3
pip install protobuf

安装完成后,再次import caffe就不再报错,表明python接口配置成功
在这里插入图片描述
实际情况中,可能还会有其他依赖包缺失,根据情况安装即可
【Caffe-CPU】Caffe+Python+CPU+Win10+VS2015+Mnist 配置_第6张图片
以上参考 : https://blog.csdn.net/weixin_37881528/article/details/79038165

9、下载mnist数据集

首先从 http://yann.lecun.com/exdb/mnist/ 下载四个mnist数据集文件,在caffe/examples/mnist路径下建立mycaffe-mnist-test文件夹,并将下载的四个文件放到该目录,分别解压得到以下文件
【Caffe-CPU】Caffe+Python+CPU+Win10+VS2015+Mnist 配置_第7张图片

10、转换LMDB文件

利用编译生成的convert_imageset.exe工具将MNIST数据集生成lmdb文件,在 mycaffe-mnist-test文件夹下创建 convert-mnist-data-train.bat 文件,并添加以下内容

..\..\..\Build\examples\mnist\Release\convert_mnist_data.exe --backend=lmdb train-images.idx3-ubyte train-labels.idx1-ubyte mnist_train_lmdb  
pause

注意这里 convert_mnist_data.exe 的路径可能有所不同,通过搜索,它在哪里就填哪个路径
添加完成后,保存,然后双击运行,就会生成训练集的lmdb文件。
同理,创建 convert-mnist-data-test.bat 文件,并添加以下内容

..\..\..\Build\examples\mnist\Release\convert_mnist_data.exe --backend=lmdb t10k-images.idx3-ubyte t10k-labels.idx1-ubyte mnist_test_lmdb  
pause

添加完成后,保存,然后双击运行,就会生成测试集的lmdb文件。
如图所示
【Caffe-CPU】Caffe+Python+CPU+Win10+VS2015+Mnist 配置_第8张图片

11、配置lenet_solver.prototxt文件

在examples/mnist目录下打开lenet_solver.prototxt文件进行配置,将最后一行的solver_mode改为CPU
【Caffe-CPU】Caffe+Python+CPU+Win10+VS2015+Mnist 配置_第9张图片

12、配置lenet_train_test.prototxt文件

在examples/mnist目录下打开文件 lenet_train_test.prototxt 进行配置,指定其中训练集和测试集的lmdb文件路径等参数
【Caffe-CPU】Caffe+Python+CPU+Win10+VS2015+Mnist 配置_第10张图片

13、建立训练脚本

返回到caffe目录,建立一个mnist-run.bat文件并添加以下内容

Build\tools\Release\caffe.exe train --solver=examples\mnist\lenet_solver.prototxt
pause

添加后保存,并双击运行,即可开始进入训练
【Caffe-CPU】Caffe+Python+CPU+Win10+VS2015+Mnist 配置_第11张图片
训练完成后,将在caffe/examples/mnist 目录下生成训练好的模型文件
【Caffe-CPU】Caffe+Python+CPU+Win10+VS2015+Mnist 配置_第12张图片
以上参考
https://blog.csdn.net/qxconverse/article/details/76376718
https://blog.csdn.net/kele_imon/article/details/78809784
https://blog.csdn.net/kaychangeek/article/details/79885494

14、caffenet的C++图像分类测试

通过上述步骤编译完成了caffe后,就可以对其c++图像分类的API接口进行测试了。
编译成功后,将在 caffe/build/examples 中生成一个cpp_classification ,这是一个C++的图像分类接口,进入该路径 caffe/build/examples/cpp_classification/Release 目录中,将有个 classification.exe 文件,这就是caffe编译好的可执行文件。
【Caffe-CPU】Caffe+Python+CPU+Win10+VS2015+Mnist 配置_第13张图片
在该目录下建立一个models文件夹,并在该文件夹中放入以下文件
【Caffe-CPU】Caffe+Python+CPU+Win10+VS2015+Mnist 配置_第14张图片
其中:
squeezenet_v1.1.caffemodel :squeezenet在imagenet数据集上训练好的模型文件
deploy.prototxt : squeezenet的网络结构文件
imagenet_mean.binaryproto :imagenet数据集的均值文件
synset_words.txt :imagenet数据集的类别文件
jpg : 测试图片
定位到Release路径,执行以下命令

classification.exe models/deploy.prototxt models/squeezenet_v1.1.caffemodel models/imagenet_mean.binaryproto  models/synset_words.txt models/cat.gray.jpg

将输出测试结果
在这里插入图片描述

你可能感兴趣的