windows下Caffe编译和基本使用

8951 Views

xqspace

0. 摘要

本文主要完成以下几点:

caffe默认支持是 vs2013/vs2015 + python2.7/python3.5,使用其他版本会比较麻烦,这里使用的是vs2015和python3.5;

完成caffe在windows上的编译(cpu版);

提供caffe的python接口;

caffe的基本使用方法(这里是推荐几篇讲的比较详细的入门博文);

调试运行caffe的解决方案;

解决上面几个过程中遇到的error:

The C compiler "xxxx/cl.exe" is not able to complile a simple test program.

找不到python35.dll

1. 工具

请先完成以下工具安装:

vs2015

Ananconda3

CMake 3.4及以上

如果上述工具有未安装的,请先自行安装,这里也提供可参考的博客:

- vs2015:https://www.cnblogs.com/xqspace/p/18339484

- Ananconda3:https://blog.csdn.net/fan18317517352/article/details/123035625

- CMake:https://blog.csdn.net/u011231598/article/details/80338941

2. caffe在windows上的编译(cpu版)

2.1 代码下载

caffe代码地址:https://github.com/BVLC/caffe/tree/master

方式一:下载压缩包(先选择windows分支,然后下载压缩包到本地解压)

方式二:使用git下载:

git clone https://github.com/BVLC/caffe.git

cd caffe

git checkout windows

2.2 配置python环境

2.2.1 打开命令提示符cmd,创建一个python版本为3.5的环境,环境名为caffe_env:conda create -n caffe_env python=3.5

2.2.2 进入这个环境:conda activate caffe_env

2.2.3 然后配置README.md中提到的依赖库:

先依次执行:

conda config --add channels conda-forge

conda config --add channels willyd

随后使用pip而不是conda来安装依赖库(conda可能会出现内存不足的报错),依次执行以下命令:

pip install cmake

pip install ninja

pip install numpy

pip install scipy

pip install protobuf==3.1.0

pip install six

pip install scikit-image

pip install pyyaml

pip install pydotplus

在一开始利用pip安装时,可能会因为pip的版本过低而报错,按照报错的指示先升级一下pip的版本即可,然后再安装依赖库。可以通过命令:conda list 来查看已安装的依赖库。

2.3 下载依赖库和配置

依赖库地址:https://github.com/willyd/caffe-builder/releases/tag/v1.1.0,

这里用的是vs2015和python3.5,所以要下载 libraries_v140_x64_py35_1.1.0.tar.bz2

将这个压缩包解压,放到C:\Users\xxxxxxxx\.caffe\dependencies文件夹下,这里是默认的地址

既然已经下载了依赖库,就要将代码里的下载代码注释掉,需要注释掉 caffe项目目录\cmake\WindowsDownloadPrebuiltDependencies.cmake中的部分代码,如下图所示:

2.4 编译

打开 caffe项目目录\scripts\build_win.cmd文件进行修改:

WITH_NINJA=0, PYTHON_VERSION=3,CPU_ONLY=1,以及设置CONDA_ROOT=你的Anaconda3的路径\envs\caffe_env

然后将cmake -G"!CMAKE_GENERATOR!"改为cmake -G"Visual Studio 14 2015 Win64",否则编译时就会出现报错:The C compiler "xxxx/cl.exe" is not able to complile a simple test program. 这里可能时因为cmake不是默认使用msvc进行编译,需要显示指定。(如果不修改的话,后面的问题一个接一个...)

切换cmd的路径到caffe项目目录:执行scripts\build_win.cmd 等待完成

编译完成后打开 caffe项目目录\build\Caffe.sln

然后点击 生成-->生成解决方案 等待编译完成会生成caffe相关库以及caffe.exe

至此caffe的编译工作完成!撒花~

3. 提供caffe的python接口

上面编译完成后,将 caffe项目目录\python\caffe 文件夹拷贝到 anaconda的caffe_env的Lib\site-packages中:

重新打开cmd进入caffe_env,输入python,然后import caffe:

如果import caffe失败的话,可以重启一下电脑。

4. caffe的基本使用方法

caffe项目目录\example文件夹下已经提供了一些经典案例,这里是推荐几篇讲的比较详细的caffe基本使用的博文:

使用caffe.exe文件直接进行训练和测试:https://www.cnblogs.com/xiaoboge/p/10688926.html (使用的是mnist的例子,对应路径在caffe项目目录\example文件夹下)

用python写一个caffe网络:https://cloud.tencent.com/developer/article/1670397 (要在caffe_env环境中)

5. 调试运行caffe的解决方案

在Caffe.sln,右击 caffe.bin -->设为启动项

右击 caffe.bin--> 属性 -->常规 -->命令参数 输入调试参数

一开始运行时可能会报错,找不到python35.dll,将caffe_env文件夹的python35.dll复制到C:\Windows\System32中可解决。

买书去哪个app 可以买书的软件合集
corel 会声会影X8安装破解注册激活教程