电脑配置(笔记本,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
因为如果要使用CUDA,需要Visual Studio,所以什么也别说了先装VS吧。TIPS:因为我自己的电脑已经装过VS2013了,所以这次就没有再装VS2015,在后面搭建Faster-rcnn时遇到一些问题,装了VS2015的运行时解决的。具体参考另一篇文章。
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 :
后续还有什么包,直接安装即可。
1. 安装CUDA
一直默认安装就好了,知道安装完成。
2. 验证CUDA是否安装成功
打开Anaconda promt,输入:nvcc -V
出现如下类似信息:
右击“此电脑”->“属性”->”高级系统设置”->”环境变量”,一般默认安装的话,这些环境变量都会有的,如果没有则自己进行添加,如图所示:
下载地址: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安装路径:
1. tensorflow运行环境
启动后如下图所示:
当然也可以通过Anaconda 客户端启动该环境
打开后如图:一个是base基本环境,一个是刚才创建的tensorflow
在tensorflow环境中安装插件
为了能在ipython 和Spyder中使用tensorflow,我们需要在tensorflow的环境中安装这两个的插件。打开Anaconda Navigator,选择Not installed,找到 ipython和Spyder并安装。
3. 安装tensorflow(在刚才Anaconda 创建的tensorflow命令行下)
(1)先卸载再安装(如果之前安装过)
如果想安装指定的
(2)若未曾安装,直接采用
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、测试,输入一下代码测试
(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,我买了本书。
这本书配套代码的调试环境,是Jupyter Notebook,Python版本是3.6。
我自然不可能删除掉原先安装的Anaconda,重装一个3.6版本。那样我日常工作就无法进行了。
我选择的方式,是安装虚拟环境。
在虚拟环境里,各种软件包的版本,都由你来指定。它们和系统默认Python环境是相互隔离的,因此互不干扰。
我给这个用于学习Python 3版本Tensorflow的虚拟环境起了个好记的名字,叫做tfpy3。
进入终端环境,使用Anaconda的环境创建命令,一行代码就可以创建成功。
conda create -n tfpy3 python=3
我在~/learn/实验目录下创建了一个名为tensorflow的文件夹。创建好后进入。
cd learn/tensorflow
下面我们呼唤刚才创建的虚拟环境:
source activate tfpy3
这时你会发现终端提示符前面出现了特定虚拟环境标识。
虚拟环境顺利加载。
在这个虚拟环境下,我们就可以安装针对Python 3.6的最新版Tensorflow了。
pip install tensorflow
好了,1.3.0版本tensorflow安装成功。下面我们就呼叫Jupyter Notebook,来编码吧!
jupyter notebook
咦?为什么创建新笔记本的选项中,只有默认的Python 2和后来安装过的R?
tfpy3虚拟环境哪里去了?根本找不到!
头痛半晌,突然想起古人那句:
吾尝终日而思矣,不如须臾之所学也。
对啊,上网搜!
查询了一下,很快发现了解决方案。原来为了让Jupyter Notebook支持虚拟运行环境,需要在Anaconda里安装一个插件。
回到终端下面,用C-c退出目前正在运行的Jupyter Notebook Server,然后执行:
conda install nb_conda
再重新开启Jupyter Notebook:
jupyter notebook
这下我们就能看到差别了——除了最新安装设定的tfpy3外,之前用Anaconda设置过的其他虚拟环境也都可以在此选择使用。太棒了!
我们选择刚刚创建的tfpy3环境。
执行:
import tensorflow as tf
tf.VERSION
第二行语句是反馈tensorflow的版本。
1.3.0,没错!这就是刚刚我们安装的最新Tensorflow版本。
下面就是愉快的编码时间了。加油!
你在使用Python的过程中,遇到过切换版本的问题吗?你是怎么解决的?有没有更为便捷的方法?你更喜欢Python 2还是3?为什么?欢迎留言,分享给大家,我们一起交流讨论。