Thursday 8 September 2016

ubantu安装caffe

之前经历无数周折和电脑变砖之后终于装好cuda,现在开始安装caffe。这里,这里,这里都有教程。

先安装sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler,提示有unmet dependency,就把没有的装上就行。

然后sudo apt-get install --no-install-recommends libboost-all-dev,一开始显示有一堆问题,之后发现要sudo apt-get --purge remove libboost-all-dev libboost-dev libboost-doc,然后sudo apt-get install -f,sudo dpkg --configure -a, sudo apt-get clean,sudo apt-get install libboost1.54-dev。这时再sudo apt-get install --no-install-recommends libboost-all-dev就可以了。

接下来就是sudo apt-get install libatlas-base-dev和sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev,没遇到问题。

之后make all -j8.因为我用的旧版本的caffe,出现了no rule to make target之类的,跟gcc的limits.h有关。可能是cuda的路径不能用/usr/local/cuda-6.5? 不过在usr/local/里面cuda应该也是link到了cuda6.5。反正使用cpu only之后就可以了,不过make test又无法通过了,显示utls里面一个函数无法再opt/cuda/include中找到cuda_runtime.h。经过一系列debug,我先装了nvida current,然后cuda toolkit,最最关键的一步是make clean,之后就可以make all了,后来发现是从网上下载的caffe默认路径在opt里面,第一次安装没有成功,所以如果没有make clean就还会在opt里面安装。之后装caffe又出现过gcc没找到limits.h的情况,总之要多make clean几次再重装就OK了。

之后重装caffe的时候,又说找不到cuda,发现在config里面不能把cuda的路径设置成/usr,必须是/usr/local/cuda,不懂caffe里面说ubantu 14.04的cuda路径设置成/usr的用意何在。

装好之后想在matlab里面跑caffe,出现gcc 4.8.4 not supported的问题,根据这里,给gcc降级。

caffe如何使用可以参考这里。有一些code是在MATLAB里面跑的,往往自带caffe的folder,直接在里面安装caffe就好。我运行的时候遇到了crash,起因在caffe('forward',image)那里。这时需要在terminal里面看matlab给出的具体error是啥。

一个比较令我困惑的是nvidia driver,cuda和cuda toolkit之间的关系。





No comments:

Post a Comment