Tensorflow-gpu安装

安装tensorflow-gpu的时候,命令行以管理员的身份打开,不容易出错
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple tensorflow-gpu
系统windows10+显卡1050Ti
tensorflow-gpu1.9+python3.6+cuda9.0+cudnn7.1.4   ( Download cuDNN v7.1.4 (May 16, 2018), for CUDA 9.0 )



 因为想在Tensorflow-gpu 上跑Faster-rcnn,以前在Ubuntu16.04上跑过caffe的faster-rcnn(搭建过程可以参考以前的文章),但是在新的笔记本上装双系统后,在Ubuntu16.04上,显卡驱动始终安装不成功,折腾了两三天没办法,退而求其次,打算在Windows10+Tensorflow-gpu 搭建Faster-rcnn,依然是一路坑,一路泪啊。记录下安装过程,希望以后别再入坑。

    电脑配置(笔记本,think-Pad ):Win10,内存:8G,显卡:GTX1050Ti,2G显存,处理器:intel-i7-7700
    CUDA:9.0版 --cuda_9.0.176_win10(自己用的)

    Cudnn:cuda9.0版对应版本--cudnn-9.0-windows10-x64-v7.1(自己用的)

    tensorFlow官方地址:https://github.com/tensorflow/tensorflow  

    本文使用的tensorflow 最新版本是1.8

一、 Visual Studio 2015安装

  因为如果要使用CUDA,需要Visual Studio,所以什么也别说了先装VS吧。TIPS:因为我自己的电脑已经装过VS2013了,所以这次就没有再装VS2015,在后面搭建Faster-rcnn时遇到一些问题,装了VS2015的运行时解决的。具体参考另一篇文章。

二. Anaconda安装

Anaconda是一个用于科学计算的Python发行版,支持 Linux, Mac, Windows系统,提供了包管理与环境管理的功能,可以很方便地解决多版本python并存、切换以及各种第三方包安装问题。Anaconda利用工具/命令conda来进行package和environment的管理,并且已经包含了Python和相关的配套工具。

conda可以理解为一个工具,也是一个可执行命令,其核心功能是包管理与环境管理。包管理与pip的使用类似,环境管理则允许用户方便地安装不同版本的python并可以快速切换。Anaconda则是一个打包的集合,里面预装好了conda、某个版本的python、众多packages、科学计算工具等等,所以也称为Python的一种发行版。其实还有Miniconda,顾名思义,它只包含最基本的内容——python与conda,以及相关的必须依赖项,对于空间要求严格的用户,Miniconda是一种选择。

1.在清华大学镜像仓库(https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/)相应版本,可以直接下载最新版本。。双击安装包,安装最后一步两个选项都check,如下图所示。


        和其他windows下的程序一样,稍等就Anaconda就安装好了,然后可以通过下面的命令来查看Anaconda已经安装了哪些包:运行 开始菜单->Anaconda3—>Anaconda Prompt :

[python] view plain copy
  1. conda list  

      后续还有什么包,直接安装即可。

三. CUDA 9.0安装

1. 安装CUDA


     一直默认安装就好了,知道安装完成。

2. 验证CUDA是否安装成功 
    打开Anaconda promt,输入:nvcc -V 
    出现如下类似信息: 

    
3. 用户环境变量配置 

右击“此电脑”->“属性”->”高级系统设置”->”环境变量”,一般默认安装的话,这些环境变量都会有的,如果没有则自己进行添加,如图所示: 


四. CUDNN 7.0.5安装

下载地址:https://developer.nvidia.com/rdp/cudnn-download  下载对应的cudnn版本。如下图所示:


2. cuDNN安装 

解压cudnn-9.0-windows10-x64-v7,将文件夹里如下图所示的三个文件夹分别拷贝至CUDA的安装目录的对应的文件夹即可。默认文件夹在: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0 (默认安装的话是这个路径)

cudnn解压后文件夹:


cuda安装路径:


四. Tensorflow 1.5安装

1. tensorflow运行环境 

(1)在windows程序中找到Anaconda Promt并打开,在Anaconda Prompt中利用Anaconda创建一个python3.5的环境(anaconda本身自带的python3.6的环境,最新的tensorflow也支持不过我还是选择了3.5的环境),环境名称为tensorflow (最好就这个名字,方便辨识),输入命令:
conda create -n tensorflow python=3.6     我用的是3.6,这里就改成了3.6

