首先说明,这是在笔记本上的安装测试经历,首先安装的win10,然后安装ubuntu16.04双系统,显卡为nvidia gt740m
win10上没有装nvidia gt740m驱动,也就是用的集显,测试发现若装了nvidia gt740m驱动会无法进去ubuntu,重装无数次的经验


废话不多说,上车吧,少年

一、安装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

  3. 进入ubuntu系统设置-软件与更新-附加驱动中选择下图所示选项进行驱动安装

    gt740m驱动测试

    nvidia-smi
    显示效果如下图表示安装成功



二、cuda安装
  1. 下载cuda_7.5.18_linux.run和cudnn-7.5-linux-x64-v5.1.tgz

    这里我提供了百度网盘,这两个文件我先在win10下下载好,并用u盘拷贝到ubuntu的下载目录下

  2. 安装cuda7.5

    cd 下载/
    sh cuda_7.5.18_linux.run --override
    启动安装程序,一直按空格到最后,输入accept接受条款
    输入n不安装nvidia图像驱动,之前已经安装过了
    输入y安装cuda 7.5工具
    回车确认cuda默认安装路径:/usr/local/cuda-7.5
    输入y用sudo权限运行安装,输入密码
    输入y或者n安装或者不安装指向/usr/local/cuda的符号链接
    输入y安装CUDA 7.5 Samples,以便后面测试
    回车确认CUDA 7.5 Samples默认安装路径:/home/pawn(pawn是我的用户名),该安装路径测试完可以删除

  3. 安装cudnn v5.1

    tar zxvf cudnn-7.5-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*给所有用户增加这些文件的读权限

  4. 建立软链接

    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
    设置环境变量,终端输入
    sudo gedit /etc/profile
    在末尾加入
    PATH=/usr/local/cuda/bin:$PATH
    export PATH
    保存后,创建链接文件
    sudo vim /etc/ld.so.conf.d/cuda.conf
    按a进入插入模式,增加下面一行
    /usr/local/cuda/lib64
    按esc退出插入模式,按:wq保存退出
    最后在终端输入sudo ldconfig使链接生效

  5. cuda Samples测试

    打开CUDA 7.5 Samples默认安装路径,终端输入
    cd /home/pawn/NVIDIA_CUDA-7.5_Samples(pawn是我的用户名)
    sudo make all -j4(4核)
    出现“unsupported GNU version! gcc versions later than 4.9 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寻找有“4.9”的地方,只有一处,如下
    # if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MInor__ > 9)
    #error -- unsupported GNU version! gcc versions later than 4.9 are not supported!
    将两个4改成5,即
    # if __GNUC__ > 5 || (__GNUC__ == 5 && __GNUC_MInor__ > 9)
    保存退出,继续在终端输入
    sudo make all -j4(4核)
    完成后继续向终端输入
    cd bin/x86_64/linux/release
    ./deviceQuery
    完成之后出现如下图所示,表示成功安装cuda



三、依赖包安装

  1. sudo apt-get install build-essential#必要的编译工具依赖

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

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

  4. sudo apt-get install libatlas-base-dev

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



  1. 安装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



  1. 安装科学计算和python所需的部分库

    sudo apt-get install libblas-dev liblapack-dev libatlas-base-dev gfortran python-numpy



  1. 安装git,拉取源码

    sudo apt-get install git
    git clone https://github.com/BVLC/caffe.git



  1. 安装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模式



八、编译caffe(暂不对matlab说明)
  1. cd /home/pawn/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的错误

  2. make all -j4
    make过程中出现string.h ‘memcy’ was not declared in this scope的错误是由于gcc编译器版本太新,如下图


    解决方法如下:
    终端输入
    vim Makefile
    键盘输入/NVCCFLAGS += -c回车,定位到409行
    按a进入插入模式,修改
    NVCCFLAGS += -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)

    NVCCFLAGS += -D_FORCE_INLInes -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)
    按esc退出插入模式,按:wq保存退出

    终端中输入make clean清除第一次编译结果
    再次输入make all -j4重新编译
    make过程中又出现找不到lhdf5_hl和lhdf5的错误,
    解决方案:
    在计算机中搜索libhdf5_serial.so.10.1.0,找到后右键点击打开项目位置
    该目录下空白处右键点击在终端打开,打开新终端输入
    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 all -j4重新编译

  3. make test -j4
    make runtest -j4
    make pycaffe -j4
    make distribute生成发布安装包

  4. 测试python,终端输入
    cd /home/pawn/caffe/python
    python
    import caffe
    如果不报错就说明编译成功



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

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

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

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

  5. 训练mnist,执行文件在/caffe/examples/mnist/train_lenet.sh
    终端输入
    ./examples/mnist/train_lenet.sh
    测试结果如下

