文章目录
- TensorFlow简介
- TensorFlow是什么
- tensorflow版本变迁
- tensorflow 2.0 架构
- 安装过程
- 常用IDE安装
- python3.9的安装
- Anaconda的安装
- CUDA安装
- cuda软件安装
- cuDNN神经网络加速库安装
- 配置环境变量
- TensorFlow的gpu版本安装
TensorFlow简介
TensorFlow是什么
TensorFlow是深度学习领域使用最为广泛的一个Google的开源软件库(最初由Google brain team进行开发的内部库,由于它的易用性Google决定把它开源出来).
采取数据流图,用于数值计算.
节点——处理数据
线——节点间的输入输出关系
数据流图中的数据叫做tensor, 表示张量, 即N维数据, tensor在数据流图中流动表示计算的过程, 这也是tensorflow名字的由来.
支持多种平台,GPU、CPU、移动设备
tensorflow特性:
- 高度的灵活性: 只要能把数据的计算表示成数据流图就可以使用tensorflow
- 真正的可移植性: 比如CPU、GPU、移动设备等等
- 产品和科研结合
- tensorflow研究最初是用于科研的,其实科研和工程还有一定的距离,科研的代码需要进一步各种各样的优化才能真正的做到产品上去,但是对于tensorflow则没有这个问题,Google团队把tensorflow优化的已经比较好了,做研究的代码可以无缝的用到产品上
- 自动求微分
- 多语言支持
- tensorflow除了python以外,还支持各种各样的语言,比如说c++、java、javascript、R语言等
- 性能最优化
- 在tensorflow刚刚出来的时候由于它运行的比较慢,很多深度学习库呢都会拿tensorflow来进行比较,然后来证明自己比tensorflow好多少倍,但是随着tensorflow一步一步的进行开发,这种情况一去不复返了,tensorflow现在应该是运行最快的一个库,对于分布式的tensorflow来说,它的加速比几乎是线性的
tensorflow版本变迁
tensorflow 2.0 架构
- tensorflow2.0主要特性:
- 使用tf.keras和eager mode(动态图模式)进行更简单的模型构建.
- 使用tf.data加载数据
- 使用tf.keras构建模型,也可使用premade estimator来验证模型
- 使用tensorflow hub进行迁移学习
- 使用eager mode运行和调试
- 使用分发策略来进行分布式训练
- 导出到SavedMode
- 使用TensorFlow Serve、Tensorflow Lite、Tensorflow.js部署模型
- 鲁棒的跨平台模型部署
- TensorFlow服务
- 直接通过HTTP/RESR或GRPC/协议缓冲区
- TensorFlow Lite——可部署到Android、iOS和嵌入式系统上
- TensorFlow.js——在JavaScript中部署
- 其他语言
- C、Java、Go、C#、Rust、Julia、R等
- TensorFlow服务
- 强大的研究试验
- Keras功能API和子类API、允许创建复杂的拓扑结构
- 自定义训练逻辑、使用tf.GraddientTape和tf.custom_gradient进行更细粒度的控制
- 底层API自始至终可以与高层结合使用、完全的可定制
- 高级扩展:Ragged Tensor、Tensor2Tensor等
- 清除不推荐使用的API和减少重复来简化API
- 使用tf.keras和eager mode(动态图模式)进行更简单的模型构建.
安装过程
常用IDE安装
python3.9的安装
在官网可以下载python3.9并安装好。这里我就不介绍了,想详细了解的可以看看我的这篇文档哦:机器学习常用的环境和工具安装和使用介绍
Anaconda的安装
这里我也不重点介绍了,我之前也重点详细地写过相关文章↓
还是搞不懂Anaconda是什么” />
可以看出我的是1660Ti的配置支持。
如果计算机上没有NVIDIA显卡,则无法安装CUDA程序。
CUDA的安装很简单,就分成三步:
1、cuda的软件安装
2、cvDNN的神经网络加速库安装
3、配置环境变量
cuda软件安装
我们进入cuda软件下载的界面:CUDA下载页
进入后选择CUDA Toolkit 11.6.0版本
大约是2.4GB,如果嫌麻烦也没关系,我已经下载好了,大家可以根据我分享的百度网盘下载:
链接:https://pan.baidu.com/s/10aHSylaMn8aEGj062c0HLA
提取码:qjuz
安装包安装完毕后,打开安装软件:路径可自行更改
这里我们选择自定义安装。
在组件CUDA一栏中,取消勾选Visual Studio Integration(因为我们并没有使用Visual Stduio环境,即使勾选上了也会安装失败)
在Driver components一栏比较Display Driver的新版本和当前版本的信息。若当前版本高于新版本,则取消勾选Display Driver;若若当前版本低于新版本,则保留默认安装信息即可,否则电脑会死机或者卡顿,甚至可能蓝屏。!!!
在CUDA的安装路径这里,保持默认就好,默然安装在C盘,尽量不要修改。
因为文件较大,如果C盘实在是没什么内存,也可自行修改,但是要保持英文路径,且一定一定要记住安装路径,因为后面配置环境要用到!!!
安装完成后,我们打开环境变量查看环境是否配置好了,打开系统变量:
如果系统变量没有自动配置的话,需要我们手动配置。路径是根据前面是否自己有没有修改来指定。↓
配置好环境变量后,我们检查下CUDA是否安装成功。打开cmd,输入以下命令查看CUDA是否安装成功(二选一)
如果不能显示以下信息,则说明安装失败。
nvcc -V
或者
nvcc --version
还可以查看CUDA 设置的环境变量。
set cuda
我们还可以搜索CUDA 的安装目录,找到“nvcc.exe”文件。
cuDNN神经网络加速库安装
CUDA并不是实现GPU的神经网络加速库,如果希望针对的是神经网络进行加速,我们还需要安装cuDNN神经网络加速库。
cuDNN并非是应用程序,而是几个文件包,下载后把它复制到CUDA 的目录下即可。
cuDNN下载页:cuDNN下载页
注意!如果要下载cuDNN,必须要登录NVIDIA的账户。登录完成后才能下载。没登录过的先注册。 如果大家嫌麻烦的话也不要紧,我已经下载好了,大家下载我的百度网盘分享连接下载即可:
链接:https://pan.baidu.com/s/10aHSylaMn8aEGj062c0HLA
提取码:qjuz
下载好安装包后,我们解压可以看到有四个文件:
我们查看CUDA11.6的原文件:
将cuDNN的文件全部复制到该文件夹下,复制后的文件展示:(有重复的文件是正常的,覆盖掉就好)
cuDNN其实就是CUDA的一个补丁而已,专为深度学习运算进行优化的,然后我们再添加环境变量!继续往下走。
配置环境变量
我们打开环境变量,在系统变量的path路径下添加以下路径:(具体要根据自己的安装路径下做调整)
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\binC:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\libnvvpC:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\libC:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\include
添加好后是这样的:
配置好环境后,我们需要验证环境变量是否配置成功:
打开cmd,我们进入到以下路径:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\extras\demo_suite
然后分别执行以下两个命令:.\bandwidthTest.exe
和.\deviceQuery.exe
如果Result都为PASS的话则配置成功!
TensorFlow的gpu版本安装
国内利用pip命令下载安装经常会遇到下载速度很慢甚至连接断开、响应超时等导致安装失败的情况。这时,我们可以选择国内的镜像配置pip源,仅需要在“pip install”命令后加入“-i 源地址”即可。
现在我们利用国内清华源安装TensorFlow的最新版本。
打开cmd,以下命令安装:
pip install -U tensorflow-gpu -i https://pypi.tuna.tsinghua.edu.cn/simple
“-U”参数指定如果已安装此包,则进行升级命令。
安装好后,我们检测是否安装成功:
进入python环境,打开ipython交互命令终端,导包:import tensorflow as tf
若无错误信息,输入
tf.test.is_gpu_available()
会返回tensorflow的gpu版本信息。
在末尾如果显示True,则tensorflow的gpu版本安装成功;若为False,则说明安装失败,需要重新检查CUDA,cuDNN的安装及其环境变量的配置。注意看返回的错误信息,重点检查CUDA和cuDNN的版本和tensorflow的版本是否匹配!
或者输入
tf.config.list_physical_devices('GPU')
还能查看服务类型。
还可以查看可用的gpu数量:
print('Num GPUs Available:',len(tf.config.list_physical_devices('GPU')))
还可以查看TensorFlow的版本信息:
tf.__version__
后面如果我们通过tensorflow进行模型训练,系统会自动使用GPU来训练,不用我们自己手动设置。
最后,希望这篇文章可以帮助到你!