如何基于Anaconda安装tensorflow-gpu报告
实验环境:
Windows 10 64位操作系统
NVIDIA驱动程序版本419.72
一、 为什么要使用tensorflow
TensorFlow 无可厚非地能被认定为 神经网络中最好用的库之一. 它擅长的任务就是训练深度神经网络.通过使用TensorFlow我们就可以快速的入门神经网络, 大大降低了深度学习(也就是深度神经网络)的开发成本和开发难度. TensorFlow 的开源性, 让所有人都能使用并且维护, 巩固它. 使它能迅速更新, 提升.
(引用自:https://blog.csdn.net/buddhistmonk/article/details/79533790)
二、 安装流程
1. 安装前的明确
大致流程:(gpu版本)
- CUDA安装配置
- cuDNN安装配置
- TensorFlow安装
- TensorFlow环境测试
注:
-
Tensorfloww有cpu和gpu两个版本,根据自身需求和电脑配置选择对应的Version(如下只为gpu版的详细介绍)
-
对应本机显卡驱动选择CUDA版本安装
-
对应安装的CUDA版本选择cuDNN版本安装
明确大致流程后开始进行安装
2. 详细步骤
1)CUDA安装配置
不同的显卡驱动对应的CUDA版本不一样,用户根据电脑配置进行选择。
显卡驱动可通过NVIDIA控制面板->帮助->系统信息->驱动程序版本查看。
我的电脑驱动版本为419.72,所以对应的CUDA Toolkit为10.0.130
然后到NVIDIA官网下载CUDA(https://developer.nvidia.com/cuda-toolkit-archive)
点击进去 ,选择相对应项目属性。我下载的是local的exe(完整安装包,初始下载全部文件),建议大家下载本地的安装包。
安装CUDA的时候,选择自定义安装,是需要安装CUDA目录里的 Development、Sample、Runtime、Documentation四个组件。当然选择安装位置的时候,选择默认位置会便于后面的环境变量的配置。
安装完成后需要对CUDA的环境变量进行配置,具体操作为 桌面此电脑右键->高级系统配置->环境变量。此时你的电脑的系统变量多了CUDA_PATH和CUDA_PATH_V10.0两个环境变量(v10.0表示的是cuda的版本是10.0)
然后我们需要在系统中添加几个环境变量:
CUDA_SDK_PATH = C:ProgramDataNVIDIA CorporationCUDA Samplesv10.0(v几点几是版本号)
CUDA_LIB_PATH = %CUDA_PATH%libx64
CUDA_BIN_PATH = %CUDA_PATH%in
CUDA_SDK_BIN_PATH = %CUDA_SDK_PATH%inwin64
CUDA_SDK_LIB_PATH = %CUDA_SDK_PATH%commonlibx64
添加这几个变量后,打开path变量,新建几个环境变量:
%CUDA_LIB_PATH%;%CUDA_BIN_PATH%;%CUDA_SDK_LIB_PATH%;%CUDA_SDK_BIN_PATH%
C:Program FilesNVIDIA GPU ComputingToolkitCUDAv8.0libx64
C:Program FilesNVIDIA GPU Computing ToolkitCUDAv8.0in
C:ProgramDataNVIDIA CorporationCUDA Samplesv8.0commonlibx64
C:ProgramDataNVIDIA CorporationCUDA Samplesv8.0inwin64
如图所示:
确定保存设置之后,我们就需要来验证一下CUDA环境是不是配置成功了。打开命令框(win+r,cmd回车)输入nvcc -V:
如图显示,证明CUDA已经配置完成了。
2)CuDNN安装配置
接下来就要根据CUDA的版本安装相应的cuDNN了,下载地址https://developer.nvidia.com/rdp/cudnn-download(安装cuDNN需要登录NVIDIA账号,如果没有,那就注册一个吧,挺快的)
下载完后,它是一个压缩包,将它解压,里面有三个文件夹
将这三个文件夹拷贝到CUDA的安装目录下就好了(C:Program FilesNVIDIA GPU Computing ToolkitCUDAv10.0,这是默认路径)
拷贝后如下图:
3)Tensorflow安装
CUDA和cuDNN配置完后,可以安装Tensorflow了,Tensorflow与CUDA的对应关系如图
进入Anaconda Prompt,
创建anaconda虚拟环境(输入代码):conda create -n tensorflow-gpu python=3.6
注:创建的虚拟环境在Anaconda的envs文件夹下
它进一步询问你是否进行,你只需要按回车就好了
进入anaconda虚拟环境:activate tensorflow-gpu
安装TensorFlow-gpu,根据cuda版本选择tensorflow版本:
conda install tensorflow-gpu==1.12.0
Tensorflow环境测试
安装完成后我们就需要对Tensorflow环境进行测试了
启动Jupyter(你可以直接打开Jupyter,或者进入Anaconda Navigator,然后找到Jupyter点击下方launch)
创建python文件,输入代码
import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
sess.run(hello) # print(sess.run(hello))
若能成功打印出Hello, TensorFlow! 说明成功(shift+enter,运行)
三、安装过程中出现的问题及解决方法
- 在Jupyter验证tensorflow环境是否成功的时候,出现了module notfound
要在Jupyter Notebook 中使用 tensorflow, 你需要在激活了tensorflow的(这个环境中安装了tensorflow)环境中安装Jupyter 。而我并没有在这个环境中安装Jupyter,所以又打开Anaconda prmopt,暴力输入conda install jupyter ,安装完成后,直接输入Jupyter notebook 就能打开Jupyter,最后再检查一遍,输入代码验证是否解决问题:
2.TensorFlow环境测试中出现如下提示:
The TensorFlow library wasn't compiled to use SSE instructions, but these are available on your machine and could speed up CPU computations.
查找资料之后发现是因为这个TF库没有编译,不能使用SSE,FMA等指令,但是他们可以用来加速CPU计算,这只影响CPU如果使用的是GPU版本的tensorflow那么在GPU上的所有操作都不会受益于SSE指令。
解决方法:
在前面添加下面的两句操作就行了
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'