win10+python3.5+pycharm配置caffe环境
准备工作
- 查看配置要求
参考:BVLC/caffe
一、CMake
CMake官网,注意,要求CMake版本>=3.4,我直接下的是图中这一版。
下载之后解压,将bin文件夹路径添加到环境变量path中【win10设置环境变量】
二、VS2015安装
我的电脑中安装了两个版本的Python【2.7和3.5】,所以,根据配置要求,我需要安装vs2015。
- 版本选择【官网:Visual Studio】
- 安装教程【VS2015社区版安装教程】
注:由于在之后进行caffe编译时,需要使用Windows 10 SDK【之前没安装好编译一直出错,折腾了好久】,所以在【选择功能】这一步将Windows 10 SDK相关的功能也勾选上了。
三、git安装
- git官网:https://git-scm.com/downloads
- Windows10下安装Git
四、Ninja
- 下载
新建一个文件夹,用于存放Ninja,进入该文件夹,在空白处点击右键,选择【git bash here】,在控制台输入如下下载命令,下载Ninja。
git clone git://github.com/ninja-build/ninja.git && cd ninja
- 编译
由于我下载的是简体中文版,所以运行的是【VS2015 x64 本机工具命令提示符】(以管理员身份运行)
进入Ninja所在文件夹目录,运行如下命令(由于我安装了两个版本的Python,并对其进行了重命名,所以使用的命令是python35):
python ./configure.py --bootstrap
- 将Ninja路径添加至环境变量中
编译后会生成如下文件:
五、Caffe
(一)编译过程
1、下载caffe
进入git bash【同ninja下载方式】,输入下列命令:
git clone https://github.com/BVLC/caffe.git
- 切换分支
由于我使用的是Win10系统,所以需要切换到windows分支上,命令如下【先进入caffe包内,再切换分支】:
cd caffe
git checkout windows
2、编辑build_win.cmd文件
文件:caffe\scripts\build_win.cmd
3、编译
scripts\build_win.cmd
4、调试
(1)报错
找不到合适的python解释器
Could NOT find PythonInterp (missing: PYTHON_EXECUTABLE) (Required is at least version “2.7”)
- 将PYTHON_VERSION修改为3,编译过程出错,提示找不到合适的python解释器
【注】我将python2.7文件夹移动了,所以在编译过程中找不到python2.7的编译器
错误如下:
(2)原因分析
查看相应文件,定位错误
本次出错涉及两个相关文件:
- cmake/WindowsDownloadPrebuiltDependencies.cmake(出错点:第41行)
- CMakeLists.txt(出错点:第77行)
我们可以看到在cmake/WindowsDownloadPrebuiltDependencies.cmake的message语句本该输出相应的python解释器版本,但在输出的结果中却未能成功显示,说明未能成功给PYTHON_VERSION_MAJOR和PYTHON_VERSION_MINOR这两个变量赋值
而在cmake/WindowsDownloadPrebuiltDependencies.cmake负责赋值的语句是:
这里涉及一个变量python_version,这个变量是从CMakeLists.txt中传递过来的,我们对上述代码做如下修改,重新编译caffe,查看一下该变量的值:
输出结果:
可以看到变量python_version的值为2,所以需要找到相应的python2.7解释器,但由于我将该文件夹移动了,代码根据环境变量path中的相应路径找不到python2.7的可执行文件,故报错。
由于该变量是从文件CMakeLists.txt中传递过来的,我们在该文件中查找该变量,找到了两处,如下所示:
分析
由上图可知,出错原因在于【CMakeLists.txt】中的【set(python_version “2” CACHE STRING “Specify which Python version to use”)】将python_version设置为了2,所以我们在【build_win.cmd】中设置的PYTHON_VERSION=3被修改为了2,因此代码执行时,会一直在计算机中查找python2.7解释器。
(3)修改
将【CMakeLists.txt】中的【set(python_version “2” CACHE STRING “Specify which Python version to use”)】的python_version修改为3,重新编译caffe,成功运行:
【注】每次重新编译caffe之前,需要将build文件夹删除,重新加载scripts中的build_win.cmd,否则会一直提示同一个错误。
5、结果
- 顺利完成caffe编译过程
- 编译好的caffe python接口有以下内容
六、使用
- 拷贝
将编译好的caffe包拷贝至python3.5安装路径的site-packages中,即将【caffe->python】文件夹下的【caffe】文件夹拷贝至【python3->Lib->site-packages】中 - 使用
参考
- BVLC/caffe
- CMake官网
- win10设置环境变量
- Visual Studio
- git官网
- Windows10下安装Git
- 配置(二)—— win10 x64环境下配置caffe(包含python3.5接口)
转载:https://blog.csdn.net/qq_38273984/article/details/101425479