此篇文章所安装的Tensorflow版本为2.4.0,CUDA版本为11.0,cuDNN版本为8.0,其他的版本也可以参考,适合第一次装安装tensorflow的小伙伴学习。
Tensorflow是目前机器学习主流框架以及其它涉及大量数学运算的算法库之一。Tensorflow由Google开发,是GitHub上最受欢迎的机器学习库之一。
首先进入Tensorflow官网:https://tensorflow.google.cn/install/source_windows
找到windows对应的版本的模块
然后再查看自己python的版本,在cmd中输入python --version
查看python的版本,如果没有添加环境变量,找到所安装的python.exe,将其添加到环境变量中。
我的python版本是3.8,所以装tensorflow的话就装2.2-2.4
我们看到cuDNN、CUDA有不同的版本要求,但是Compiler——MSVC 2019(Microsoft Visual Studio 2019 BuildTools)、Build tools这两个需不需要安装呢?这个我暂时也不知道,我是新装的电脑,没装Compiler和Build tools也能正常运行tensorflow,所以暂且不管。
我们现在已经知道了Tensorflow与python、CUDA、cuDNN对应关系,还有一点需要注意——查看自己的电脑能装什么样的CUDA!
官网查看地址:https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html#title-new-features
我的是windows10,所以看到左右边的一列,这些数字代表Driver Version,下一步就是查看自己的电脑版本。
方法一:进入到nvidia-smi对应的文件夹,在地址栏里清空并输入cmd,然后输入nvidia-smi
,我们能看到Driver Version 456.43,所以我最高能装到CUDA 11.1 GA版本,所以CUDA11.0和10.1都能装。
方法二:鼠标右键点击桌面,选择NVIDIA 控制面板,在主页也能看到版本信息,然后也点击系统信息进一步查看
先装一个tensorflow试一下吧,没有换源的话安装起来比较慢,而且默认的下载可能会出错,可以使用以下命令安装
pip install tensorflow==2.3.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
此时我的tensorflow已经安装好了,可以使用pycharm查看,也可以在cmd或者Anaconda Prompt中使用pip list
查看
然后使用import tensorflow as tf
,发现“Could not load dynamic library ‘cudart64_101.dll’”——“无法加载动态库"cudart64_101.dll"”,它说的是cuda 101,代表10.1,我电脑的是11.1,所以不能用,现在就可以直接下载CUDA10.1了。为了给大家更全面的演示,我将卸载现在的tensorflow2.3,装tensorflow2.4.
使用pip uninstall tensorflow
卸载
再次使用pip install tensorflow==2.4.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
安装完毕后,再次运行import tensorflow as tf
,可以直接点击右上角绿色三角形运行,也可以选中目标代码,右键选择Execute Selection in Python Console,或者按住Alt+Shift+E
我们发现现在的cuda变成了110,代表11.0,所以之后要去下载cuda11.0
CUDA下载地址:https://developer.nvidia.com/cuda-toolkit-archive
CUDA11.0网盘下载链接:https://pan.baidu.com/s/1J_jOEXlJDLjvieupgZUFZw
提取码:0wzn
双击安装包
更改目录
接下来有两种安装选项,一个是精简安装,一个是自定义安装。精简安装会安装CUDA相关组件,同时也会将显卡驱动重新安装,如果不想重新安装显卡驱动,可以选择自定义安装,这里选择自定义安装。
自定义的默认是全选,新手小白安装的话就很懵,安装几次了可以选择只安装第一个CUDA。
NVIDIA GeForce Experience这个该选吗?我看其他博主很多都没选择,我搜了一些资料,说是没用,还是不安装。
Display Driver对应的版本是451.48,我的是456.43,如果你电脑目前安装的驱动版本号新于CUDA本身自带的驱动版本号,那一定要把这个勾去掉。否则会安装失败(相同的话,也不用去勾选)。
HD Audio 即High Definition Audio,意思为高保真音频,它和Display Driver是连绑在一起的,不安装。
PhysX是一套由AGEIA公司开发的物理运算引擎,装吧,无所谓。
其中还有一个Visual Studio Integration选项,看自己是否需要安装,我看tensorflow2.4对应的是VS2019,这个11.0是啥啊,我去搜了一下,这代表VC11,就是VS2012,版本不对啊,所以我放弃安装它。(后面其实我也没安装VS2019。)
之后会让选择CUDA开发组件、文档、示例的安装位置,此处默认即可,默认安装位置在 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\版本
然后看看自己的环境变量,CUDA9.1版本安装之后会自动配置好环境变量,不需手动添加。
在cmd中输入nvcc -V
,就能看到装的CUDA的版本
接下来安装cuDNN 8.0
CUDA这个平台一开始并没有安装cuDNN库,当开发者们需要用到深度学习GPU加速时才安装cuDNN库,工作速度相较CPU快很多。
cuDNN下载网址:https://developer.nvidia.com/rdp/cudnn-archive
cuDNN v8.0.5百度网盘下载链接:https://pan.baidu.com/s/1SIncn2AnTIULbrulf6ujGQ?pwd=6r8t
提取码:6r8t
注册、登录过程自己解决一下,找到CUDA版本,同时对应到tensorflow要求的版本
我选择cuDNN v8.0.5
下载完毕:
解压缩:
把这些文件全部复制,找到CUDA安装目录v11.0下,直接粘贴
打开pycharm验证一下,出现Successfully opened dynamic library cudart64_110.dll,说明CUDA能正常使用了
那么时使用tensorflow过程能使用GPU吗?来,验证一下。
方法一:
import tensorflow as tf
tf.test.is_gpu_available() # 查看是否支持GPU显卡,出现True则可以使用GPU
from tensorflow.python.client import device_lib
print(device_lib.list_local_devices()) # 抓取到GPU相关信息则可以使用GPU
方法三:
import tensorflow as tf
if tf.test.gpu_device_name():
print('Default GPU Device: {}'.format(tf.test.gpu_device_name()))
else:
print("Please install GPU version of TF")
此次安装Tensorflow过程比较详细,也对比了其他的文章,但仍有一个疑问,不需要安装MSVC和Bazel了吗?现在能正常使用tensorflow就行了,之后遇到需要安装的问题再安装也行的。