参照两位的博客

http://caffe.berkeleyvision.org/    官网

http://blog.csdn.net/u013476464/article/details/38071075    caffe+ubunutu14.04 +cuda 6.5 安装指南

http://blog.csdn.net/bebelemon/article/details/25567239   ubuntu12.04下配置caffe

http://www.mintos.org/config/ubuntu-nvidia-prime.html(对于ubuntu14.04的话很重要)

error while loading shared libraries: xxx.so.x"错误的原因和解决办法

前前后后装了有20+遍系统,今天终于把caffe搞定了。推荐ubuntu12.04+cuda(5.0,5.5或6.0的版本)+mkl+opencv+caffe

显卡驱动可以不装,cuda的.run文件只安装toolkit和sample即可,程序以后只用cpu运行,且只能运行不含GPU的sample,配置文件会有一个CPU与GPU的选择

http://developer.nvidia.com/cuda-gpus这个网站查看你是否有支持gpu的显卡

前提

执行下面的操作,然后验证硬件支持GPU CUDA,只要型号存在于https://developer.nvidia.com/cuda-gpus,就没问题了 lspci | grep -i nvidia
ubnutu12.04下显示:
NVIDIA Corporation GF119M [GeForce 610M]
 gcc --version
没有的话就先安装吧,这个是必须的用来编译CUDA Toolkit,不然安装显卡驱动的时候会出现问题,不过Ubuntu 是默认有的,ubuntu系统推荐安装英文的。

(如果是新装的ubuntu,记得update后换源)
1,安装cuda
下载官方cuda-toolkit,https://developer.nvidia.com/cuda-downloads,
将下载的.run安装文件放到home/yjy/下,yjy是我的用户名。
Mouveau跟Nvidia模块冲突,所以要把Nouveau给禁用了
 sudo gedit /etc/modprobe.d/blacklist.conf

在blacklist.conf中添加黑名单内容:
blacklist lbm-nouveau  
blacklist nvidia-173  
blacklist nvidia-96  
blacklist nvidia-current  
blacklist nvidia-173-updates  
blacklist nvidia-96-updates  
alias nvidia nvidia_current_updates  
alias nouveau off  
alias lbm-nouveau off

之后进入文本模式TTY,CTRL+ALT+FN+F1,

(卸载已经安装过的驱动: sudo apt-get remove --purge nvidia*,重装的系统就不要执行这一步了,这个操作有可能会导致黑屏,进不了桌面系统。couldnot write bytes:Broken pipe有可能也是它引起的)
然后关闭Lightdm
    sudo stop lightdm

然后进入yjy文件夹下看一下安装文件的权限

yjy@yjy-ThinkPad:~$ ls
若显示的.run文件名为白色,则给其赋执行权限

sudo chmod +x cuda_6.0.37_linux_64.run
执行.run文件
    sudo ./cuda_6.0.37_linux_64.run
安装完成后,启动lightdm
    sudo start lightdm

有可能只有桌面,没有左侧的菜单栏,

这时再进文本模式重启即可 sudo reboot

安装过程中会提示Missing recommend library,则重新启动后必须要安装

sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev
cuda验证

cd /home/yjy/NVIDIA_CUDA-6.0_Samples
 make

运行编译好的文件,看看设备的基本信息
 cd /bin/x86_64/linux/release
 ./deviceQuery

2,MKL安装

MKL下载申请:https://registrationcenter.intel.com/RegCenter/NComForm.aspx?ProductID=1461&pass=yes,会发一个邮件给你下载链接,可以下载试用版本,放在HOME文件夹。(序列号NBJN-JH2S8X57)
    解压缩后,若没有权限的话,加执行权限(方法同cuda相同): 
    开始安装: 
    sudo ./install_GUI.sh

3,:MKL与CUDA的环境设置

直接在/etc/ld.so.conf.d文件夹中添加配置文件的,添加完之后直接输入即可完成lib的链接工作。

新建intel_mkl.conf,然后里面写上:
        /opt/intel/lib/intel64  
        /opt/intel/mkl/lib/intel64  
    新建cuda.conf,里面内容是:
        /usr/local/cuda/lib64  
        /lib

sudo ldconfig -v

4:OPENCV安装

首先先下载大神脚本https://github.com/jayrambhia/Install-OpenCV,继续放在HOME中。
    sudo ./dependencies.sh  
    由于习惯性使用2.4.8,所以进入2.4文件夹,然后执行对应的安装文件,然后就安装完成了。

sudo ./opencv2_4_8.sh

中间若出现http://sourceforge.net/projects/opencvlibrary 一直链接不上的话,就说明环境已经将该网站地址屏蔽掉了。

方案是拷贝一个已经安装好的把OpenCV-2.4.8.zip(我的是2.4.8)先放在你桌面上,然后执行下面操作  放到/home/yjy/Install-OpenCV-master/Ubuntu/2.4/OpenCV/ 中,

