ubuntu 下 cuda 6.5 安装以及caffe 配置

主要参考blog:

http://www.cnblogs.com/platero/p/3993877.html#
http://blog.csdn.net/ccemmawatson/article/details/42004105

本blog主要包含两个部分,一部分是NVIDIA显卡下的cuda 6.5的安装,第二部分是caffe的安装,环境是Ubuntu 14.04

Part 1 CUDA 6.5 安装


1、apt-get install build-essential  第一次的时候要有这一步,安装必须的软件

2、mkdir ~/Downloads/nvidia_installers     创建新的文件夹路径
   cd ~/Downloads                           进入Downloads
   ./cuda_6.5.14_linux_64.run -extract=/home/username/Downloads/nvidia_installers  注意的是extract:path must be absolute 
   最后一句开始不能运行是因为.run 文件右键属性/权限 里将 允许作为程序执行文件 选上,就可以执行了

3、  执行后得到三个.run文件

4、sudo apt-get --purge remove nvidia-*   先卸载之前的相关的,反正卸载相关NVIDIA的

5、cd ~/Downloads/nvidia_installers;  安装
ctr+Alt+F1进入tty1-6中再运行lightdm stop ,关闭图形界面,否则容易卡住
sudo service lightdm stop    关闭图形界面,才能配置显卡,图形界面没有,执行下面的问题
sudo killall Xorg
sudo ./NVIDIA-Linux-x86_64-340.29.run  

6、三条指令
sudo modprobe nvidia

sudo ./cuda-linux64-rel-6.0.37-18176142.run

sudo ./cuda-samples-linux-6.0.37-18176142.run  
 
7、cd /usr/local/cuda/samples

cd 1_Utilities/deviceQuery
 make    显示没有g++,需要安装,sudo   apt-get install g++
./deviceQuery  

8、可以了,然后回到图形界面sudo service lightdm start,配置环境变量

gedit ~/.bashrc
打开一个文本文件,最后加上export PATH=/usr/local/cuda-6.0/bin:$PATH

Save the file and then source your .bashrc by typing

source .bashrc

when in your home folder.


常见错误:
打不开文字界面:::正常都是打不开图形界面,我居然打不开文字界面,下面方法可以,是一个文件没安装好吧。
  1. Open the terminal with Ctrl+Alt+T
  2. Paste the below, and enter your password when asked:

    sudo sed -i -e 's/#GRUB_TERMINAL/GRUB_TERMINAL/g' /etc/default/grub
    
  3. Then type sudo update-grub

  4. Reboot and the virtual terminals should now work.
分辨率问题,可能是Linux自带的NVIDIA显卡驱动不符合,禁用后重试。

sudo apt-get --purge remove nvidia-*  删除驱动分别率就可以
============================================================================================

Part 2 caffe的安装

1、 cuda 装好了,cuDNN不需要装,比较难改结构,速度提高不大。显卡驱动,这个再说

2、几个矩阵运算的库吧,ATLAS,Intel MKL,OpenBLAS ,执行  Ubuntu:  sudo apt-get install libatlas-base-dev 安装ATLAS。

3、Python 设置  ”  sudo apt-get install  the  python-dev“ 建议安装anaconda包,官网: https://store.continuum.io/cshop/anaconda/
下载Linux版本的,然后运行.sh文件 bash Anaconda-2.1.0-Linux-x86.sh
后面在运行Caffe时,可能会报一些找不到libxxx.so的错误:

    
    
    
    
为了不让系统在启动时就将anaconda/lib加入系统库目录,可以在用户自己的~/.bashrc 中添加library path, 比如我就在最后添加了两行
# add library path
LD_LIBRARY_PATH=your_anaconda_path/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
下载caffe-master,添加路径  
sudo gedit ~./bashrc
PYTHONPATH=/home/zht/caffe-master/python:$PYTHONPATH 
export PYTHONPATH