ubuntu16.04+nvidia gt740m+cuda7.5+caffe安装、测试经历的更多相关文章

  1. PyTorch实现MNIST数据集手写数字识别详情

    这篇文章主要介绍了PyTorch实现MNIST数据集手写数字识别详情,文章围绕主题展开详细的内容戒杀,具有一定的参考价值,需要的朋友可以参考一下

  2. pytorch实现mnist手写彩色数字识别

    这篇文章主要介绍了pytorch-实现mnist手写彩色数字识别,文章围绕主题展开详细的内容姐介绍,具有一定的参考价值,需要的小伙伴可以参考一下

  3. PyTorch中的CUDA的操作方法

    这篇文章主要介绍了PyTorch中的CUDA的操作方法,CUDA是NVIDIA推出的异构计算平台,PyTorch中有专门的模块torch.cuda来设置和运行CUDA相关操作,更多相关介绍,需要的朋友可以查看下面文章内容

  4. 是否可以在另一个GPU(2 GPU系统)中处理数据

    我的算法需要对每个相机的数据进行长期处理,因此每个相机都需要访问相同的GPU内存问题在一个GPU中处理4个摄像头可能会导致内存不足。所以,我认为一个GPU只能处理两个摄像头。但在第一时间,如果cam3在GPU0处被处理,则cam3数据不能在GPU1处处理。我想将cam3数据从GPU0复制到GPU1,但它并没有那么小,所以看起来效率很低。是否可以在GPU1上使用GPU0数据进行处理而无需内存?我在CUDA方面很短,所以如果有好的关键词来解决这个问题,请告诉我。

  5. 如何编写CUDA内核来加速python代码

    几周来,我一直在学习python作为我的第一种编程语言。我决定用Numba编写一个乐透模拟。该代码在我的CPU上每秒大约250k次迭代时运行得很好。我真的很想看看它是如何在我的英伟达GPU上运行的,但我有点力不从心。如果有人能帮我一把,我将非常感激。我想我应该能够运行float16,因为数字并不复杂。此外,@vectorize似乎很重要。但是,老实说,我在踩水。

  6. 为什么cuGraphAddMemCopyNode已经获得了两个上下文,却需要额外的上下文?

    考虑CUDA图形API函数在此描述。它采用的CUDA_MEMCPY3D结构是一组非常广泛的参数。实际上,它包含两个上下文句柄字段:srcContext和dstContext,用于定义源和目标内存区域或数组的上下文。然而,该函数需要额外的第三个上下文句柄。但是,这意味着什么?节点是一个图,它通过具有上下文的流启动。除此之外,为什么这很重要?两个端点上下文应该足以让CUDA驱动程序执行复制。虽然大多数节点插入API函数都没有?

  7. caffe的python接口之手写数字识别mnist实例

    这篇文章主要为大家介绍了caffe的python接口之手写数字识别mnist实例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  8. windows – 未检测到支持CUDA的设备

    我是CUDA编程的新手,我完全陷入困境.当我尝试运行提供的deviceQuery实用程序或其中一个示例应用程序时,我收到以下错误:我使用的是Windows7,64位.我安装了VisualStudio2012,然后安装了CUDA5.064位.我的显卡是NVIDIAGeForceGTS250.今天我去了NVIDIA网站并重新安装了该卡的最新驱动程序.除了“确保安装了正在运行的驱动程序”之外,我在Win

  9. 如何在Windows上模拟CUDA

    有没有什么方法可以从没有NVIDIA显卡的电脑上测试CUDA样品和代码?

  10. windows – 安装Tensorflow的问题 – 不是CUDA / CuDNN问题

    我最近开始进入Tensorflow,但我遇到了安装问题.每次我尝试导入它时,我都会收到以下错误我查看了与我有同样问题的其他堆栈溢出帖子,他们建议从NVIDIA获取CUDA库.问题是,我既没有NVIDIA显卡也没有GPU版本的张量流,所以我不认为这是问题所在.还有一些建议可以确保安装VisualStudio的Microsoft可再发行组件.如果这是一个基于系统变量的问题,我很感激帮助改变系统变量,因为我是新手.谢谢!

随机推荐

  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

返回
顶部