sudo mv /home/yjy/Desktop/OpenCV-2.4.8.zip  /home/yjy/Install-OpenCV-master/Ubuntu/2.4/OpenCV/

在2.4文件夹下新建aa.sh文件,首行写入cd OpenCV

在opencv2_4_8.sh 中找到echo "Installing OpenCV 2.4.8",从这一行到最后的全部内容拷贝到aa.sh中。接下来运行aa.sh即可完成安装。

sudo ./aa.sh

5:安装Google Logging Library (glog)

下载地址是https://google-glog.googlecode.com/files/glog-0.3.3.tar.gz,然后将解压后的glog-0.3.3放于主目录文件夹:
        ./configure  
        sudo make  
        sudo make install  
   安装其他依赖项:一个都不能少

  1. sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev

6、安装Caffe并测试,https://github.com/BVLC/caffe
 切换到Caffe的下载文件夹,然后执行:
    cp Makefile.config.example Makefile.config

修改新生成的Makefile.config文件,修改“BLAS := mkl”,

修改Makefile文件,将BLAS ?= atlas修改为BLAS ?= mkl,不然后面编译会报错(如下面红色字体部分)。

make all
    make test

make runtest

/usr/bin/g++ src/caffe/solver.cpp -pthread -fPIC -DNDEBUG -O2 -I/usr/local/include/python2.7 -I/usr/local/lib/python2.7/dist-packages/numpy/core/include -I/usr/local/include -Ibuild/src -I./src -I./include -I/usr/local/cuda/include -c -o build/src/caffe/solver.o
In file included from ./include/caffe/util/math_functions.hpp:12:0,
                 from src/caffe/solver.cpp:13:
./include/caffe/util/mkl_alternate.hpp:13:19: fatal error: cblas.h: No such file or directory
compilation terminated.

出错例子

7、使用MNIST数据集进行测试
Caffe默认情况会安装在$CAFFE_ROOT,就是解压到那个目录,例如:$ home/yjye/caffe-master。具体设置请参考官网:http://caffe.berkeleyvision.org/gathered/examples/mnist.html
  数据预处理
具体操作如下:
  cd data/mnist
  ./get_mnist.sh

重建LDB文件,就是处理二进制数据集为Caffe识别的数据集,以后所有的数据,包括jpg文件都要处理成这个格式

cd examples/mnist

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64

./create_mnist.sh

将mnist数据集转化为leveldb文件,生成mnist-train-leveldb/ 和 mnist-test-leveldb/文件夹

../../build/examples/mnist/convert_mnist_data.bin: error while loading shared libraries: libglog.so.0: cannot open shared object file: No such file or directory

  1. sudo su
  2. cat /etc/ld.so.conf
  3. echo "/usr/local/lib" >> /etc/ld.so.conf
  4. ldconfig

训练mnist
  cd examples/mnist

./train_lenet.sh

在运行最后一步时出错

yjy@ThinkPad:~/caffe-master/examples/mnist$ ./train_lenet.sh
../../build/tools/train_net.bin: error while loading shared libraries: libmkl_rt.so: cannot open shared object file: No such file or directory。

后来发现此文件在/opt/intel/mkl/lib/intel64/ 中,要将此路径加入共享文件库

参照http://blog.chinaunix.net/uid-26212859-id-3256667.html

