版本>=3.4,cmake从此处下载 https://cmake.org/download/,
下载 cmake-3.13.0-rc3-win64-x64.msi 后,点击安装,并将安装目录C:\Program Files\CMake\bin 添加到系统环境变量中,在终端输入
cmake --version
从此处下载 https://www.git-scm.com/downloads ,安装完后将路径添加到系统环境变量中,然后在终端输入
git --version
移动到需要安装caffe的目录,依次执行以下命令,将会出错,需要对 build_win.cmd 进行修改
git clone https://github.com/BVLC/caffe.git
cd caffe
git checkout windows
scripts\build_win.cmd
修改scripts\build_win.cmd文件
1)设置Anaconda的安装路径
2)设置WITH_NINJA=0,CPU_ONLY=1,PYTHON_VERSION=3,BUILD_PYTHON=1
改动的主要有以下几点:
conda install python=3.5
以上参考
删除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/build 路径下生成 Caffe.sln。
用 VS2015 打开生成的 Caffe.sln,将模式改为 Release x64,然后生成解决方案,生成成功后,显示
此时会在 caffe/build/tools/Release 路径下生成 caffe.exe、convert_imageset.exe等工具,如
经过上述步骤,当在 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接口配置成功
实际情况中,可能还会有其他依赖包缺失,根据情况安装即可
以上参考 : https://blog.csdn.net/weixin_37881528/article/details/79038165
首先从 http://yann.lecun.com/exdb/mnist/ 下载四个mnist数据集文件,在caffe/examples/mnist路径下建立mycaffe-mnist-test文件夹,并将下载的四个文件放到该目录,分别解压得到以下文件
利用编译生成的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文件。
如图所示
在examples/mnist目录下打开lenet_solver.prototxt文件进行配置,将最后一行的solver_mode改为CPU
在examples/mnist目录下打开文件 lenet_train_test.prototxt 进行配置,指定其中训练集和测试集的lmdb文件路径等参数
返回到caffe目录,建立一个mnist-run.bat文件并添加以下内容
Build\tools\Release\caffe.exe train --solver=examples\mnist\lenet_solver.prototxt
pause
添加后保存,并双击运行,即可开始进入训练
训练完成后,将在caffe/examples/mnist 目录下生成训练好的模型文件
以上参考
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
通过上述步骤编译完成了caffe后,就可以对其c++图像分类的API接口进行测试了。
编译成功后,将在 caffe/build/examples 中生成一个cpp_classification ,这是一个C++的图像分类接口,进入该路径 caffe/build/examples/cpp_classification/Release 目录中,将有个 classification.exe 文件,这就是caffe编译好的可执行文件。
在该目录下建立一个models文件夹,并在该文件夹中放入以下文件
其中:
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