每次打开都要用这个命令激活一下,因为退出cmd之后,再次进入的时候又不好使了

而且在Anaconda上导入tensorflow的时候依然不好使,不知道是为什么

[python] view plain copy
  1. conda create -n tensorflow python=3.5  
(2)采用activate命令启动环境,使用命令
[python] view plain copy
  1. activate tensorflow  

启动后如下图所示:

当然也可以通过Anaconda 客户端启动该环境


打开后如图:一个是base基本环境,一个是刚才创建的tensorflow


 在tensorflow环境中安装插件 
为了能在ipython 和Spyder中使用tensorflow,我们需要在tensorflow的环境中安装这两个的插件。打开Anaconda Navigator,选择Not installed,找到 ipython和Spyder并安装。

3. 安装tensorflow(在刚才Anaconda 创建的tensorflow命令行下)

(1)先卸载再安装(如果之前安装过) 

[python] view plain copy
  1. pip uninstall tensorflow-gpu   #如果安装出问题通过该命令卸载  

如果想安装指定的

[python] view plain copy
  1. pip install tensorflow-gpu==1.5    

(2)若未曾安装,直接采用 

[python] view plain copy
  1. pip install -upgrade tensorflow  #CPU版Tensorflow更新  
[python] view plain copy
  1. pip   install --upgrade tensorflow-gpu   #GPU版Tensorflow更新  
若想升级到指定版本(版本要自己选择),则 
CPU: pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/windows/cpu/tensorflow-1.1.0-cp35-cp35m-win_amd64.whl  

GPU:pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/windows/gpu/tensorflow_gpu-1.1.0-cp35-cp35m-win_amd64.whl 

4、测试,输入一下代码测试

[python] view plain copy
  1. import tensorflow as tf  
  2. hello = tf.constant('Hello, TensorFlow!')  
  3. sess = tf.Session()  
  4. print(sess.run(hello))  


(2).官方教程代码测试:

The TensorFlow implement 
ation translates the graph definition into executable operations distributed across available compute resources, such as the CPU or one of your computer’s GPU cards. In general you do not have to specify CPUs or GPUs explicitly. TensorFlow uses your first GPU, if you have one, for as many operations as possible.

#Creates a graph.
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)
#Creates a session with log_device_placement set to True.
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
#Runs the op.
print (sess.run(c))     #python3.6版本一些书写规则有变化

输出:

Device mapping:
/job:localhost/replica:0/task:0/gpu:0 -> device: 0, name: Tesla K40c, pci bus
id: 0000:05:00.0
b: /job:localhost/replica:0/task:0/gpu:0
a: /job:localhost/replica:0/task:0/gpu:0
MatMul: /job:localhost/replica:0/task:0/gpu:0
[[ 22.  28.]
 [ 49.  64.]]


如何在使用Jupyter Notebook时,解决Python虚拟环境间的切换问题?本文一步步帮你拆解。希望你能够避免踩坑的痛苦,把更多的时间花在愉快的编程上。

痛点

Python目前有两个主版本并存,这很让人苦恼。

一般人对于软件,总是抱持着“喜新厌旧”的心态。见到小红点儿,就忍不住升级。然而对Python来说,这条规律不大适用。

虽然Python 3有许多优于Python 2的特性,但是Python 2的生态系统更为完善,支持的包更多。因为生态系统内部的依赖关系,许多软件包的运行说明会直接指定“仅适用于Python 2.7版本”。

所以,你会在不同的应用场景下切换这两种Python版本。

我本人比较懒,哪个版本支持的软件包多,更适合我使用,我就用哪个。所以,我安装Anaconda这个Python集成运行环境的时候,选择的是2.7版本。

但是近几天,我遇到了点儿麻烦。

为了进一步学习和掌握学Tensorflow,我买了本书。


<img src="https://pic3.zhimg.com/v2-2ea8a03844ca7000fb9c8c22c00c1c40_b.jpg" data-rawwidth="861" data-rawheight="1080" class="origin_image zh-lightbox-thumb" width="861" data-original="https://pic3.zhimg.com/v2-2ea8a03844ca7000fb9c8c22c00c1c40_r.jpg">


这本书配套代码的调试环境,是Jupyter Notebook,Python版本是3.6。

我自然不可能删除掉原先安装的Anaconda,重装一个3.6版本。那样我日常工作就无法进行了。

