因为想在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
因为如果要使用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 :
conda list
后续还有什么包,直接安装即可。
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运行环境
(1)在windows程序中找到Anaconda Promt并打开,在Anaconda Prompt中利用Anaconda创建一个python3.5的环境(anaconda本身自带的python3.6的环境,最新的tensorflow也支持不过我还是选择了3.5的环境),环境名称为tensorflow (最好就这个名字,方便辨识),输入命令:
conda create -n tensorflow python=3.5
(2)采用activate命令启动环境,使用命令
activate tensorflow
启动后如下图所示:
当然也可以通过Anaconda 客户端启动该环境
打开后如图:一个是base基本环境,一个是刚才创建的tensorflow
在tensorflow环境中安装插件
为了能在ipython 和Spyder中使用tensorflow,我们需要在tensorflow的环境中安装这两个的插件。打开Anaconda Navigator,选择Not installed,找到 ipython和Spyder并安装。
3. 安装tensorflow(在刚才Anaconda 创建的tensorflow命令行下)
(1)先卸载再安装(如果之前安装过)
pip uninstall tensorflow-gpu #如果安装出问题通过该命令卸载
如果想安装指定的
pip install tensorflow-gpu==1.5
(2)若未曾安装,直接采用
pip install -upgrade tensorflow #CPU版Tensorflow更新
pip install --upgrade tensorflow-gpu #GPU版Tensorflow更新
若想升级到指定版本(版本要自己选择),则
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、测试,输入一下代码测试
import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
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.]]
参考文章:
https://blog.csdn.net/lcb_coconut/article/details/79228759
https://blog.csdn.net/sb19931201/article/details/53648615