您的位置:首页 > Web前端

Ubuntu16.04+Caffe(CPU Only)

2017-02-16 21:19 423 查看
今天在Ubuntu上把Caffe配置好了,只不过只能按照CPU only的模式编译,因为自己的显卡是GT635M(computing capability<3),不能支持CuDNN,所以我就没考虑用GPU了。。(我觉得应该也可以试试,大不了不用CuDNN。。)

闲话少说,基本上按照Caffe官网教程去装也行。

我综合了许多博客和一些论坛资料,解决了一些坑后才装好,具体来说有:

1.按照一个知乎专栏把dependencies装好。

2.按照一个CSDN博客将Makefile.config文件中的CPU_ONLY := 1取消注释。此外,我还自作主张的把Makefile.config中关于opencv3的注释也去掉了,感觉应该没问题吧。



然后在make all的过程中会遇到许多坑,基本可以在这个博客中找到应对方法。不仅仅是修改Makefile.config,还有一个要修改Makefile的地方http://blog.csdn.net/u014696921/article/details/52628075。以及,一个为Ubuntu16.04专属的坑,见这里

接着,又在这里卡到 CXX/LD -o .build_release/tools/convert_imageset.bin



这篇文章中找到了原因,是因为gcc和g++版本问题(下图),想起了以前装CUDA8.0时曾经更改过默认gcc和g++版本



发现默认的gcc和g++果然是4.9版本的,但是我也装了5.4的,所以找了一个文章,关于如何更改默认gcc和g++的优先级的方法,还是挺简单的,和以前装CUDA用的方法一样。

最后make test, make runtest完了后,跑一个mnist试试,需要注意的是,命令要在caffe根目录操作,否则可能会提示找不到文件或目录的错误(比如,进入create_mnist.sh的目录执行./create_mnist.sh就会报错),见下图



成功!

BUT! 还没完!

当使用Python import caffe时,会提示找不到caffe module,因为环境变量还没有设置好,可以按照前文提到的那个知乎专栏末尾那样设置环境变量,或者按照这篇博客也行

解决环境变量后,import caffe时还是会出现一个问题,原因是因为在make的时候,没有make pycaffe,具体参见这个StackOverflow的回答。 MD,又要make clean,重新编译了。

结果还是提示import skimage.io ImportError: No module named skimage.io ,原因是没有装scikit-image,详见这个博客。 在安装的过程中很奇怪,我用sudo pip install scikit-image时下载依赖包到一半时总是突然断网报错,按照错误提示非得使用sudo -H pip install scikit-image才成功。找到一句解释:

-H 将环境变数中的 HOME (家目录)指定为要变更身份的使用者家目录(如不加 -u 参数就是系统管理者 root )

后面反正缺啥补啥,最后就可以import caffe成功了。

安装caffe的目的是为了跑dilated covolution的开源代码,后来也跑成功了(要注意python predict.py…时要使用默认的CPU,其实就是predict.py中使用了argparse这个模块,我的博客以前提到过,所以还是要积累呀)。虽然用CPU很慢,而且内存爆满,但是最后还是输出了semantic segmentation的图片 ^_^
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ubuntu cpu caffe