安装tensorflow的GPU版本(详细图文教程)--CUDA11.6的安装

2023-05-16

文章目录

  • 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名字的由来.

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PFbJnP45-1654697407695)(.\img\数据流图.gif)]

  • 支持多种平台,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 架构

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pnFMJlYW-1654697407696)(.\img\TensorFlow2.0架构.jpg)]

  • 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等
    • 强大的研究试验
      • Keras功能API和子类API、允许创建复杂的拓扑结构
      • 自定义训练逻辑、使用tf.GraddientTape和tf.custom_gradient进行更细粒度的控制
      • 底层API自始至终可以与高层结合使用、完全的可定制
      • 高级扩展:Ragged Tensor、Tensor2Tensor等
    • 清除不推荐使用的API和减少重复来简化API

安装过程

常用IDE安装

python3.9的安装

在官网可以下载python3.9并安装好。这里我就不介绍了,想详细了解的可以看看我的这篇文档哦:机器学习常用的环境和工具安装和使用介绍

Anaconda的安装

这里我也不重点介绍了,我之前也重点详细地写过相关文章↓
还是搞不懂Anaconda是什么?读这一篇文章就够了
Jupyter notebook/Pycharm调用Anaconda虚拟环境
有需要的可以自行查看哦!一定会对你有帮助的!!!

CUDA安装

CUDA(Compute Unified Device Architecture),是显卡厂商NVIDIA推出的运算平台。 CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。 开发人员可以使用C语言来为CUDA架构编写程序,所编写出的程序可以在支持CUDA™的处理器上以超高性能运行。CUDA3.0已经开始支持C++和FORTRAN。

我们可以安装CUDA来进行深度学习在NVIDIA的GPU显卡加速运算。

但是我们在安装CUDA之前,要先确认计算机上是否支持CUDA程序的NVIDIA显卡设备。
打开设备管理器,查看显示适配器是否有英伟达的显卡配置
在这里插入图片描述
可以看出我的是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盘,一定一定不要修改。(来自一个手贱的人的警告)
一定一定要记住安装路径,因为后面配置环境要用到!!!
在这里插入图片描述
请添加图片描述
请添加图片描述
请添加图片描述
安装完成后,我们打开环境变量查看环境是否配置好了,打开系统变量:
请添加图片描述
如果系统变量没有自动配置的话,需要我们手动配置。路径是根据前面是否自己有没有修改来指定。↓
请添加图片描述
配置好环境变量后,我们检查下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\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\libnvvp
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\lib
C:\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的话则配置成功!

都安装好之后,我们可以继续输入nvidia-smi查看CUDA的信息,然后根据安装版本的信息再去实现其他的库(环境)安装和使用!
在这里插入图片描述
如图所示,可以看到驱动的版本是511.23;最高支持的CUDA版本是11.6版本。

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来训练,不用我们自己手动设置。

最后,希望这篇文章可以帮助到你!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

