您的位置:首页 > 编程语言 > Python开发

Ubuntu 14.04 python caffe 安装

2016-08-26 11:39 441 查看
build-essential 安装
sudo apt-get update
sudo apt-get install build-essential
安装cuda准备工作:(1)nvdia官网下载cuda_7.5.18_linux.run安装文件(2) cd到安装目录(3修改.run安装文件可执行权限
sudo chmod +755 cuda_7.5.18_linux.run
(4)关闭 X serverlogout,在命令行界面(系统登陆界面按ctrl+alt+F1)输入以下命令:
sudo /etc/init.d/lightdm stop
安装:
sudo ./cuda_7.5.18_linux.run -no-opengl-libs
设置环境变量:
echo 'export PATH=/usr/local/cuda/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
完成重启机器就好。Note:(1)如果后续编译出现找不到libcudart.so,可进行下面操作:
sudo gedit /etc/ld.so.conf.d/cuda.conf
在cuda.conf文件中添加下面目录:/usr/local/cuda/lib64/lib保存退出,使用下面命令使之立即生效:
sudo ldconfig -v
(2)如果cuda 安装完出现,系统图形操作界面无法进入的问题,可尝试用以下命令解决:
sudo apt-get remove --purge nvidia-*
sudo apt-get install ubuntu-desktop
完成重启机器验证安装:
cd /usr/local/cuda/samples/1_Utilities/deviceQuery
make
./deviceQuery
显示Pass即可安装 OpenBLAS
sudo apt-get install gfortran
mkdir ~/code                          (路径可以自己修改)
cd ~/code
git clone https://github.com/xianyi/OpenBLAS.git                                   (没有git先按提示安装git)
cd OpenBLAS
make -j $(($(nproc) + 1))
sudo make PREFIX=/usr/local install
安装boost
sudo apt-get install libboost-all-dev
安装 Opencv 见版本3.0,安装方法安装 protobuf, glog, gflags
sudo apt-get install libprotobuf-dev libgoogle-glog-dev libgflags-dev protobuf-compiler
 安装 hdf5, leveldb, snappy, lmdb
sudo apt-get install libhdf5-serial-dev libleveldb-dev libsnappy-dev liblmdb-dev

安装Anaconda Python

下载地址: http://continuum.io/downloads 切换到下载目录:
cd ~/Downloads
运行安装程序:
<pre><code>bash Anaconda*.sh</code>
按提示进行操作,若询问是否添加环境变量,选择“是”。关闭并重新打开终端,使新环境变量生效。

安装 HDF5

conda install hdf5
Note: conda下的库只对python有效

解决HDF5 版本Bug

cd /usr/lib/x86_64-linux-gnusudo ln -s libhdf5.so.7 libhdf5.so.9sudo ln -s libhdf5_hl.so.7 libhdf5_hl.so.9sudo ldconfig

安装CuDNN

下载地址: https://developer.nvidia.com/cuDNN   建议版本v4进入下载目录:
cd ~/Downloads/
解压文件,并拷贝它们到CUDA目录:
tar xvf cudnn*.tgzcd cudasudo cp */*.h /usr/local/cuda/include/sudo cp */*.so* /usr/local/cuda/lib64/
这里要特别说明下,对于tensorflow,同样也需要CUDA和CUDNN,但是tensorflow对cudnn库文件,不能直接识别libcudnn.so的原文件,它会报错:Couldn't open CUDA library libcudnn.so。据寡人揣测,tensorflow加载libcudnn.so文件时必须通过libcudnn.so的link文件去找libcudnn.so.*.*(subversion)。解决方案:在拷贝完CUDNN的so文件后,重新做link:
cd /usr/local/cuda/lib64sudo rm libcudnn.so libcudnn.so.4sudo ln -s libcudnn.so.4.0.7 libcudnn.so.4sudo ln -s libcudnn.so.4 libcudnn.sosudo ldconfig -v
其实,仔细观察原始文件,会发现libcudnn.so, libcudnn.so.4 和 libcudnn.so.4.0.7 3个文件大小完全一样(估计是同样的内容)。照一般库文件的做法,是只给 libcudnn.so.4.0.7一个文件,然后libcudnn.so.4.0.7生成链接文件libcudnn.so.4,libcudnn.so.4.生成链接文件libcudnn.so,便于版本管理。不知道CUDNN出于什么目的,要多建两个一模一样的文件侵占我的磁盘空间,简直就是在搞事情啊!配置并编译 Caffe建个安装文件夹: (/home/$(user)/code)
mkdir ~/codecd ~/code
下载 Caffe
git clone https://github.com/BVLC/caffe.git[/code]修改Caffe配置文件: 
cd caffecp Makefile.config.example Makefile.configsed -i 's/# USE_CUDNN := 1/USE_CUDNN := 1/' Makefile.configsed -i 's/BLAS := atlas/BLAS := open/' Makefile.configsed -i 's|# ANACONDA_HOME := $(HOME)/anaconda|ANACONDA_HOME := $(HOME)/anaconda2|' Makefile.configsed -i 's|# PYTHON_INCLUDE := $(ANACONDA_HOME)|PYTHON_INCLUDE := $(ANACONDA_HOME)|' Makefile.configsed -i 's|# $(ANACONDA_HOME)|$(ANACONDA_HOME)|' Makefile.configsed -i 's|# PYTHON_LIB := $(ANACONDA_HOME)|PYTHON_LIB := $(ANACONDA_HOME)|' Makefile.configsed -i 's|# WITH_PYTHON_LAYER := 1|WITH_PYTHON_LAYER := 1|' Makefile.config
用conda下载 Python依赖项:
for req in $(cat python/requirements.txt); do conda install $req; done
用pip下载conda不能安装的依赖项:
pip install -r python/requirements.txt
编译Caffe:
make all -j $(($(nproc) + 1))make test -j $(($(nproc) + 1))make runtest -j $(($(nproc) + 1))
Note:$($(nproc)+1)表示用nproc+1的核数量并行编译。
runtest
显示全PASS就表示成功啦。
编译 PyCaffe (Python 接口):
make pycaffe -j $(($(nproc) + 1))
设置环境变量
echo "export CAFFE_ROOT=$(pwd)" >> ~/.bashrcecho 'export PYTHONPATH=$CAFFE_ROOT/python:$PYTHONPATH' >> ~/.bashrc
重启终端,使环境变量生效。测试
ipython<pre name="code" class="plain">import caffe
如果没问题,恭喜!~
                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: