zoukankan      html  css  js  c++  java
  • ubuntu下tensorflow-gpu的安装

    ubuntu 16.04

    lspci | grep -i nvidia  #确认是nvidia显卡
    uname -m && cat /etc/*release #确认是x86_64
    gcc --version #确认gcc安装好了
    sudo apt-get install linux-headers-$(uname -r) #安装kernel header

    以上nvidia官网推荐,可不做。

    1.更新nvidia显卡驱动至最新版本

    2.安装CUDA8.0

    从https://developer.nvidia.com/cuda-toolkit-archive下载CUDA Toolkit 8.0 GA2 (Feb 2017)以及补丁文件,一定用md5sum验证一下

    sudo dpkg -i cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64.deb
    sudo apt-get update
    sudo apt-get install cuda
    sudo dpkg -i cuda-repo-ubuntu1604-8-0-local-cublas-performance-update_8.0.61-1_amd64.deb

    添加环境变量到.bashrc文件,并source一下

    export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}
    export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64
                             ${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

    最后用 nvidia-smi验证是否安装成功

    3.安装cuDNN6.0

    官网下载三个文件后,进行安装

    sudo dpkg -i libcudnn6_6.0.21-1+cuda8.0_amd64.deb
    sudo dpkg -i libcudnn6-dev_6.0.21-1+cuda8.0_amd64.deb
    sudo dpkg -i libcudnn6-doc_6.0.21-1+cuda8.0_amd64.deb

    并验证,若出现Test passed则安装成功

    cp -r /usr/src/cudnn_samples_v6/ $HOME
    cd $HOME/cudnn_samples_v7/mnistCUDNN
    make clean && make
    ./mnistCUDNN

    4.安装相关library

    sudo apt-get install libcupti-dev

    5.tensorflow-gpu安装

    sudo apt-get install python3-pip python3-dev python-virtualenv # for Python 3.n
    virtualenv --system-site-packages -p python3 ~/envs/tfgpu # for Python 3.n
    source ~/envs/tfgpu/bin/activate
    pip3 install --upgrade tensorflow-gpu

    可以把alias tfgpu='source ~/envs/tfgpu/bin/activate'添加到.bashrc
    pip3安装的时候不用sudo,否则会安装到系统文件里,不在virtualenv里
    可以先用pip3 install --upgrade,把pip3的版本刷高
    安装的时候pip3 install --upgrade 后面可以直接加上下载的whl文件

    6.测试

    # Python
    import tensorflow as tf
    hello = tf.constant('Hello, TensorFlow!')
    sess = tf.Session()
    print(sess.run(hello))

    在测试mnist的deep训练时候,若出现内存不够,则要在test中分几个batch。

  • 相关阅读:
    一笔期货成交的始末(可能有问题)
    tcp心跳模型
    spring boot 2.0 启动监控端点的方法(spring-boot-starter-actuator)
    netty channel的线程安全性与@Sharable
    为什么使用https
    angularjs post 跨域 Request header field Content-Type is not allowed by Access-Control-Allow-Headers in preflight response.
    http的keep-alive和tcp的keepalive区别
    最大公约数 最小公倍数--------专题
    hdu 2024 C语言合法标识符
    hdu 2025 查找最大元素
  • 原文地址:https://www.cnblogs.com/medsci/p/8137563.html
Copyright © 2011-2022 走看看