caffe的官网github版安装教程

注意,caffe和caffe2是不同的,我们当前安装的是caffe

可查看

https://www.jianshu.com/p/9935a1efb27c

二者的安装方法是不同的

 

然后安装anaconda3,下载地址

https://www.anaconda.com/distribution/#download-section

anaconda3的安装过程中,会让你勾选环境变量和VS的一些支持,你可以都不勾选,以维持系统的整洁。

 

anaconda3配置源

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/

conda config --set show_channel_urls yes

conda info

 

如果要换回默认源的话,可用该命令

conda config --remove-key channels

 

Caffe的windows安装会有两种途径

一种是windows的github

https://github.com/Microsoft/caffe

不过这个github四年前已经停止更新了,并只支持python2.7,而且python2在2020年之后已停止维护,安装可查看

https://blog.csdn.net/xingchenbingbuyu/article/details/72765612

有配套的依赖库可以下载,不用等打开.sln文件之后再下载,太慢了,依赖库默认安装到caffe-windows-ms\windows\thirdparty目录下

 

另一个是caffe的官方github

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

这个版本的优点是,它有cmake,其实你可以用build_win_cmd,不过不方便,就不推荐了

安装方法可查看

https://blog.csdn.net/nichengwuxiao/article/details/79137640

https://blog.csdn.net/u011380951/article/details/104609824

注意,这个的依赖库目录会默认安装到C:\Users\你的用户名\.caffe\dependencies目录下,这个就要注意了

 

原本caffe 的官方github应该是没有windows版本,所以才有微软windows的github版推出,而后来caffe更新了windows版本,那么windows的github自然就不更新了。

 

注意,编译之前先查清楚caffe支持哪个版本的编译器,当前的caffe支持VS2015,所以我也用的VS2015

 

本文主要介绍Caffe官网的github版安装,如果要使用Windowsgithub版本,请看我的上一篇文章

 

然后添加Path环境变量,而且最好放到最前,以免cmake识别了别的python

D:\anaconda3

D:\anaconda3\Scripts

D:\anaconda3\Library\bin

为了避免以后的坑,这三个环境变量是必要的。为什么说这三个环境变量是必要的呢?你可以在安装anaconda3的时候勾选一下添加环境变量,它会自动帮你添加Path环境变量,其中就包含这三个目录。

 

本教程不打算用caffe-windows\scripts\build_win.cmd生成.sln文件,但是看到别的教程有用到,因此这里提醒一下:

 

要注意的是caffe-windows\scripts\build_win.cmd其实是有两处设置

WITH_NINJA和CPU_ONLY的地方的

第一处是在

if DEFINED APPVEYOR的代码块中

另一处是在else的代码块中

 

实际生效的其实是在第二处的else的代码块中,所以我一开始用的时候老是报用的ninja而不是VS2015,真的坑死了这里。当发现设置错了的话,要把前面运行build_win.cmd生成的build文件夹删除才可以重新运行build_win.cmd,否则就是坑中坑了。

 

并且实质上调用这个build_win.cmd之前实际上要把cmake的bin目录添加到path 环境变量中的,那么实际上还是用的cmake,这就没意思了。

 

下面直接用CMake弄,不使用build_win.cmd

 

由于我下的anaconda3用的最新的python3.7,但是caffe里仅支持python3.5,我又不想再装个python3.5,那怎么办呢?

 

答案就是修改caffe-windows\cmake\WindowsDownloadPrebuiltDependencies.cmake

先把35改成37(如果用的是python3.5的话这里不用改了

 

接着把文件下载和校验的代码注释掉,Cmake下载太慢了,还让它下载没意思(这里即使用python3.5也要改

 

接着把网上下载下来的依赖库包解压复制到C盘。依赖库包在哪里?我上面贴的链接有

C:\Users\你的用户名\.caffe\dependencies目录下

注意文件夹的名字,是非常讲究的,错一个字母都不行(依赖库包的文件夹名字可能不对,直接改名就行了),这里用python3.5的话,用回libraries_v140_x64_py35_1.1.0

 

然后运行Cmake,自定义build的目录,我这里命名为D:/caffe-windows/arelease

点击Configure,会出现一些错误

此时选择BLAS的值为Open

如果不想用CUDA的话,可以勾选CPU_ONLY的选项,但是我想用,因此这里就保持默认,并且设置CUDA_ARCH_NAME的值为Pascal(我的电脑显卡为GeForce 1050Ti,因此是Pascal架构)。

 

注意,如果是用的CUDA10.0的话,则要把cmake升级到3.14.3以上,并且boost要做些修改,可以参考

https://blog.csdn.net/qq_37118111/article/details/93385899

 

然后再次点击Configure

 

然后点击Generate再点击Open Project打开.sln文件

然后选择Release x64模式下编译

 

编译好后,把

caffe-windows\python\caffe

复制到

D:\Anaconda3\Lib\site-packages

 

可以试着编译一下pycaffe和test.testbin

然后有警告提示你无法解析python35.dll,到这里我就纳闷了,因为配置文件中完全就没有提到必须加载python35.dll为什么还会报无法解析python35.dll?而且运行test.testbin也提示找不到python35.dll

 

个人的猜测是,可能是caffe的依赖库包的dll动态库依赖于python35.dll,从而就会提示你无法找到python35.dll,而且从caffe的源代码中也不会找到python35.dll。

 

解决方法

1.anaconda3改回使用python3.5

2. anaconda3目录中的python37.dll复制一个副本,重命名为python35.dll,这是个权宜之计

改了之后,输入命令:

Python

import caffe

事实证明,在我的笔记本电脑能运行,在台式电脑就崩溃,我也不知道为什么。至于为什么有人用Python3.6也行呢?可能是因为他用的Linux系统,所以依赖库会有自动的仓库下载,不用担心兼容的问题。

 

所以谨慎的话,最好还是用回python3.5。如果发生崩溃,想用回python3.5那应该怎么做呢?

 

Conda install python=3.5

或者

conda create -n python35 python=3.5

或者

卸载了直接安装

https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2.4.1-Windows-x86_64.exe

 

推荐第三种

注意,重装的话,必须重新设置环境变量,因为卸载的话会自动把环境变量删了。

 

然后运行命令

conda install protobuf

 

python

import caffe

即可完成

 

最后推荐一下一些caffe的python教程博客

https://blog.csdn.net/qq_33144323/article/details/81708916

还用到

https://nbviewer.jupyter.org/

来读取github网站,挺有趣的

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值