我选择的方式,是安装虚拟环境。

虚拟

在虚拟环境里,各种软件包的版本,都由你来指定。它们和系统默认Python环境是相互隔离的,因此互不干扰。


<img src="https://pic2.zhimg.com/v2-9feb6dc689075f890993e1413c8384f9_b.jpg" data-rawwidth="1702" data-rawheight="2007" class="origin_image zh-lightbox-thumb" width="1702" data-original="https://pic2.zhimg.com/v2-9feb6dc689075f890993e1413c8384f9_r.jpg">


我给这个用于学习Python 3版本Tensorflow的虚拟环境起了个好记的名字,叫做tfpy3。

进入终端环境,使用Anaconda的环境创建命令,一行代码就可以创建成功。

conda create -n tfpy3 python=3


<img src="https://pic2.zhimg.com/v2-0541d86db1f4b0ac217e02b54ef8af38_b.jpg" data-rawwidth="1322" data-rawheight="835" class="origin_image zh-lightbox-thumb" width="1322" data-original="https://pic2.zhimg.com/v2-0541d86db1f4b0ac217e02b54ef8af38_r.jpg">


我在~/learn/实验目录下创建了一个名为tensorflow的文件夹。创建好后进入。

cd learn/tensorflow

下面我们呼唤刚才创建的虚拟环境:

source activate tfpy3

这时你会发现终端提示符前面出现了特定虚拟环境标识。


<img src="https://pic3.zhimg.com/v2-94b65a6a6b287deace3200ee530f12c9_b.jpg" data-rawwidth="1322" data-rawheight="835" class="origin_image zh-lightbox-thumb" width="1322" data-original="https://pic3.zhimg.com/v2-94b65a6a6b287deace3200ee530f12c9_r.jpg">


虚拟环境顺利加载。

在这个虚拟环境下,我们就可以安装针对Python 3.6的最新版Tensorflow了。

pip install tensorflow

好了,1.3.0版本tensorflow安装成功。下面我们就呼叫Jupyter Notebook,来编码吧!

jupyter notebook

咦?为什么创建新笔记本的选项中,只有默认的Python 2和后来安装过的R?


<img src="https://pic4.zhimg.com/v2-f568d3b4f11fece3f3c7944cc769a146_b.jpg" data-rawwidth="520" data-rawheight="570" class="origin_image zh-lightbox-thumb" width="520" data-original="https://pic4.zhimg.com/v2-f568d3b4f11fece3f3c7944cc769a146_r.jpg">


tfpy3虚拟环境哪里去了?根本找不到!

插件

头痛半晌,突然想起古人那句:

吾尝终日而思矣,不如须臾之所学也。

对啊,上网搜!

查询了一下,很快发现了解决方案。原来为了让Jupyter Notebook支持虚拟运行环境,需要在Anaconda里安装一个插件。

回到终端下面,用C-c退出目前正在运行的Jupyter Notebook Server,然后执行:

conda install nb_conda

再重新开启Jupyter Notebook:

jupyter notebook


<img src="https://pic2.zhimg.com/v2-4aed3db9152f613417b1c180d9a56c26_b.jpg" data-rawwidth="373" data-rawheight="395" class="content_image" width="373">


这下我们就能看到差别了——除了最新安装设定的tfpy3外,之前用Anaconda设置过的其他虚拟环境也都可以在此选择使用。太棒了!

我们选择刚刚创建的tfpy3环境。

执行:

import tensorflow as tf
tf.VERSION

第二行语句是反馈tensorflow的版本。


<img src="https://pic2.zhimg.com/v2-d800c5401860ad9549db7e4b03f6e90c_b.jpg" data-rawwidth="694" data-rawheight="238" class="origin_image zh-lightbox-thumb" width="694" data-original="https://pic2.zhimg.com/v2-d800c5401860ad9549db7e4b03f6e90c_r.jpg">


1.3.0,没错!这就是刚刚我们安装的最新Tensorflow版本。

下面就是愉快的编码时间了。加油!

讨论

你在使用Python的过程中,遇到过切换版本的问题吗?你是怎么解决的?有没有更为便捷的方法?你更喜欢Python 2还是3?为什么?欢迎留言,分享给大家,我们一起交流讨论。



按照这个方法创建了一个虚拟坏境还是不好使
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值