4、其他的库  for Ubuntu 14.04 the rest of the dependencies can be installed with

sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev

5、sudo apt-get install cmake 安装cmake

6、安装opencv    本来这也是一个非常痛苦的过程,因为也是会出现各种问题,但已经有大神写好了脚本,所以一下子变得简单了,首先先下载大神脚本https://github.com/jayrambhia/Install-OpenCV,继续放在HOME中。
这中间可能需要修改权限什么的,具体就是 进入Ubuntu/2.4 目录, 给所有shell脚本加上可执行权限
chmod +x *.sh
默认已经改了,进入Ubuntu文件夹,然后执行附加项安装
    sudo ./dependencies.sh   挺长时间的
然后
     sudo ./opencv2_4_9.sh  
安装的 2.4.9因为2.6的链接已经不存在了,.sh要改成可执行,习惯用终端。 ll 查询其可执行性,chmod改变可执行性。

注意,中途可能会报错

opencv-2.4.9/modules/gpu/src/nvidia/core/NCVPixelOperations.hpp(51): error: a storage class is not allowed in an explicit specialization

解决方法在此:http://code.opencv.org/issues/3814  下载 NCVPixelOperations.hpp 替换掉opencv2.4.9内的文件, 重新build,也就是重新sudo ./opencv2_4_9.sh


7、安装caffe  打开压缩文件  所有教程都写着Makefile.config ,为什么压缩文件里是Makefile,复制Makefile.config.example 为Makefile,config,运行老是警告,之前的requirements没安装好。第二次就可以了
可以在图形界面下修改Makefile.config的相关指令:
【1】需要编译python则注意添加正确的python路径
【2】需要编译matlab函数库同样
【3】需要修改BLAS := open(官网的说明),就是去掉"#"

8.编译caffe,首先进入caffe的root,然后依次执行
make all -j4
make test
make runtest (这几步会出现很多问题,具体参考下面)

9、试验mnist , 运行mnist, cd $CAFFE_ROOT
sh ./data/mnist/get_mnist.sh   #有时候网速什么问题,下的中间有问题,会导致create_mnist.sh有问题
sh ./examples/mnist/create_mnist.sh
sh ./examples/mnist/train_lenet.sh  #开始运行了,可以运行,现在问题是需要运行自己的数据


存在问题:
1、、下了最新的caffe 运行make all   make  test   make runtest
  报错(1):
/usr/local/lib/libopencv_highgui.so:对‘TIFFReadEncodedStrip@LIBTIFF_4.0’未定义的引用
/usr/local/lib/libopencv_highgui.so:对‘TIFFSetField@LIBTIFF_4.0’未定义的引用
/usr/local/lib/libopencv_highgui.so:对‘TIFFWriteScanline@LIBTIFF_4.0’未定义的引用
//usr/lib/x86_64-linux-gnu/libvorbis.so.0:对‘__acosf_finite@GLIBC_2.15’未定义的引用
//usr/lib/x86_64-linux-gnu/libx264.so.142:对‘__pow_finite@GLIBC_2.15’未定义的引用
//usr/lib/x86_64-linux-gnu/libx264.so.142:对‘__log2_finite@GLIBC_2.15’未定义的引用

因为装了anaconda包的话,删除anaconda/lib/下面的 libm
sudo rm -rf libm*

   报错(2):
libm.so.6 (GLIBC_2.2.5) => /lib/x86_64-linux-gnu/libm.so.6
cd /heme/your anaconda path/lib
mkdir temp
mv libreadline*  temp/
ldconfig

2、ImportError: libcudart.so.6.5: cannot open shared object file: No such file or directory 
不是权限问题

sudo ldconfig /usr/local/cuda/lib64

3、 sudo apt-get install yum 安装完成也没有仓库,repolist=0,不能用
      sudo yum install gflags-devel glog-devellmdb-devel 执行不了


你可能感兴趣的:(ubuntu,深度学习,caffe,cuda6.5)