当前位置:   article > 正文

原版Caffe在Windows10 VS2015 python3.7 CPU版本 详细安装笔记 BVLC caffe_win10 python37 caffe-cpu

win10 python37 caffe-cpu

引言:

小试安装caffe环境,一路跌跌撞撞若干的错误,花了1天多才安装成功跑了测试集,参考了N多个博客,现在记录一下,希望能对别人有些帮助。没有完全相同的环境,遇到的情况各不相同,我要尽可能的记录详细,需要一些动手能力,文章以笔者的时间线描述。

笔者背景:

无C++开发背景,自学了机器学习基础,看了两天python用法,想搞一下框架初试水,能力一般,水平有限。

笔者目的:

安装成功原版的Caffe,Caffe有原版和windows版本,笔者对原版有兴趣,坚持原版。git地址

https://github.com/BVLC/caffe/tree/windows

编译CPU版本,其实笔者CPU,GPU版本的编译过程都看过了,暂时只想先玩玩CPU版本,提升兴趣

关于环境:

总览:

操作系统版本:win10

python版本    :3.7.2 

Visual Studio版本:vs2015

Miniconda3  版本:Miniconda3-latest-Windows-x86_64.exe

CMake    版本:3.15.5   

操作系统版本:win10 1903版本

采坑0:笔者操作系统是自己找的,使用没有出现问题,但是安装Anaconda3总是失败,虽然我看到安装成功,但是我知道是失败的,每次失败表现还不一样,打开之后,要么缺很多文件,要么编译出现奇怪错误,没有什么好招,最后忍不了,选择了曲线救国,安装Miniconda3使用,如果后面还需要用Anaconda3,我可以使用Miniconda3安装Anaconda3啊,暂时就这样。

检查anaconda/miniconda有没有安装好,环境变量配置好,打开命令行,执行命令

conda info

看反应自主决定。 

记录下我安装失败的版本

Anaconda3-5.3.1-Windows-x86_64.exe

Anaconda3-2018.12-Windows-x86_64.exe

Anaconda3-2019.10-Windows-x86_64.exe

Anaconda3安装包找的清华源:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/

python版本    :3.7.2   

注:笔者有些取巧,后面指不定会出什么问题,官方说只支持 python2.7 和python 3.5版本,求稳还是乖乖使用3.5吧,笔者就保留这点任性了。

Visual Studio版本:vs2015  安装包3.73G

下载地址非官方下载地址,下载之家的,免费版那种 http://www.downza.cn/soft/176563.html  iso镜像,很好用,下载速度很快。

非常大,虽然我安装在D盘,我的C盘还是被占用了接近10G,预留好20G的空间,免得进行不下去。

踩坑1:vs2015我是使用默认组件安装,后面编译时候会出错,需要安装windows 10 sdk,我后面又重复安装了一次,多费了不少时间。

可能只需要1个sdk,笔者不想再重复装一次了,就这样了。 

Miniconda3  版本:Miniconda3-latest-Windows-x86_64.exe

Miniconda3-latest-Windows-x86_64.exe51.5 MiB2019-10-26 03:36

Miniconda3安装包找的清华源:https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/

安装时候勾选添加到环境变量,会自动向环境变量中加入好几个

踩坑2:安装路径问题,从部分博客中看到了安装路径不能带空格,这里亲自试了一下,带括号也是不行的!!废了我好久的时间。它报错不会跟你说这个的,编译时八竿子打不着的错误,但是真的不可以带括号,CMake也是,安装路径要小心,用稳妥的起名方式

CMake    版本:3.15.5   没太注意,直接用最新版。

百度一下,找的最新版,找到了腾讯的软件中心,秒级下完,记得加入到环境变量 D:\ProgramFiles\CMake\bin

https://pc.qq.com/detail/11/detail_23371.html

故事开始:

git上下载windows版本caffe-windows

1.1编译前奏

按照博客,准备用CMake编译caffe-windows之前,先修改个文件,caffe-windows\scripts\build_win_cmd

我们要用vs2015,所以 MSVC_VERSION=14

我们要cpu版本,所以CPU_ONLY=1

我们用CMake,所以WITH_NINJA=0

我们没有安装CUDA,所以有关cuda使用auto就可以

我们要用python3,所以PYTHON_VERSION=3

我暂时不打算用MATLAB,所以BUILD_MATLAB=0

我们要使用Miniconda,所以要改路径

我们要DEBUG运行,所以要标记

从头到尾通读一下,把该改的地方改一改

CMake 设置一下子,开始configure

信心满满,然而现实很骨感

错误是肯定的,关键有日志,根据日志改动就好

这就是日志,艾玛我要哭,这是什么鬼,only one么。

踩坑3:CMake给的信息真的少,去git项目上找文档去

果断去git上面找找,有没有什么readme啥玩意儿的,还真找到了

忽略git操作,早就下好了,原来刚才调整的东西,就是直接执行就ok了啊,原谅我的无知

赶紧调出cmd,开始执行,用管理员打开哦,亲测powershell也是可以的

执行命令,准备接待错误。终于反馈了出来

 踩坑4:这个是我遇到次数最多的问题,CMake configure的时候会有缓存,因为动了动路径啊,版本啊什么的,很容易出来这个错误。解除也很简单,手动删除文件bulid里面的所有文件即可,每次都是干干净净的configure,肯定不会出错

