转载自 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版)。安装前一定要确认好每个软件的版本是否相互支持。
相比于作为一个过渡版本的Python 2.6,笔者选择的是Python 3.6。在安装时,选择了Anaconda(一个开源的Python发行版本)的最新版本。Anaconda包含了conda、Python等180多个科学包及其依赖项,功能十分强大。
Anaconda下载地址:https://www.anaconda.com/download/
CUDA是NVIDIA推出的运算平台,CuDNN是专门针对Deep Learning框架设计的一套GPU计算加速方案。在安装之前要查询下最新TensorFLow发行版支持到了哪个版本。
笔者在安装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需要注册账号,注册过程比较简单)
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 安装,安装过程见后文。
本人安装的是Anaconda3 5.2
Anaconda过程安装过程简单,打开安装包后选择好路径后就能安装
安装启动前若不勾选上第一项,则需在软件安装完成手动添加环境变量
运行cuda_9.0.176_win10.exe。安装软件会先运行一个系统检查,如果没有软硬件不兼容的情况就能继续进行下一步。若有不兼容情况,系统检查则会报错,无法进行下一步。如果报错了,就最先考虑下是不是自己的显卡不被该版本支持。
在选项着一栏选择自定义,否则安装程序会一股脑把里面所有软件包都给你装上。
在选择安装项时一般不安装GeForce Experience,CUDA是核心组件必须勾上,剩下两个选项的当前版本如果比新版本低的话也可以勾选上。接着点击下一步就开始安装了。
解压压缩包cudnn-9.0-windows10-x64-v7.1.zip,得到三个文件夹
将这三个文件拷贝到CUDA9.0的安装路径根文件夹下
打开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!