安装tensorflow的GPU版本(详细图文教程)--CUDA11.6的安装 的相关文章

  • 当我想在电脑中加载该模型时,我可以在 colab bu 中加载我的深度模型,但我不能

    我在colab中通过keras 2 3 1和tensorflow 2 1 0训练了一个深度模型 我用JSON和Keras保存了我的模型 saveWeightPath content drive My Drive model info mod
  • 在 keras 中使用自定义张量流操作

    我在张量流中有一个脚本 其中包含自定义张量流操作 我想将代码移植到 keras 但我不确定如何在 keras 代码中调用自定义操作 我想在 keras 中使用tensorflow 所以到目前为止我发现的教程描述了与我想要的相反的内容 htt
  • 在tensorflow .ckpt文件中使用预训练模型

    我有一个 ckpt 文件 我只想得到 cnn 的权重 我已经从 ckpt 检查点文件中进行了训练 inception resnet v2 2016 08 30 import tensorflow as tf saver tf train S
  • Keras 序列模型中的数据增强层

    我正在尝试将数据增强作为一个层添加到模型中 但我遇到了我认为是形状问题 我也尝试在增强层中指定输入形状 当我取出data augmentation模型中的图层运行良好 preprocessing RandomFlip horizontal
  • LSTM 批次与时间步

    我按照 TensorFlow RNN 教程创建了 LSTM 模型 然而 在这个过程中 我对 批次 和 时间步长 之间的差异 如果有的话 感到困惑 并且我希望得到帮助来澄清这个问题 教程代码 见下文 本质上是根据指定数量的步骤创建 批次 wi
  • 张量流急切模块错误

    我的操作系统是 Ubuntu 16 04 Python版本是3 5 张量流版本是14 0 当我尝试为 TF Eager 模块编写简单代码时 import tensorflow as tf import tensorflow contrib
  • 错误:NVIDIA-SMI 失败,因为无法与 NVIDIA 驱动程序通信

    NVIDIA SMI 抛出此错误 NVIDIA SMI 失败 因为无法与 NVIDIA 通信 司机 确保安装了最新的 NVIDIA 驱动程序并且 跑步 我清除了 NVIDIA 并按照提到的步骤重新安装了它here https askubun
  • TensorFlow:在输入处获取梯度时性能缓慢

    我正在使用 TensorFlow 构建一个简单的多层感知器 并且我还需要获取神经网络输入损失的梯度 或误差信号 这是我的代码 它有效 cost tf reduce mean tf nn softmax cross entropy with
  • TensorFlow:有没有办法将冻结图转换为检查点模型?

    可以将检查点模型转换为冻结图 ckpt 文件转换为 pb 文件 但是 是否有反向方法将 pb 文件再次转换为检查点文件 我想它需要将常量转换回变量 有没有办法将正确的常量识别为变量并将它们恢复回检查点模型 目前支持将变量转换为常量 http
  • Keras 通过设置种子获得不同的结果[重复]

    这个问题在这里已经有答案了 在keras中 每次运行都有很高的方差和不稳定的性能 为了解决这个问题 根据https keras io getting started faq how can i obtain reproducible res
  • 如何在Google机器学习中将jpeg图像转换为json文件

    我正在研究 Google Cloud ML 我想对 jpeg 图像进行预测 为此 我想使用 gcloud beta ml 预测 instances INSTANCES model MODEL version VERSION https cl
  • 如何在anaconda python 3.6上安装tensorflow

    我使用 anaconda 包安装了新版本的 python 3 6 但是我无法安装张量流 总是收到这样的错误 tensorflow gpu 1 0 0rc2 cp35 cp35m win amd64 whl 在此平台上不受支持 如何在 ana
  • 张量流和线程

    下面是来自 Tensorflow 网站的简单 mnist 教程 即单层 softmax 我尝试通过多线程训练步骤对其进行扩展 from tensorflow examples tutorials mnist import input dat
  • 对于只有 10000 个单词的字典来说,真正需要什么嵌入层 output_dim?

    我正在训练一个 RNN 其单词特征集非常少 大约 10 000 个 我计划在添加 RNN 之前从嵌入层开始 但我不清楚真正需要什么维度 我知道我可以尝试不同的值 32 64 等 但我宁愿先有一些直觉 例如 如果我使用 32 维嵌入向量 则每
  • 在 GPU 支持下对高维数据进行更快的 Kmeans 聚类

    我们一直在使用 Kmeans 来对日志进行聚类 典型的数据集有 10 mill 具有 100k 特征的样本 为了找到最佳 k 我们并行运行多个 Kmeans 并选择轮廓得分最佳的一个 在 90 的情况下 我们最终得到的 k 介于 2 到 1
  • 带有 CUDA 的 Tensorflow:导入错误

    我已经按照 NVIDIA 教程中的说明一步步安装了 TensorFlow Ubuntu 16 04 桌面版 GTX 970 http www nvidia com object gpu accelerated applications te
  • Tensorflow 中的自定义资源

    由于某些原因 我需要为 Tensorflow 实现自定义资源 我试图从查找表实现中获得灵感 如果我理解得好的话 我需要实现3个TF操作 创建我的资源 资源的初始化 例如 在查找表的情况下填充哈希表 执行查找 查找 查询步骤 为了促进实施 我
  • 如何将张量流模型部署到azure ml工作台

    我在用Azure ML Workbench执行二元分类 到目前为止 一切正常 我有很好的准确性 我想将模型部署为用于推理的 Web 服务 我真的不知道从哪里开始 azure 提供了这个doc https learn microsoft co
  • tf.gather_nd 直观上是做什么的?

    你能直观地解释一下或者举更多例子吗tf gather nd用于在 Tensorflow 中索引和切片为高维张量 我读了API https www tensorflow org api docs python tf gather nd 但它保
  • 在张量流中向卷积神经网络提供可变大小的输入

    我正在尝试使用 feed dict 参数将不同大小的 2d numpy 数组列表传递给卷积神经网络 x tf placeholder tf float32 batch size None None None y tf placeholder

随机推荐