设为首页 收藏本站
查看: 1958|回复: 0

[经验分享] [Caffe]史上最全的caffe安装过程

[复制链接]

尚未签到

发表于 2017-11-22 11:32:24 | 显示全部楼层 |阅读模式
Linux下的GPU版Caffe安装方法
  系统环境:Ubuntu 14.04LTS + NV TitanX

1.1 (可选)显卡驱动的安装(有风险)
  如果需要重装,需要先卸载已有版本
  

sudo apt-get remove - -purge nvidia-*  
sudo apt-get remove - -purge cuda-*
  

  再重装一个比较稳定的版本
  

sudo apt-get install -y nvidia-352    // nvidia-361也比较稳定  

  或者安装其它最新版本的驱动,但一定注意,通过apt-get或者yum安装,不要用官方的.run文件安装驱动,否则死机必须重装系统解决

1.2 安装cuda
  需要注意的是,cuda安装过程会自己安装显卡驱动,所以第一步也可以不做。使用以下命令检查在安装cuda前后验证是否有显卡驱动附带安装了。
  

dpkg –l | grep nvidia  

When installing CUDA on Ubuntu, you can choose between the Runfile Installer and the Debian Installer. The Runfile Installer is only available as a Local Installer. The Debian Installer is available as both a Local Installer and a Network Installer. The Network Installer allows you to download only the files you need. The Local Installer is a standalone installer with a large initial download. In the case of the Debian installers, the instructions for the Local and Network variants are the same. For more details, refer to the Linux Installation Guide.  

  以上是官方的指引,即我们可以使用本地安装(需要下载1G多的安装包),也可以只下载一个种子文件,安装过程需要其它配套程序会自动下载。安装命令如下:
  

sudo dpkg --install cuda-repo-<distro>-<version>.<architecture>.deb  
sudo apt-get update
  
sudo apt-get install cuda
  
reboot
  

  增加环境变量
  

vim ~/.bashrc  
export PATH=/usr/local/cuda-7.5/bin:$PATH
  
export LD_LIBRARY_PATH=/usr/local/cuda-7.5/lib64:$LD_LIBRARY_PATH
  
source ~/.bashrc
  

  安装测试样例
  

cuda-install-samples-7.5.sh ~  
cd ~/NVIDIA_CUDA-Samples_7.5/5_Simulations/nbody
  
make
  
./nbody
  

  检查是否安装完毕
  

Dpkg –l |grep cuda  
Dpkg –l |grep nvidia
  
Cd /usr/local/cuda/samples/1_Utilities/deviceQuery
  
./deviceQuery
  

  cuda安装参考

1.3 安装cudnn
  Step 0: Install cuda from the standard repositories.
  
Step 1: Register an nvidia developer account and download cudnn here (about 80 MB)
  
Step 2: Check where your cuda installation is. For the installation from the repository it is /usr/lib/... and /usr/include. Otherwise, it will be /urs/local/cuda/.
  
You can check it with:
  

which nvcc   

  or
  

ldconfig -p | grep cuda  

  Step 3: Copy the files:
  

cd folder/extracted/contents  
sudo cp -P include/cudnn.h /usr/include
  
sudo cp -P lib64/libcudnn* /usr/lib/x86_64-linux-gnu/
  
sudo chmod a+r /usr/lib/x86_64-linux-gnu/libcudnn*  
  

  cudnn安装参考

1.4 安装anaconda-python
  Download the software in following address
  

sudo chmod 777 Anaconda2-4.1.1-Linux-x86_64.sh  
./Anaconda2-4.1.1-Linux-x86_64.sh
  

  然后按照提示安装即可,安装路径选择默认的路径即可,安装结束后会自动添加环境变量,退出终端之后再进入后生效。
  
note: anadconda的包管理机制虽然很方便,但有时会和系统版本产生各种不兼容反应
  
如果想使用系统自带python的话,最好使用python本地虚拟环境,这样更加便于管理。安装Python本地虚拟环境参考

2.1 编译Caffe源码
  

git clone https://github.com/BVLC/caffe && cd caffe  
cp Makefile.config.example Makefile.config
  
