原文出处:http://www.cnblogs.com/jacklu/p/6377820.html

个人知乎主页欢迎关注:https://www.zhihu.com/people/jack_lu,相信我会提供高质量的timeline。

“站在岸上学不会游泳。”看了各种深度学习的新闻、有意思的paper,要开始搭建深度学习环境入坑了。昨天看到一视频展现了tensorflow在Android平台上的应用,感觉潜力巨大,所以选择了tensorflow。

结合几篇安装博客总结了安装方法,可能是最简便的一种了~

笔记本Y430p 显卡GTX850M

操作系统Ubuntu 16.04(经本人测试 14.04 14.10 15.04 15.10 对双显卡的支持都不是特别好)安装好后建议关掉所有更新选项。

python版本 2.7

1、首先保证安装好NVIDIA驱动。如下图所示:

2、安装CUDA

sudo apt-get update
sudo apt-get install nvidia-cuda-toolkit

默认安装cuda 7.5.18 安装之后,是没有/usr/local/cuda*这个文件夹,也没有sample的

3、由于Ubuntu16.04的gcc和g++都是5.0版的,不兼容CUDA7.5版本,需要降级

sudo apt-get install gcc-4.9 g++-4.9
cd /usr/bin
sudo rm gcc
sudo rm g++
sudo ln -s gcc-4.9 gcc
sudo ln -s g++-4.9 g++

4、安装cudnn

下载cudnn 5.0 for cuda7.5 需要nvidia的开发者帐号登录


解压

tar -zxf cudnn-7.5-linux-x64-v5.-ga.tgz

cd cuda

复制头文件到/usr/local/include

sudo cp include/cudnn.h /usr/local/include/

复制lib文件到/usr/local/lib

