参照两位的博客

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. Layui_2.x_上传插件使用

    一.上传类 package com.ebd.application.common.utils; import java.awt.geom.AffineTransform; import java.aw ...

  2. maven-assembly-plugin把java工程打包成为一个可执行的jar包

    用Java写了一个小工具,使用maven java 工程.写完后,想打包成一个可执行的jar包. 使用maven的插件maven-assembly-plugin pom.xml里添加 <buil ...

  3. BZOJ4832[Lydsy1704月赛]抵制克苏恩——期望DP

    题目描述 小Q同学现在沉迷炉石传说不能自拔.他发现一张名为克苏恩的牌很不公平.如果你不玩炉石传说,不必担心,小Q 同学会告诉你所有相关的细节.炉石传说是这样的一个游戏,每个玩家拥有一个 30 点血量的 ...

  4. BZOJ1906树上的蚂蚁&BZOJ3700发展城市——RMQ求LCA+树链的交

    题目描述 众所周知,Hzwer学长是一名高富帅,他打算投入巨资发展一些小城市. Hzwer打算在城市中开N个宾馆,由于Hzwer非常壕,所以宾馆必须建在空中,但是这样就必须建立宾馆之间的连接通道.机智 ...

  5. BZOJ2144跳跳棋——LCA+二分

    题目描述 跳跳棋是在一条数轴上进行的.棋子只能摆在整点上.每个点不能摆超过一个棋子.我们用跳跳棋来做一个简单的 游戏:棋盘上有3颗棋子,分别在a,b,c这三个位置.我们要通过最少的跳动把他们的位置移动 ...

  6. 聪聪和可可 HYSBZ - 1415(概率 + spfa + 记忆化dp)

    Input 数据的第1行为两个整数N和E,以空格分隔,分别表示森林中的景点数和连接相邻景点的路的条数. 第2行包含两个整数C和M,以空格分隔,分别表示初始时聪聪和可可所在的景点的编号. 接下来E行,每 ...

  7. python3.5 opencv3显示视频fps

    由于要进行多路视频的处理,所以fps就很重要 fps介绍 模板: 1.获取某一时刻的fps import time while True: start_time = time.time() # sta ...

  8. 删除linux下的指定文件

    要求:删除linux下2天前的指定文件 find 文件问题:在 tmp 目录下有大量包含 picture_* 的临时文件,每天晚上 2:00 对一天前的文件进行清理.之前在 crontab 下跑如下脚 ...

  9. 算法学习——决策单调性优化DP

    update in 2019.1.21 优化了一下文中年代久远的代码 的格式…… 什么是决策单调性? 在满足决策单调性的情况下,通常决策点会形如1111112222224444445555588888 ...

  10. php laravel 多条件筛选

    效果如图,点击的条件出现在已选择的地方,点击已选择的条件可以删除当前点击的条件 语言是php 框架是laravel. 一.html <div class="doctor-conditi ...