vim Makefile.config
  

  uncomment
  

USED_CUDNN = 1  
USE_CUDNN := 1
  
OPENCV_VERSION := 3
  
# Modify PYTHONPATH of include and lib  
  
ANACONDA_HOME := $(HOME)/pyenv/pycaffe
  
PYTHON_INCLUDE := $(ANACONDA_HOME)/include \
  $(ANACONDA_HOME)/include/python2.7 \
  $(ANACONDA_HOME)/lib/python2.7/site-packages/numpy/core/include \
  
USE_PKG_CONFIG := 1
  
WITH_PYTHON_LAYER := 1
  

  编译
  

make all -j16  
make pycaffe
  

  这两步不出问题一步就OK了,但是为了让python能够找到编译好的caffe位置,需要:
  

cd ~/caffe/python  
# 这里面是了些python常用包,需要装不上的直接删去
  
pip install –r requirements.txt
  
pwd > ~/pyenv/pycaffe/lib/python2.7/site-packages/caffe.pth   
  
# 设置python中caffe路径,其中~/pyenv/pycaffe是我用的python的位置
  

  在任意路径下,用caffe.pth中的python,import caffe不错误即成功了。

2.2 常见编译或使用中遇到的问题
  (1) error: while loading shared libraries: libcudart.so.7.5: cannot open shared object file: No such file or directory
  
解决:
  

sudo ldconfig  /usr/local/cuda/lib64  
step 4:sudo make pycaffe –j16  
  

  (2) error: Python.h no such file or directory
  
解决:
  

ANACONDA_HOME := /home/wangyuanjiang/anaconda2  
PYTHON_INCLUDE := $(ANACONDA_HOME)/include \
  $(ANACONDA_HOME)/include/python2.7 \
  $(ANACONDA_HOME)/lib/python2.7/site-packages/numpy/core/include \
  

  solution2 Reference
  (3) error: import caffe 后提示Error: No module named google.protobuf.internal
  
solution: pip install protobuf
  
solution3 referrence
  (4) error: caffe with anaconda2python RuntimeError: module compiled against API version 0xa but this version of numpy is 0x9
  
solution 4:
  
download numpy-1.11.tar.gz
  

pip install numpy-1.11.tar.gz  

  (5) error: ImportError: No module named skimage.io
  
Solution 5:
  

sudo apt-get install python-skimage  

  reference5
  (6) error6: python import caffe only in root+caffe/python directory
  

export PYTHONPATH=/usr/local/src/caffe/python:$PYTHONPATH  

  (7) error: python –version differs with sudo python –version
  
It’s a painful trouble!
  
You an add solute path of python when you want to use sudo python
  
You can change the permission of you directory by type
  

Chmod –R 777 destdir  

  (8) error: cublas_v2.h: No such file or directory:
  
./include/caffe/util/device_alternate.hpp:34:23: fatal error: cublas_v2.h: No such file or directory
  
Solution:
  
本来以为是自己的openblas没有安装好,后来发现是因为在Makefile.config文件中写错了cuda的路径。本来把cuda的路径uncomment成为/usr/local/cuda就行了,但是我却把它uncomment成为/usr了。
  (9) error: when make runtest –j16, there is no share lib libhdf5_h1.so.10 and libhd5.so.10
  
Solution:
  

cd /usr/lib/x86_64-linux-gnu/  
sudo cp libhdf5_hl.so.7 libhdf5_hl.so.10
  
sudo cp libhdf5.so.7 libhdf5.so.10
  

  (10) error: 发现训练一次mnist非常慢,花了大概30min但是make runtest 没有运行完,把它运行完发现训练变快了。还没解决。
  (11) error: caffe/proto/caffe.pb.h: No such file or directory
  
解决:
  

cp –rf build/src/caffe/proto include/caffe/  

  参考
  
official
  
recommend
  
关于pycaffe、matcaffe的使用
  
博客1
  
博客2

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-409468-1-1.html 上篇帖子: SALT BEST PRACTICES(最佳实践) 下篇帖子: [原创]在HP DL380 G7服务器上部署基于Ubuntu Server 16.04 和 VirtualBox的云平台
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表