作者:小岳不在家 | 来源:互联网 | 2023-09-04 16:06
今天在Ubuntu上把Caffe配置好了&#xff0c;只不过只能按照CPU only的模式编译&#xff0c;因为自己的显卡是GT635M(computing capability<3)&#xff0c;不能支持CuDNN&#xff0c;所以我就没考虑用GPU了。。&#xff08;我觉得应该也可以试试&#xff0c;大不了不用CuDNN。。&#xff09;
闲话少说&#xff0c;基本上按照Caffe官网教程去装也行。
我综合了许多博客和一些论坛资料&#xff0c;解决了一些坑后才装好&#xff0c;具体来说有&#xff1a;
1.按照一个知乎专栏把dependencies装好。 2.按照一个CSDN博客将Makefile.config文件中的CPU_ONLY :&#61; 1取消注释。此外&#xff0c;我还自作主张的把Makefile.config中关于opencv3的注释也去掉了&#xff0c;感觉应该没问题吧。
然后在make all的过程中会遇到许多坑&#xff0c;基本可以在这个博客中找到应对方法。不仅仅是修改Makefile.config&#xff0c;还有一个要修改Makefile的地方http://blog.csdn.net/u014696921/article/details/52628075。以及&#xff0c;一个为Ubuntu16.04专属的坑&#xff0c;见这里
接着&#xff0c;又在这里卡到 CXX/LD -o .build_release/tools/convert_imageset.bin
在这篇文章中找到了原因&#xff0c;是因为gcc和g&#43;&#43;版本问题&#xff08;下图&#xff09;&#xff0c;想起了以前装CUDA8.0时曾经更改过默认gcc和g&#43;&#43;版本
发现默认的gcc和g&#43;&#43;果然是4.9版本的&#xff0c;但是我也装了5.4的&#xff0c;所以找了一个文章&#xff0c;关于如何更改默认gcc和g&#43;&#43;的优先级的方法&#xff0c;还是挺简单的&#xff0c;和以前装CUDA用的方法一样。
最后make test, make runtest完了后&#xff0c;跑一个mnist试试&#xff0c;需要注意的是&#xff0c;命令要在caffe根目录操作&#xff0c;否则可能会提示找不到文件或目录的错误&#xff08;比如&#xff0c;进入create_mnist.sh的目录执行./create_mnist.sh就会报错&#xff09;&#xff0c;见下图
成功&#xff01;
BUT! 还没完&#xff01; 当使用Python import caffe时&#xff0c;会提示找不到caffe module,因为环境变量还没有设置好&#xff0c;可以按照前文提到的那个知乎专栏末尾那样设置环境变量&#xff0c;或者按照这篇博客也行
解决环境变量后&#xff0c;import caffe时还是会出现一个问题&#xff0c;原因是因为在make的时候&#xff0c;没有make pycaffe&#xff0c;具体参见这个StackOverflow的回答。 MD&#xff0c;又要make clean&#xff0c;重新编译了。
结果还是提示import skimage.io ImportError: No module named skimage.io &#xff0c;原因是没有装scikit-image&#xff0c;详见这个博客。 在安装的过程中很奇怪&#xff0c;我用sudo pip install scikit-image时下载依赖包到一半时总是突然断网报错&#xff0c;按照错误提示非得使用sudo -H pip install scikit-image才成功。找到一句解释&#xff1a;
-H 将环境变数中的 HOME &#xff08;家目录&#xff09;指定为要变更身份的使用者家目录&#xff08;如不加 -u 参数就是系统管理者 root &#xff09;
后面反正缺啥补啥&#xff0c;最后就可以import caffe成功了。
安装caffe的目的是为了跑dilated covolution的开源代码&#xff0c;后来也跑成功了&#xff08;要注意python predict.py…时要使用默认的CPU&#xff0c;其实就是predict.py中使用了argparse这个模块&#xff0c;我的博客以前提到过&#xff0c;所以还是要积累呀&#xff09;。虽然用CPU很慢&#xff0c;而且内存爆满&#xff0c;但是最后还是输出了semantic segmentation的图片 ^_^