此博文转自https://blog.csdn.net/weixin_39290638/article/details/80045236
背景
笔者2017年底入手新电脑,显卡型号是NVDIAGEFORCE MX150,刚入坑TensorFlow。在安装TensorFlow时,发现自己的显卡型号并不在NVDIA官网上支持型号的名单中。抱着试一试的心态,在经过各种尝试后,成功安装。由于是初次安装,在安装过程中遇到了一些坑,想分享出来让大家少走弯路。
原料
Win10上搭建TensorFlow的开发环境需要至少需要安装3个软件,分别为:1.python,2.CUDA和CuDNN,3.TensorFlow(GPU版)。安装前一定要确认好每个软件的版本是否相互支持。
1. Python
相比于作为一个过渡版本的Python 2.6,笔者选择的是Python 3.6。在安装时,选择了Anaconda(一个开源的Python发行版本)的最新版本。Anaconda包含了conda、Python等180多个科学包及其依赖项,功能十分强大。
Anaconda下载地址:https://www.anaconda.com/download/
2. CUDA和CuDNN
CUDA是NVIDIA推出的运算平台,CuDNN是专门针对Deep Learning框架设计的一套GPU计算加速方案。在安装之前要查询下最新TensorFLow发行版支持到了哪个版本。笔者在安装TensorFLow时,CUDA已经到了9.1版本,但是TensorFLow1.7只支持到9.0版。另外,也要确认CUDA版本是否支持自己的显卡。笔者电脑的MX150只有CUDA9.0及以上的版本才支持。基于以上两个条件,笔者选择了CUDA9.0,并下载了对应的CuDNN版本。另外,笔者在后续的编程中发现tensorflow1.7只支持7.0的CuDNN。
1)显卡型号支持:https://developer.nvidia.com/cuda-gpus
2)CUDA下载地址:https://developer.nvidia.com/cuda-toolkit-archive
3)CuDNN下载地址:https://developer.nvidia.com/rdp/cudnn-download
(下载CuDNN需要注册账号,注册过程比较简单)
3. TensorFlow
TensorFlow的版本信息可以在Github,tensorflow中文社区以及pypi上查看。
Github:https://github.com/tensorflow/tensorflow/releases
tensorflow社区:https://tensorflow.google.cn/versions/
pypi:https://pypi.org/project/tensorflow/#history
TensorFlow可以直接在Anaconda Prompt的命令行中用指令:“conda install tensorflow-gpu”直接安装,并且该指令在安装TensorFlow时还会顺带把Cuda和CuDNN也给装了。考虑到conda 的软件包并没有官方支持,并且tensorflow和附带的Cuda和CuDNN版本都不是最新的,笔者未使用conda安装,而是使用原生的 pip 安装,安装过程见后文。
安装过程
1. 安装Anaconda3 5.1
Anaconda过程安装过程简单,打开安装包后选择好路径后就能安装
安装启动前若不勾选上第一项,则需在软件安装完成手动添加环境变量
2. 安装CUDA® Toolkit 9.0+cuDNN v7.1
1)CUDA9.0安装
运行cuda_9.0.176_win10.exe。安装软件会先运行一个系统检查,如果没有软硬件不兼容的情况就能继续进行下一步。若有不兼容情况,系统检查则会报错,无法进行下一步。如果报错了,就最先考虑下是不是自己的显卡不被该版本支持。
在选项着一栏选择自定义,否则安装程序会一股脑把里面所有软件包都给你装上。
在选择安装项时一般不安装GeForce Experience,CUDA是核心组件必须勾上,剩下两个选项的当前版本如果比新版本低的话也可以勾选上。接着点击下一步就开始安装了。
2)CuDNN7.1安装
解压压缩包cudnn-9.0-windows10-x64-v7.0.zip,得到三个文件夹
将这三个文件拷贝到CUDA9.0的安装路径根文件夹下
3. 安装tensorflow1.7
打开Anaconda Prompt,进入Anaconda命令行管理界面。配置清华仓库镜,输入指令:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes
创建运行环境,输入指令:
conda create -n tensorflow-gpu python=3.6
新建一个名字叫“tensorflow-gpu”,python版本为3.6的运行环境,此环境与Anaconda中其它环境隔离。红框中的软件包也会随之安装,输入“y“和回车后开始安装。
激活并进入环境,使后续指令在激活的环境中生效,输入指令:
conda activate tensorflow-gpu
升级pip到最新版,防止稍后的安装时,出现错误(笔者初次在安装tensorflow时,没有更新pip到最新版,导致下载到一半出现错误),输入指令:
python -m pip install --upgrade pip
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes
创建运行环境,输入指令:
conda create -n tensorflow-gpu python=3.6
新建一个名字叫“tensorflow-gpu”,python版本为3.6的运行环境,此环境与Anaconda中其它环境隔离。红框中的软件包也会随之安装,输入“y“和回车后开始安装。
激活并进入环境,使后续指令在激活的环境中生效,输入指令:
conda activate tensorflow-gpu
升级pip到最新版,防止稍后的安装时,出现错误(笔者初次在安装tensorflow时,没有更新pip到最新版,导致下载到一半出现错误),输入指令:
python -m pip install --upgrade pip
安装tensorflow1.7.0及相应依赖包,输入指令:
pip install --ignore-installed --upgrade tensorflow-gpu
至此,tensorflow的安装完成。
验证
在命令行中,进入python,并输入以下代码:
import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))
输出:
b’ Hello, TensorFlow!