Tensorflow-gpu前人基础上继续踩坑

转载自 https://blog.csdn.net/weixin_39290638/article/details/80045236

部分稍有不同坑

 

背景

笔者2017年底入手新电脑,显卡型号是NVDIAGEFORCE MX150,刚入坑TensorFlow。在安装TensorFlow时,发现自己的显卡型号并不在NVDIA官网上支持型号的名单中。抱着试一试的心态,在经过各种尝试后,成功安装。由于是初次安装,在安装过程中遇到了一些坑,想分享出来让大家少走弯路。

原料 

Anaconda 3下安装

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-gpu前人基础上继续踩坑_第1张图片

笔者在安装TensorFLow时,CUDA已经到了9.2版本。另外,也要确认CUDA版本是否支持自己的显卡。笔者电脑的MX150只有CUDA9.0及以上的版本才支持。基于以上两个条件,笔者选择了CUDA9.0,并下载了对应的CuDNN版本。我使用的是tensorflow1.8.0+7.1
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

本人安装的是Anaconda3 5.2

 

 

 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.1.zip,得到三个文件夹

将这三个文件拷贝到CUDA9.0的安装路径根文件夹下

 

 

3. 安装tensorflow1.8

打开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(pip10 一直更新安装失败。先进行下一步tensorflow1.8.0的安装,会提示更新pip,然后更新成功)

安装tensorflow1.8.0及相应依赖包,输入指令:
pip install --ignore-installed --upgrade tensorflow-gpu==1.8.0

(亦可以直接使用pip install  tensorflow-gpu==1.8.0)

安装成功。

 若出现错误ReadTimeoutError: HTTPSConnectionPool(host='pypi.python.org', port=443): Read timed out   网速问题,换个网速好点的继续下载

验证

安装完成后键入import tensorflow as tf 一直出现错误:

1.OSError: [WinError 126] 找不到指定的模块。

    2.ImportError: Could not find 'cudart64_90.dll'. TensorFlowrequires that this DLL be installed in a directory that is     named in your %PATH%environment variable. Download and install CUDA 9.0 from this URL:  https://developer.nvidia.com/cuda-toolkit

网上的错误原因均不匹配,后寻到是路径问题,添加路径

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\lib\x64

验证成功!

在命令行中,进入python,并输入以下代码:
import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))
输出:
b’ Hello, TensorFlow!

你可能感兴趣的:(Tensorflow-gpu前人基础上继续踩坑)