# cat /etc/ld.so.conf
include ld.so.conf.d/*.conf
# echo "/opt/intel/mkl/lib/intel64/" >> /etc/ld.so.conf
# ldconfig

即可。最终结果附图

新版的caffe要增加一些东西

  1. sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev

ubuntu12.04下增加

  1. # glog
  2. wget https://google-glog.googlecode.com/files/glog-0.3.3.tar.gz
  3. tar zxvf glog-0.3.3.tar.gz
  4. cd glog-0.3.3
  5. ./configure
  6. make && make install
  7. # gflags
  8. wget https://github.com/schuhschuh/gflags/archive/master.zip
  9. unzip master.zip
  10. cd gflags-master
  11. mkdir build && cd build
  12. export CXXFLAGS="-fPIC" && cmake .. && make VERBOSE=1
  13. make && make install
  14. # lmdb
  15. git clone git://gitorious.org/mdb/mdb.git
  16. cd mdb/libraries/liblmdb
  17. make && make install

ubuntu14.04下增加

    1. sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler

ubuntu12.04+cuda6.0+caffe(新版)的安装的更多相关文章

  1. ubuntu12.04+cuda6.0+opencv2.4.9

    更新了cuda之后,opencv的gpu模块又要重新编译了,这个地方有一个疑问,我对cuda6.0装了两次,第一次装好之后,没有配一个bumblebee,重装了cuda6.0之后,发现原来编译的ope ...

  2. Ubuntu12.04+OpenERP7.0安装笔记

    不经意的一次看到OpenERP这个开源ERP,就被其丰富的功能,简洁的画面,熟悉的语言所吸引.迫不及待的多方查询资料,自己架设一个测试环境来进行了解.以下为测试安装时候的步骤说明,以备查询,并供有需要 ...

  3. ubuntu-12.04.1-desktop-x64下JDK环境的安装与配置

    1.上oracle官网下载最新的JDK.在这里,我的系统是ubuntu-12.04.1-desktop-amd64,目前位置JDK的最新版本位7u9.jdk-for-linux有两种安装包,一种是rp ...

  4. ubuntu18.04+ cuda9.0+opencv3.1+caffe-ssd安装

    详细Ubuntu18.04,CUDA9.0,OpenCV3.1,Tensorflow完全配置指南 问题1:使用Cmake编译opencv源码 CMake Error: The following va ...

  5. ubuntu16.04+cuda8.0+caffe

    =========== 如果出现nvidia-smi failed to communicate with nvidia driver,循环登录情况,则: sudo apt-get remove -- ...

  6. ubuntu12.04下一个简单的conky安装

    这个conky用一些漂亮的圆圈来显示cpu,时钟,内存,交换空间,硬盘信息,网络及天气信息(不需要登陆任何网站噢).而且,提供多种色彩方案供选择,带发行版标记(fedora,mint,debian,o ...

  7. ubuntu12.04:Mysql数据库:手动安装

    首先到mysql的下载中心上下载最新的tar.gz包: 1.在浏览器中输入http://www.mysql.com/downloads/ 进入mysql的下载中心,在这里有使用mysql开发的一些工具 ...

  8. ubuntu12.04:Mysql数据库:自动安装

    打开终端,输入下面命令: 1 sudo apt-get install mysql-server 2 sudo apt-get install mysql-client 一旦安装完成,MySQL 服务 ...

  9. 在win7_64bit + ubuntu-12.04-desktop-amd64+VMware-workstation-full-10.0.1-1379776平台上安装ns-allinone-2.35

    step1.  ns-allinone-2.35的下载地址:http://www.isi.edu/nsnam/ns/ns-build.html#allinone step2.  在虚拟机中打开term ...

随机推荐

  1. BZOJ3419[POI2013]taxis——贪心

    题目大意: 一条线段有三个点,0为初始位置,d为出租车总部位置,m为家的位置,人要叫车,有n辆车可以提供,每辆车有一个路程上限,并且都从车站出发,叫的车行驶之后不必须回到车站,问最少叫几辆车. 一定能 ...

  2. Codeforces960G Bandit Blues 【斯特林数】【FFT】

    题目大意: 求满足比之前的任何数小的有A个,比之后的任何数小的有B个的长度为n的排列个数. 题目分析: 首先写出递推式,设s(n,k)表示长度为n的排列,比之前的数小的数有k个. 我们假设新加入的数为 ...

  3. python3网络爬虫(2.1):爬取堆糖美女

    额,明明记得昨晚存了草稿箱,一觉醒来没了,那就简写点(其实是具体怎么解释我也不太懂/xk,纯属个人理解,有错误还望指正) 环境: 版本:python3 IDE:pycharm2017.3.3 浏览器: ...

  4. 【BZOJ4671】异或图(斯特林反演)

    [BZOJ4671]异或图(斯特林反演) 题面 BZOJ Description 定义两个结点数相同的图 G1 与图 G2 的异或为一个新的图 G, 其中如果 (u, v) 在 G1 与 G2 中的出 ...

  5. 自学工业控制网络之路1.6-典型的现场总线介绍Interbus

    返回 自学工业控制网络之路 自学工业控制网络之路1.6-典型的现场总线介绍Interbus 1987年正式公布,其主要技术开发者为德国的PhoenixContact公司.1996年,INTERBUS成 ...

  6. 【转】Context Switches上下文切换性能详解

    http://blog.csdn.net/aiai5251/article/details/50015745 Context Switches 上下文切换,有时也被称为进程切换(process swi ...

  7. Spring Cloud(四) --- config

    Spring Cloud Config 随着线上项目变的日益庞大,每个项目都散落着各种配置文件,如果采用分布式的开发模式,需要的配置文件随着服务增加而不断增多.某一个基础服务信息变更,都会引起一系列的 ...

  8. java date总结

    Java 8 中 Date与LocalDateTime.LocalDate.LocalTime互转   Java 8中 java.util.Date 类新增了两个方法,分别是from(Instant ...

  9. SqlServer存储过程详解

    SqlServer存储过程详解 1.创建存储过程的基本语法模板: if (exists (select * from sys.objects where name = 'pro_name')) dro ...

  10. 迅雷thunder://协议解密

    echo -n 'thunder://''Cg==' | sed 's?thunder://??' | base64 -d | sed 's/^AA//; s/ZZ$//' 将thunder://替换 ...