Caffe学习1-Ubuntu下的Caffe的搭建
2016-05-18 23:16
295 查看
Ubuntu下的Caffe的搭建
Ubuntu下的Caffe的搭建安装英伟达驱动
安装CUDA
安装OpenBLAS
安装Boost
安装OpenCV
安装protobufgloggflags
安装IO库hdf5leveldbsnappylmdb
安装Anaconda Python
安装HDF5
配置并编译Caffe
后记
参考来源:https://github.com/tiangolo/caffe/blob/ubuntu-tutorial-b/docs/install_apt2.md
本教程是在Ubuntu14.04下的(因为CUDA官方目前在Ubuntu64bit下支持的只有14.04和15.04两个版本,如果是15.04的按照这个教程应该也是可以的,主要是因为CUDA官方目前只支持这两个版本,小编曾经试过在16.x的版本安装,结果是惨烈的)
安装Git:
sudo apt-get install git
安装英伟达驱动
Caffe是建立在CUDA之上的,而只有英伟达才支持CUDA,所以,如果读者您的显卡不是英伟达的,可能就要三思咯…就算是英伟达显卡,也有可能不支持CUDA的,如果您的显卡不在官方提供的列表里,那也只能说很遗憾了,下面是官方提供的列表:
添加PPA源
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
安装英伟达显卡,小编推荐安装352的,是目前最稳定的版本
sudo apt-get install nvidia-352
还有另外一种方法也可以安装驱动,但是这种方法比较麻烦,小编强烈不推荐用这种(小编曾在这种方法栽过跟头): 注意,如果上面的方法安装成功了,请无视此部分 首先,读者需要去英伟达官网下载符合您显卡的驱动程序: http://www.geforce.com/drivers 接着,请把下载到的xx.run文件放到一个英文路径下。并运行下面命令 chmod +x xx.run 接着如果读者试着安装该文件的话,不出意味,一定会失败,错误提示应该如下: ERROR: You appear to be running an X server; ...... 所以要你退出X server... 好吧,退出就退出吧... 那么怎么退出X server?(此时建议用手机拍下,因为即将暂别) 首先,按住ctrl+alt+F1切换到tty1窗口, 然后输入 service lightdm stop 或者 service gdm stop 这样就退出了X server,然而这时候有中文路径的读者会发现,命令行里此时不能输中文,也看不到中文(知道为什么要把xx.run放到英文路径了吧) 然后找到xx.run的目录,输入下面命令 sudo ./xx.run 然后就开始安装了,如无意外,这时候应该会安装得很顺利。
安装成功后重启
sudo shutdown -r now
检查是否安装成功
cat /proc/driver/nvidia/version
安装CUDA
记得再记得,CUDA一定要有英伟达显卡!首先读者需要去英伟达开发者网站注册一个账号,因为后面下载软件需要用到账号(其中还要填调查问卷,读者看着填吧)
注册 https://developer.nvidia.com/user
然后是要下载CUDA的deb,这里推荐的是网络版的deb,本地版的下载有点龟速,不到万不得已都不要用.run的(否则你需要退出X server,并且运气不好的话还会有数不完的问题等着你)
然后定位到下载的目录,安装CUDA,在update的时候,它可能会提示一些更新失败,小编忽略这些仍是能成功装cuda的
sudo dpkg -i xx.deb
sudo apt-get update
sudo apt-get install cuda
把CUDA加入到当前用户的环境变量里
echo ‘export PATH=/usr/local/cuda/bin:$PATH’ >> ~/.bashrc
echo ‘export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH’ >> ~/.bashrc
关闭终端,重新打开然后检查CUDA是否安装成功。检查方式是通过安装示例。
cuda-install-samples-7.0.sh ~/cuda-samples
cd ~/cuda-samples/NVIDIA*Samples
make -j $(($(nproc) + 1))
重启计算机,之后运行下面指令来判断CUDA是否安装无误
bin/x86_64/linux/release/deviceQuery
bin/x86_64/linux/release/bandwidthTest
安装OpenBLAS
接下来创建一个存放git代码的文件夹,这个文件夹之后都会用上,读者可知自行考虑mkdir ~/code
克隆OpenBLAS
git clone https://github.com/xianyi/OpenBLAS.git
编译OpenBLAS
cd OpenBLAS
make -j $(($(nproc) + 1))
安装OpenBLAS
sudo make PREFIX=/usr/local install
安装Boost
sudo apt-get install libboost-all-dev安装OpenCV
sudo apt-get install libopencv-dev安装protobuf,glog,gflags
sudo apt-get install libprotobuf-dev libgoogle-glog-dev libgflags-dev protobuf-compiler安装IO库:hdf5,leveldb,snappy,lmdb
sudo apt-get install libhdf5-serial-dev libleveldb-dev libsnappy-dev liblmdb-dev安装Anaconda Python
Anaconda是个很好的工具,里面包含了大量依赖和软件(比如ipython),可以省下我们在安装python相关的极大多数时间。下载地址http://continuum.io/downloads
定位代Anaconda的下载目录,并安装,如果有问你是否添加到路径,选yes就对了
bash Anaconda*.sh
退出终端并重新打开
安装HDF5
conda install hdf5配置并编译Caffe
克隆Caffecd ~/code
git clone https://github.com/BVLC/caffe.git
创建Makefile.config
cd caffe
cp Makefile.config.example Makefile.config
使能Anaconda,这里注意,如果读者的Anaconda目录名是anaconda2,记得把下面的ANACONDA_HOME对应的anaconda改成anaconda2
sed -i ‘s|# ANACONDA_HOME := $(HOME)/anaconda|ANACONDA_HOME := $(HOME)/anaconda|’ Makefile.config
sed -i ‘s|# PYTHON_INCLUDE := $(ANACONDA_HOME)|PYTHON_INCLUDE := $(ANACONDA_HOME)|’ Makefile.config
sed -i ‘s|# $(ANACONDA_HOME)|$(ANACONDA_HOME)|’ Makefile.config
sed -i ‘s|# PYTHON_LIB := $(ANACONDA_HOME)|PYTHON_LIB := $(ANACONDA_HOME)|’ Makefile.config
sed -i ‘s|# WITH_PYTHON_LAYER := 1|WITH_PYTHON_LAYER := 1|’ Makefile.config
安装Python依赖
pip install -r python/requirements.txt
编译Caffe
make all -j $(($(nproc) + 1))
如果读者在编译时遇到 pyconfig.h: No such file or directory 的问题时,那么如果您之前有按照小编的步骤安装了Anaconda,那么很有可能就是Anaconda的路径写错了,解决办法:先找到您Anaconda的安装目录和目录名(新版的Anaconda目录名变成了anaconda2,小编当时就是这里错了),然后在Caffe的Makefile.config里面找打ANACONDA_HOME并修改路径,就可以了~
编译Caffe测试文件并运行,不出意外的话,应该会报错,并提示libhdf5.so.x或libhdf5_hl.so.9找不到的错误
make test -j $(($(nproc) + 1))
make runtest -j $(($(nproc) + 1))
如果出现libhdf5.so.x找不到这样的错误,请记住提示的x,然后输入下面的指令,注意把x替换成提示的x。 cd /usr/lib/x86_64-linux-gnu sudo ln -s libhdf5.so.7 libhdf5.so.x sudo ln -s libhdf5_hl.so.7 libhdf5_hl.so.x sudo ldconfig
编译PyCaffe
make pycaffe -j $(($(nproc) + 1))
更新路径
echo “export CAFFE_ROOT=$(pwd)” >> ~/.bashrc
echo ‘export PYTHONPATH=$CAFFE_ROOT/python:$PYTHONPATH’ >> ~/.bashrc
退出终端并重新打开
尝试import caffe
ipython
import caffe
如果没有报错,那么恭喜读者,你可以开始您的第一个Caffe实例了!
安装过程中遇到任何问题,欢迎留言一起讨论:)
后记
呼,这配环境的事真是不容易,不过当跑出了第一个示例程序之后,内心那是一个激动的。小编接下来还会继续跟进Caffe的学习,争取给读者们提供一个最白痴,最容易上手的学习心得!下一节会介绍Caffe以及Caffe一些核心的概念~敬请期待:)相关文章推荐
- HTML注释和JSP注释的区别
- JavaScript的for循环写法及效率
- CSS3基础
- Django 中引入bootstrap的方法
- Scrapyjs Splash KeyError 'splash'
- 【软件】IDEA web项目里包含node_modules 一直处于make状态
- ssh学习之旅(1)--jQuery获取session的值
- JavaScript、jQuery、Ajax、Json等又是什么?区别又是什么?
- 搭建5个节点的hadoop集群环境(CDH5)
- ReactiveCocoa操作方法(映射,组合)
- 原生js实现复制对象、扩展对象 类似jquery中的extend()方法
- react, Stateless Functions, ES6 花括号参数, Spread operator
- Angular -- ng-class
- 浅析ID与CLASS的区别
- 那些被漏掉的JQuery总结(三)——关于前台的数据计算问题
- 《jQuery从入门到精通》第二节 开始使用jQuery(二)
- 第2章 从HTML、XHTML到HTML5
- Splash Scrapyjs Connection was refused by other side: 111: Connection refused.
- 前端构建工具gulp入门教程
- 《JavaScript程序设计》课堂交流区问题汇总(进阶篇)