首先说明,我的机器是win10+ubuntu16.04 显卡是1060.

一、安装nvidia显卡驱动

    1.进入ubuntu系统设置-软件与更新-ubuntu软件,使用的是中科大的源:http://mirrors.ustc.edu.cn/ubuntu,

    2.更新Ubuntu16.04源

    终端输入
    cd /etc/apt/
    sudo cp sources.list sources.list.bak
    sudo vi sources.list
    把下面的这些源添加到source.list中:
    deb http://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiverse
    deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
    deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
    deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
    deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
    deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiverse
    deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
    deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
    deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
    deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
    最后更新源和更新已安装的包:
    终端输入
    sudo apt-get update
    sudo apt-get upgrade

    进入ubuntu系统设置-软件与更新-附加驱动中选择下图所示选项进行驱动安装,完成图片设置之后需要重启

3.驱动测试

在终端输入如下命令,显示如图所示则表示安装成功。请保证nvidia驱动安装成功,否则最终结果会受到影响。(注意:这里是针对使用GPU的,如果是cpu模式可以不装。但是搞深度学习,建议使用高性能的设备。)
nvidia-smi
二、cuda安装
    前言:cuda的版本和nvidia的版本是想配合的,对应于nvidia的版本选择合适的cuda版本。下面开始后续步骤:
    1.下载cuda_8.0.27_linux.run和cudnn-8.0-linux-x64-v5.1.tgz

我的百度网盘:https://pan.baidu.com/s/1i515khB#list/path=%2F

2. 安装cuda8.0

    终端输入
cd 下载/
    sh cuda_8.0.27_linux.run --override
启动安装程序,一直按空格到100%,输入accept接受条款
    输入n不安装nvidia图像驱动,之前已经安装过了(如果之前nvidia驱动木有安装成功,也可以试着接受~)
    输入y安装cuda 8.0工具
    回车确认cuda默认安装路径:/usr/local/cuda-8.0
    输入y用sudo权限运行安装,输入密码
    输入y或者n安装或者不安装指向/usr/local/cuda的符号链接
    输入y安装CUDA 8.0 Samples,以便后面测试
    回车确认CUDA 8.0 Samples默认安装路径:/home/caijiao(记得修改你的名字哦~),该安装路径测试完可以删除

    2. 安装cudnn v5.1

    终端输入
cd 下载/
    tar zxvf cudnn-8.0-linux-x64-v5.1.tgz
解压在下载目录下产生一个cuda目录
cd cuda/include/
    sudo cp cudnn.h /usr/local/cuda/include/ 复制头文件
    cd ../lib64 打开lib64目录
    sudo cp lib* /usr/local/cuda/lib64/ 复制库文件
    sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*  给所有用户增加这些文件的读权限
3. 建立软链 终端输入
cd /usr/local/cuda/lib64/
    sudo rm -rf libcudnn.so libcudnn.so.5
    sudo ln -s libcudnn.so.5.1.3 libcudnn.so.5
    sudo ln -s libcudnn.so.5 libcudnn.so
4. 设置环境变量,终端输入
sudo gedit /etc/profile
在末尾加入
PATH=/usr/local/cuda/bin:$PATH
    export PATH
保存后,创建链接文件(或用gedit命令)
sudo vim /etc/ld.so.conf.d/cuda.conf
按a进入插入模式,增加下面一行
/usr/local/cuda/lib64
按esc退出插入模式,按:wq保存退出
    最后在终端输入 sudo ldconfig 使链接生效

   5. cuda Samples测试

    打开CUDA8.0Samples默认安装路径,终端输入
cd /home/caijiao/NVIDIA_CUDA-8.0_Samples 
   sudo make all -j4 (4核)
注意:如果出现“unsupported GNU version! gcc versions later than 5.3 are not supported!”的错误,这是由于GCC版本过高,在终端输入
    cd /usr/local/cuda-7.5/include
    sudo cp host_config.h host_config.h.bak
    sudo gedit host_config.h
    ctrl+f寻找有“5.3”的地方,只有一处,如下
    # if __GNUC__ > 5 || (__GNUC__ == 5 && __GNUC_MInor__ > 9)
    #error -- unsupported GNU version! gcc versions later than 5.3 are not supported!
    将两个5改成6,即
    # if __GNUC__ > 6 || (__GNUC__ == 6 && __GNUC_MInor__ > 9)
    保存退出,继续在终端输入