sudo cp lib64/* /usr/local/lib/

并编辑~/.bashrc 添加环境变量

export LD_LIBRARY_PATH=/usr/local/lib

5、安装theano

sudo apt-get install python-numpy python-scipy python-dev python-pip python-nose python-mock python-wheel g++ libopenblas-dev git
sudo pip install Theano

编辑配置文件

sudo gedit ~/.theanorc

加入

[global]
device = gpu
floatX = float32
[nvcc]
flags=-D_FORCE_INLINES

注意有符号-

测试,注意cuDNN版本5005

6、安装tensorflow

根据自己的实际情况参照官网的这张表选择适合的下载链接。

# Ubuntu/Linux -bit, CPU only, Python 2.7
export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.9.0-cp27-none-linux_x86_64.whl # Ubuntu/Linux -bit, GPU enabled, Python 2.7
# Requires CUDA toolkit 7.5 and CuDNN v4. For other versions, see "Install from sources" below.
export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.9.0-cp27-none-linux_x86_64.whl # Mac OS X, CPU only, Python 2.7:
export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/mac/tensorflow-0.9.0-py2-none-any.whl # Ubuntu/Linux -bit, CPU only, Python 3.4
export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.9.0-cp34-cp34m-linux_x86_64.whl # Ubuntu/Linux -bit, GPU enabled, Python 3.4
# Requires CUDA toolkit 7.5 and CuDNN v4. For other versions, see "Install from sources" below.
export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.9.0-cp34-cp34m-linux_x86_64.whl # Ubuntu/Linux -bit, CPU only, Python 3.5
export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.9.0-cp35-cp35m-linux_x86_64.whl # Ubuntu/Linux -bit, GPU enabled, Python 3.5
# Requires CUDA toolkit 7.5 and CuDNN v4. For other versions, see "Install from sources" below.
export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.9.0-cp35-cp35m-linux_x86_64.whl # Mac OS X, CPU only, Python 3.4 or 3.5:
export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/mac/tensorflow-0.9.0-py3-none-any.whl

我在这里选择 64-bit GPU Python 2.7

export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.9.0-cp27-none-linux_x86_64.whl

然后根据自己情况选择

# Python
pip install --upgrade $TF_BINARY_URL # Python
pip3 install --upgrade $TF_BINARY_URL

我在这里选择Python 2

pip install --upgrade $TF_BINARY_URL

测试Tensorflow是否安装成功并使用了CUDA,依次执行以下python代码

import tensorflow as tf
a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name='a')
b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2], name='b')
c = tf.matmul(a, b)
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
print sess.run(c)

实验结果如下,表示安装成功!可以开始新的征程啦~

remark:

cudnn version should be 5.1

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

export CUDA_HOME=/usr/local/cuda

参考资料:

https://zhuanlan.zhihu.com/p/23042536?refer=tomasen

https://www.zhihu.com/question/48027732?from=profile_question_card

http://www.ifcoder.us/2003

双显卡笔记本安装CUDA+theano、tensorflow环境的更多相关文章

  1. 【原】Ubuntu ATI/Intel双显卡 驱动安装

    本文只针对含有AMD双显卡的部分机型,已经测试过的包括DELL Vostro 3550/DELL Inspiron 14R (AMD 6630 和 Intel HD 3000).整个安装过程需要使用命 ...

  2. win10使用笔记本自带显卡GUP安装CUDA,版本问题

    1.GPU算力问题 查询:win+r, GPU:GeForce GTX 850m,算力5.0,还可以跑得起来深度项目 2.我们需要查看NVIDIA驱动版本,才能安装合适的CUDA版本. 在C:\Pro ...

  3. NVIDIA显卡笔记本安装ubuntu驱动以及分辨率之详解

    随着对ubuntu的了解,突然想在自己的笔记本上装一个双系统.在网上查了安装方法之后,发现因为nvidia显卡的原因会出现一些问题,结果在我自己装了之后发现问题要比看到的多,再看了无数个帖子之后,最终 ...

  4. Ubuntu16.04 安装Tensorflow1.7过程记录二:安装CUDA及Tensorflow

    参考 How to install Tensorflow 1.7.0 using official pip package 其中的CUDNN应该改为7.05for CUDA9.0 后面安装的spyde ...

  5. 【tensorflow使用笔记一】:安装linux下tensorflow环境的问题

    首先安装Python Python2.7 使用pip安装Python-numpy发现有老版本影响import直接手动删除: 安装default-jdk顺利: 安装matplotlib发现没有tkint ...

  6. Ubuntu Gnome16.04下安装cuda、theano和opencv

    1. 安装显卡驱动 ~$ lspci | grep controller00:02.0 VGA compatible controller: Intel Corporation Sky Lake In ...

  7. 【视频开发】【计算机视觉】doppia编译之一:前言及安装CUDA

    最近做一个"高清视频人流量检测"的项目,由于对实时性要求较高,我们需要较快的检测速度.在搜索茫茫"论"海后,我在"The Fastest Deform ...

  8. 解决Ubuntu16的风扇高速旋转问题(双显卡)

    问题描述 自从我的双显卡的笔记本装上Ubuntu 14 后,风扇狂转.发热巨大.网上一搜索估计是显卡驱动不太行.最近英伟达的Nvidia Prime可以完美地切换双显卡,安装这个软件后,风扇就不会狂转 ...

  9. 在 Ubuntu16.04上安装anaconda+Spyder+TensorFlow(支持GPU)

    TensorFlow 官方文档中文版 http://www.tensorfly.cn/tfdoc/get_started/introduction.html https://zhyack.github ...

随机推荐

  1. php中print_r 和var_dump 打印变量的区别。

    <?php $arr = array(true); var_dump($arr); echo "<br/>"; print_r($arr); 结果如下: 说明 p ...

  2. Linux挂在ntfs格式的U盘

    工作中遇到linux系统 Red Hat Enterprise5.7 挂载希捷ntfs格式移动硬盘,会跳出一个ERROR提示框:The volume ‘EAGET-NQH’user the ntfs ...

  3. [iOS]使用signal让app能够在从容崩溃

    前言 虽然大家都不愿意看到程序崩溃,但可能崩溃是每个应用必须面对的现实,既然崩溃已经发生,无法阻挡了,那我们就让它崩也崩得淡定点吧. iOS SDK中提供了一个现成的函数 NSSetUncaughtE ...

  4. CodeForces 622C Not Equal on a Segment

    预处理p[i],p[i]表示:[p[i],i]这段闭区间上所有数字都是a[i] 询问的时候,如果xi==a[ri]并且p[ri]<=li,一定无解 剩下的情况都是有解的,如果xi!=a[ri], ...

  5. HTML学习(四)样式

    通过使用 HTML4.0,所有的格式化代码均可移出 HTML 文档,然后移入一个独立的样式表. 实例:例1:本例演示如何使用添加到 <head> 部分的样式信息对 HTML 进行格式化.& ...

  6. Xcode各版本官方下载

    官方下载, 用开发者账户登录,建议用Safari浏览器下载. 官方下载地址: https://developer.apple.com/xcode/downloads/ Xcode 66.4: http ...

  7. 企业建站http://www.douco.com/

    http://www.douco.com/ 非常方便的,搭建简单的企业网站

  8. Oracle数据库中的函数

    1.随机数函数:DBMS_RANDOM.RANDOM )) FROM DUAL; --产生一个100以内的随机数 *dbms_random.value) FROM dual; --产生一个100-10 ...

  9. UVa 10716 - Evil Straw Warts Live

    题目大意:给一个字符串,判断是否能通过交换字母构成回文,如果能,计算所需的最小交换次数. 如果字符串中出现奇数次的字母的个数>1,则不能构成回文.然后...就没思路了...看网上说用贪心的思想先 ...

  10. 基因探针富集分析(GSEA)& GO & pathway

    http://blog.sina.com.cn/s/blog_4c1f21000100utyx.html GO是Gene Ontology的简称,是生物学家为了衡量基因的功能而而发起的一个项目,从分子 ...