小言_互联网的博客

win10+python3.5+pycharm配置caffe环境

1667人阅读  评论(0)

准备工作

一、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安装

四、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】中
  • 使用

参考


转载:https://blog.csdn.net/qq_38273984/article/details/101425479
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场