cd /home/caijiao/NVIDIA_CUDA-8.0_Samples
    sudo make all -j4 
    cd bin/x86_64/linux/release
    ./deviceQuery
完成之后出现如下图所示,表示成功安装cuda

注意啦:如果没有出现上述“unsupported GNU version! gcc versions later than 5.3 are not supported!”的错误,但是./deviceQuery显示安装成功,也可能需要修改你的host_config.h文件。具体情况视你的gcc版本定,如果是5.3以上,建议修改。不然后面会报告错误的哦~

三、依赖包安装
sudo apt-get install build-essential #必要的编译工具依赖

sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler 

sudo apt-get install --no-install-recommends libboost-all-dev

sudo apt-get install libatlas-base-dev

sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev

注意:上述第二个命令可能会报没有完全安装?建议apt-get update 或者 –fix missing,请更新即执行update命令或独立安装没有安装成功的内容,该命令中涉及的有:protobuf,leveldb,snappy,opencv,hdf5

四、安装python的pip和easy_install,方便安装软件包

    终端输入
cd
    wget --no-check-certificate https://bootstrap.pypa.io/ez_setup.py
    sudo python ez_setup.py --insecure
    wget https://bootstrap.pypa.io/get-pip.py
    sudo python get-pip.py
五、安装科学计算和python所需的部分库

    终端输入
sudo apt-get install libblas-dev liblapack-dev libatlas-base-dev gfortran python-numpy
六、安装git,拉取源码

    终端输入
sudo apt-get install git
    git clone https://github.com/BVLC/caffe.git
七、安装python依赖

    终端输入
sudo apt-get install python-pip 安装pip
    sudo su
    for req in $(cat "requirements.txt"); do pip install -i https://pypi.tuna.tsinghua.edu.cn/simple $req; done
    按Ctrl+D退出sudo su模式

注意:上述第三条命令可能会报木有requirements.txt文件的错误?那么就去caffe目录下面找到它执行啦~

八、编译caffe

    终端输入
cd /home/caijiao/caffe
    cp Makefile.config.example Makefile.config
    gedit Makefile.config
①将USE_CUDNN := 1取消注释,即去掉前面的#号

    ②INCLUDE_Dirs := $(PYTHON_INCLUDE) /usr/local/include 后面打上一个空格 然后添加/usr/include/hdf5/serial如果没有这一句可能会报一个找不到hdf5.h的错误

    终端输入
make all -j4
1.过程中如果出现...未定义...的错误,那么可能是有一些东西入opencv木有安装好,请返回前面相应的步骤安装!
    终端中输入make clean清除第一次编译结果
    再次输入make all -j4重新编译
    2. make过程中又出现找不到lhdf5_hl和lhdf5的错误,
    解决方案:
    在计算机中搜索libhdf5_serial.so.10.1.0,找到后右键点击打开项目位置
    该目录下空白处右键点击在终端打开,打开新终端输入
    或者用命令进入该文件所在目录:cd /usr/lib/x86_64-linux-gnu
    在该目录下执行如下命令:
sudo ln libhdf5_serial.so.10.1.0 libhdf5.so
    sudo ln libhdf5_serial_hl.so.10.0.2 libhdf5_hl.so
最后在终端输入sudo ldconfig使链接生效

    原终端中再次输入make clean清除第一次编译结果
    再次输入make all -j4重新编译

    终端输入
    make test -j4
    make runtest -j4
    make pycaffe -j4
    make distribute 生成发布安装包

    测试python,终端输入
    cd /home/caijiao/caffe/python
    python
    import caffe
    如果不报错就说明编译成功
    if 随便在哪里开启一个终端 python后import caffe 显示木有caffe模块,那么需要简单设置一下:
    source gedit /etc/profile
    文件最后增加:PYTHONPATH=/home/caijiao/caffe/python:$PYTHONPATH
    其中的/home/caijiao/caffe是我的caffe根目录,请修改成你自己的。
    完成之后重启测试,应该可以在任意终端都import caffe 了。
