说明:文章只详细介绍Windows下、python3.x版本、Tensorflow-GPU的详细安装配置!
1、Tensorflow介绍
TensorFlow 是一个采用数据流图(data flow graphs),用于数值计算 的开源软件库。
TensorFlow 最初由Google大脑小组的研究员和工程师们开发出来,用于机器学习和深度神经网络方面的研究, 但这个系统的通用性使其也可广泛用于其他计算领域。
2、Tensorflow特性
高度的灵活性:只要能够将计算表示成为一个数据流图,那么就可以使用TensorFlow。
可移植性:TensorFlow支持CPU和GPU的运算,并且可以运行在台式机、服务器、手机移动端设备等等。
自动求微分:TensorFlow内部实现了自动对于各种给定目标函数求导的方式。
多种语言支持:Python、C++
3、Tensorflow安装
要求:Python必须是64位,机器的显卡必须是NVIDIA的显卡。
对于Python3.x,可以使用pip install tensorflow(安装CPU版本)和pip install tensorflow-gpu(安装GPU版本)
对于Python2.7,只能通过源码编译来安装TensorFlow(Windows操作系统)
4、安装步骤
1)、“win + R” 输入 cmd 进入命令行控制
2)、在python3.x的安装前提下,输入
pip install tensorflow-gpu==1.15.0(以1.15.0为例,具体版本选择参照下图)
进行tensorflow的安装
tensorflow的版本选择和python的版本具有关联性,可以在命令行下输入“python”查看相关信息,关联如下图:
相关信息查看链接:https://tensorflow.google.cn/install/source#gpu
3)、tensorflow安装完成后,在命令行输入" python --> import tensorflow "
python
import tensorflow
4)、根据提示进行下一步操作,如果没报错则表示成功,如果出现像下图所示(各种dll文件报错)则进一步操作
5)、TensorFlow-GPU安装-CUDA以及cuDNN
· cuDNN下载安装链接 cuDNN下载时需要一个简单的注册
网址可能加载较慢,多刷新耐心等即可,附赠下载大礼包(CUDA10.0版本),包含: Visual Studio(community)、python3.7.0、cuda_10.0.130_411.31_win10 以及 cudnn-10.0-windows10-x64-v7.4.2.24 网盘下载链接 (提取码:f61r)(适用python3.3-3.7)
在CUDA和cuDNN选择的时候也要根据自己的机器、python版本、以及tensorflow版本进行选择
详细参见: 版本选择
① 选择CUDA版本,不知道NVIDIA显卡适配什么样的CUDA小伙伴看下面
打开NVIDIA控制面板(打开方式有多种),点击左上角 帮助-->系统信息-->组件,找到NVCUDA.DLL 查看对应的CUDA适配版本
② 然后去CUDA下载安装链接找到相应的版本下载,进行安装
安装失败的问题,多半原因是因为Visual Studio(VS) Intergration无法安装导致,下面是简单处理方法
· 如果电脑没有装 Visual Studio,先去装一个 。传送门:VS安装
· 安装完成VS后,再次打开CUDA安装包,选择自定义安装模式,在选项中去掉Visual Studio(VS) Intergration勾选,进行安装
还需要安装对应版本的cuDNN下载安装链接
将cuDNN的压缩包解压, 然后将压缩包中的三个文件夹全部放到CUDA对应的根目录下,根据环境变量找到对应的根目录:(默认)C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0;
说明:在CUDA9.x版本以上是默认配置好环境变量的
然后在命令行输入“nvidia-smi”
nvidia-smi
成功了!
6)、在命令行输入" python --> import tensorflow "测试,通过则成功。
如果发现缺少某个dll的提示,一般情况下,按照以上步骤安装后,是不会出现tensorflow-gpu的版本和cuda、cudnn版本不兼容的问题,大概率也不是缺少这个文件,而是无法链接动态库的问题。操作如下:
① 在CUDA安装目录下,默认为:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin;查找缺少的某个.dll 文件,如果找不到点击这里下载相关dll文件,下载结束后放在上述目录里。
自己能找到相应的文件,系统却仍然报找不到的错:
将 “某个.dll ” 文件放入C盘的System32文件夹,解决(但是为外部动态链接,每次运行tensorflow程序会显示'sucessfully XXXX'语句,属于正常显示)
7)、到此,Tensorflow安装配置结束
一般情况下,版本相匹配是不会出现错误的,如果在某些测试下发现,缺少更多的dll文件,可以参考这篇文章,希望对你有所帮助
因为无法链接动态库的问题采用上述方法解决的话,会看到很多诸如类似的提示:
Successfully opened dynamic library cudart64_101.dll
Successfully opened dynamic library cud64_100.dll
Successfully opened dynamic library xxxx.dll
此时可以采用os模块的解决,在import tensorflow as tf
前面导入import os
,示例如下:
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2' # 不显示等级2以下的提示信息
import tensorflow as tf
以上代码用于忽略级别 2 及以下的消息(级别 1 是提示,级别 2 是警告,级别 3 是错误)
另外,出现Successfully opened dynamic library xxxxx.dll,虽然无伤大雅,但是每次程序运行import tensorflow as tf的时候总会等待一两秒去查找xxxxx.dll
方法(仅供参考):将xxxxx.dll的路径添加到环境变量的Path中:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\bin\xxxxx.dll
8)、运行tensorflow程序提示Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
大概意思是:你的CPU支持AVX扩展,但是你安装的TensorFlow版本无法编译使用
如果你有一个GPU,你不应该关心AVX的支持,因为大多数昂贵的操作将被分派到一个GPU设备上(除非明确地设置)。在这种情况下,您可以简单地忽略此警告:
import os
os.environ[‘TF_CPP_MIN_LOG_LEVEL’] = ‘2’
希望上述方法对你有所帮助!