ok,开开心心继续configure

ok,遇到了sdk没有安装的问题,前面有介绍,详见: 踩坑1

让我们继续configure,程序会进行下载caffe安装windows依赖包,就像这样子

 知识点:

1.这个下载比较慢,我们可以直接去git下载

https://github.com/willyd/caffe-builder/releases/    使用Version 1.1.0 版本

2.进行到了这里,我们的C:/Users/Administratior/.caffe文件夹会创建,(我想自己创建这个文件夹可是创建不成功)我们自己下载好包后,就按照上图的路径去放,看到有个博客说要解压,我没有解压也直接跑过。文件放好后需要小改动文件,向下看。

OK,我们摆弄好继续干,我们说到了使用python3.7,然后我就按照一位博主写的搞了起来,表达感谢

https://blog.csdn.net/dear_zhoubi/article/details/96438730

将文件 工程路径\caffe-windows\cmake 下的文件WindowsDownloadPrebuiltDependencies.cmake 改动一下,我们从名字上可以看出,这个文件是有关下载依赖的。

后面我们遇到的情况可能就不相同了

譬如说:

踩坑5:把所有的3.5都改成了3.7,就会出现 Could not find url for MSVC version = 1900 and Python version = 3.7. 

踩坑6:我把文件放上去后,居然出现了sha1不匹配,然后把压缩包给我删了。。。

提示 Removing file because sha1 does not match.

解决:我既然知道我放的包是肯定对的,那就不客气了,将压缩包再次放到指定文件夹下(小心这里可能会忘了再次放压缩包,我观察到sha1比对失败,它可是会删除文件的),然后打开工程目录\caffe-windows\cmakeWindowsDownloadPrebuiltDependencies.cmake

将sha1比对注释掉,这个sha1比对就是个文件完整性/防篡改的比对,没啥用

踩坑7:莫名其妙还是去尝试下载压缩包文件或者  Could not find url for MSVC version = 1900 and Python version = 3.7.错误

解决:我直接不去下载文件不就得了,还是那个文件,反正只要能弄懂点意思,上手就是一顿改

第一回合结束,可能笔者专走羊肠小路,本来点一下的事儿非要这么折腾,难得折腾。

1.2完成configure

 还是执行configure的命令,工程目录\caffe-windows\scripts   执行build_win.cmd

踩坑8:没有安装numpy,直接掉坑

如果遇到以下的错误信息,80%都是没有安装numpy,没有安装的意思是没有使用编译所用的conda进行安装,(原本我觉得我安装了,后来才发现是其他工程环境使用pip安装的)

1.ImportError: Importing the multiarray numpy extension module failed. Most  DLL load failed:找不到指定模块.

2.ModuleNotFoundError: No module named 'numpy' Could NOT find Numpy(missing:NUMPY......

3.CMake Error at CMakeLists.txt .The dependency target "pycaffe" of target "pytest" does not exist.

解决也容易,将numpy安装完成就好

conda install numpy

 当然还需要安装boost,出现的错误同上

conda install boost

如此,不出意外的话,离成功就要不远了, 还是执行configure的命令,工程目录\caffe-windows\scripts   执行build_win.cmd

--------------------------------------------------------------

当然,到这里也可以使用CMake的GUI图形界面,笔者也试了一次

再次执行configure按钮的话,应该会报一个错

注意看红框里面的配置

最主要  BLAS选项不要用Atlas,使用OPEN

其他选项再次检查一圈,比如CPU_ONLY,python_version=3,清理一次缓存

 

 2.1 configure完成后

工程目录\caffe-windows\scripts\build文件夹中会产生好多文件,注意,有些没有configure成功的时候,也会出现日志,configure done generate done,我们简单的判断下,build文件夹很多才算configure成功

使用vs2015打开sln文件,可以看到很多项目,勾选不同,或多或少,右键生成解决方案,耐心等待

最后会出现页面,完成

我以为如此就完成,但是众多的warning提醒了我,还是需要谨慎。

 warning : cannot resolve item 'python35.dll'

我们心里知道,文档说python3要用python3.5,我只安装了python3.7,看起来没有错误,一切都成功了,那我们就来跑一个mnist数据集吧

3.1 参考博客跑mnist数据集验证编译安装是否成功

多谢此博主,完全照抄操作

 https://blog.csdn.net/qq_38325503/article/details/100636094

战战兢兢以为会顺顺利利,果然,执行的时候出现弹框

 

踩坑9:python3真的只找3.5版本

解决: 其实从vs2015生成解决方案的时候我就在想,他是想找这个叫python35.dll的文件而已,只要文件名相同,我可以选择张冠李戴的,说干就干,我将我安装的python37.dll拷贝一份,重命名一次叫python35.dll,然后跑一次,果然成功了。

拷贝粘贴的应该是在上面步骤中,build_win.cmd配置的路径中的

后面的深入使用中,希望这里没有坑,故事结束。

感谢此博主文章给思路:https://www.cnblogs.com/jerrybaby/p/8385227.html

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/193873
推荐阅读
相关标签
  

闽ICP备14008679号