九、mnist测试

    下载mnist数据集,终端输入
    cd /home/caijiao/caffe/data/mnist/
    ./get_mnist.sh 获取mnist数据集
    在/home/caijiao/caffe/data/mnist/目录下会多出训练集图片、训练集标签、测试集图片和测试集标签等4个文件

    mnist数据格式转换,终端输入
cd /home/caijiao/caffe/
    ./examples/mnist/create_mnist.sh
必须要在第一行之后运行第二行,即必须要在caffe根目录下运行create_mnist.sh
    此时在/caffe/examples/mnist/目录下生成mnist_test_lmdb和mnist_train_lmdb两个LMDB格式的训练集和测试集

    LeNet-5模型描述在/caffe/examples/mnist/lenet_train_test.prototxt

    Solver配置文件在/caffe/examples/mnist/lenet_solver.prototxt

    训练mnist,执行文件在/caffe/examples/mnist/train_lenet.sh
    终端输入
cd /home/caijiao/caffe/
    ./examples/mnist/train_lenet.sh
测试结果如下,看到木有99.1%的准确率呢~接下来你就可以训练自己的模型和搭建自己的网络啦~

ubuntu16.04 显卡1060安装caffe的更多相关文章

  1. XCode 3.2 Ruby和Python模板

    在xcode3.2下,我的ObjectiveCPython/Ruby项目仍然可以打开更新和编译,但是你无法创建新项目.鉴于xcode3.2中缺少ruby和python的所有痕迹(即创建项目并添加新的ruby/python文件),是否有一种简单的方法可以再次安装模板?我发现了一些关于将它们复制到某个文件夹的信息,但我似乎无法让它工作,我怀疑文件夹的位置已经改变为3.2.解决方法3.2中的应用程序模板

  2. Swift基本使用-函数和闭包(三)

    声明函数和其他脚本语言有相似的地方,比较明显的地方是声明函数的关键字swift也出现了Python中的组元,可以通过一个组元返回多个值。传递可变参数,函数以数组的形式获取参数swift中函数可以嵌套,被嵌套的函数可以访问外部函数的变量。可以通过函数的潜逃来重构过长或者太复杂的函数。

  3. 10 个Python中Pip的使用技巧分享

    众所周知,pip 可以安装、更新、卸载 Python 的第三方库,非常方便。本文小编为大家总结了Python中Pip的使用技巧,需要的可以参考一下

  4. Swift、Go、Julia与R能否挑战 Python 的王者地位

    本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请发送邮件至dio@foxmail.com举报,一经查实,本站将立刻删除。

  5. 红薯因 Swift 重写开源中国失败,貌似欲改用 Python

    本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请发送邮件至dio@foxmail.com举报,一经查实,本站将立刻删除。

  6. 你没看错:Swift可以直接调用Python函数库

    上周Perfect又推出了新一轮服务器端Swift增强函数库:Perfect-Python。对,你没看错,在服务器端Swift其实可以轻松从其他语种的函数库中直接拿来调用,不需要修改任何内容。以如下python脚本为例:Perfect-Python可以用下列方法封装并调用以上函数,您所需要注意的仅仅是其函数名称以及参数。

  7. Swift中的列表解析

    在Swift中完成这个的最简单的方法是什么?我在寻找类似的东西:从Swift2.x开始,有一些与你的Python样式列表解析相当的东西。(在这个意义上,它更像是Python的xrange。如果你想保持集合懒惰一路通过,只是这样说:与Python中的列表解析语法不同,Swift中的这些操作遵循与其他操作相同的语法。

  8. swift抛出终端的python错误

    每当我尝试启动与python相关的swift时,我都会收到错误.我该如何解决?

  9. 在Android上用Java嵌入Python

    解决方法看看this,它适用于J2SE,你可以尝试在Android上运行.

  10. android – 符合Nvidia Tegra profiler 2.0的移动设备

    解决方法通常任何基于Tegra4和K1的设备都可以工作,但我会推荐Nvidia的Shield/Note用于你的工作,不仅是他们退出便宜,而且他们的机器人留下了很多香草使它更容易使用.还有(可用的)更新策略的优点.

随机推荐

  1. crontab发送一个月份的电子邮件

    ubuntu14.04邮件服务器:Postfixroot收到来自crontab的十几封电子邮件.这些邮件包含PHP警告.>我已经解决了这些警告的原因.>我已修复每个cronjobs不发送电子邮件(输出发送到>/dev/null2>&1)>我删除了之前的所有电子邮件/var/mail/root/var/spool/mail/root但我仍然每小时收到十几封电子邮件.这些电子邮件来自cronjobs,

  2. 模拟两个ubuntu服务器计算机之间的慢速连接

    我想模拟以下场景:假设我有4台ubuntu服务器机器A,B,C和D.我想在机器A和机器C之间减少20%的网络带宽,在A和B之间减少10%.使用网络模拟/限制工具来做到这一点?

  3. ubuntu-12.04 – 如何在ubuntu 12.04中卸载从源安装的redis?

    我从源代码在Ubuntu12.04上安装了redis-server.但在某些时候它无法完全安装,最后一次makeinstallcmd失败.然后我刚刚通过apt包安装.现在我很困惑哪个安装正在运行哪个conf文件?实际上我想卸载/删除通过源安装的所有内容,只是想安装一个包.转到源代码树并尝试以下命令:如果这不起作用,您可以列出软件自行安装所需的步骤:

  4. ubuntu – “apt-get source”无法找到包但“apt-get install”和“apt-get cache”可以找到它

    我正在尝试下载软件包的源代码,但是当我运行时它无法找到.但是当我运行apt-cache搜索squid3时,它会找到它.它也适用于apt-getinstallsquid3.我使用的是Ubuntu11.04服务器,这是我的/etc/apt/sources.list我已经多次更新了.我尝试了很多不同的debs,并没有发现任何其他地方的错误.这里的问题是你的二进制包(deb)与你的源包(deb-src)不

  5. ubuntu – 有没有办法检测nginx何时完成正常关闭?

    &&touchrestarted),因为即使Nginx没有完成其关闭,touch命令也会立即执行.有没有好办法呢?这样的事情怎么样?因此,pgrep将查找任何Nginx进程,而while循环将让它坐在那里直到它们全部消失.你可以改变一些有用的东西,比如睡1;/etc/init.d/Nginx停止,以便它会休眠一秒钟,然后尝试使用init.d脚本停止Nginx.你也可以在某处放置一个计数器,这样你就可以在需要太长时间时发出轰击信号.

  6. ubuntu – 如何将所有外发电子邮件从postfix重定向到单个地址进行测试

    我正在为基于Web的应用程序设置测试服务器,该应用程序发送一些电子邮件通知.有时候测试是使用真实的客户数据进行的,因此我需要保证服务器在我们测试时无法向真实客户发送电子邮件.我想要的是配置postfix,以便它接收任何外发电子邮件并将其重定向到一个电子邮件地址,而不是传递到真正的目的地.我正在运行ubuntu服务器9.10.先感谢您设置本地用户以接收所有被困邮件:你需要在main.cf中添加:然后

  7. ubuntu – vagrant无法连接到虚拟框

    当我使用基本的Vagrantfile,只配置了两条线:我看到我的虚拟框打开,但是我的流氓日志多次显示此行直到超时:然后,超时后的一段时间,虚拟框框终于要求我登录,但是太久了!所以我用流氓/流氓记录.然后在我的物理机器上,如果我“流氓ssh”.没有事情发生,直到:怎么了?

  8. ubuntu – Nginx – 转发HTTP AUTH – 用户?

    我和Nginx和Jenkins有些麻烦.我尝试使用Nginx作为Jenkins实例的反向代理,使用HTTP基本身份验证.它到目前为止工作,但我不知道如何传递带有AUTH用户名的标头?}尝试将此指令添加到您的位置块

  9. Debian / Ubuntu – 删除后如何恢复/ var / cache / apt结构?

    我在ubuntu服务器上的空间不足,所以我做了这个命令以节省空间但是现在在尝试使用apt时,我会收到以下错误:等等显然我删除了一些目录结构.有没有办法做apt-getrebuild-var-tree或类似的?

  10. 检查ubuntu上安装的rubygems版本?

    如何查看我的ubuntu盒子上安装的rubygems版本?只是一个想法,列出已安装的软件包和grep为ruby或宝石或其他:)dpkg–get-selections

返回
顶部