草庐IT

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

Aaron-ywl 2023-04-13 原文

文章目录

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等
    • 强大的研究试验
      • 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来训练,不用我们自己手动设置。

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

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

  1. ruby - 在 64 位 Snow Leopard 上使用 rvm、postgres 9.0、ruby 1.9.2-p136 安装 pg gem 时出现问题 - 2

    我想为Heroku构建一个Rails3应用程序。他们使用Postgres作为他们的数据库,所以我通过MacPorts安装了postgres9.0。现在我需要一个postgresgem并且共识是出于性能原因你想要pggem。但是我对我得到的错误感到非常困惑当我尝试在rvm下通过geminstall安装pg时。我已经非常明确地指定了所有postgres目录的位置可以找到但仍然无法完成安装:$envARCHFLAGS='-archx86_64'geminstallpg--\--with-pg-config=/opt/local/var/db/postgresql90/defaultdb/po

  2. ruby - 完全离线安装RVM - 2

    我打算为ruby​​脚本创建一个安装程序,但我希望能够确保机器安装了RVM。有没有一种方法可以完全离线安装RVM并且不引人注目(通过不引人注目,就像创建一个可以做所有事情的脚本而不是要求用户向他们的bash_profile或bashrc添加一些东西)我不是要脚本本身,只是一个关于如何走这条路的快速指针(如果可能的话)。我们还研究了这个很有帮助的问题:RVM-isthereawayforsimpleofflineinstall?但有点误导,因为答案只向我们展示了如何离线在RVM中安装ruby。我们需要能够离线安装RVM本身,并查看脚本https://raw.github.com/wayn

  3. ruby-on-rails - rails 目前在重启后没有安装 - 2

    我有一个奇怪的问题:我在rvm上安装了ruby​​onrails。一切正常,我可以创建项目。但是在我输入“railsnew”时重新启动后,我有“程序'rails'当前未安装。”。SystemUbuntu12.04ruby-v"1.9.3p194"gemlistactionmailer(3.2.5)actionpack(3.2.5)activemodel(3.2.5)activerecord(3.2.5)activeresource(3.2.5)activesupport(3.2.5)arel(3.0.2)builder(3.0.0)bundler(1.1.4)coffee-rails(

  4. ruby - 如何为 emacs 安装 ruby​​-mode - 2

    我刚刚为fedora安装了emacs。我想用emacs编写ruby。为ruby​​提供代码提示、代码完成类型功能所需的工具、扩展是什么? 最佳答案 ruby-mode已经包含在Emacs23之后的版本中。不过,它也可以通过ELPA获得。您可能感兴趣的其他一些事情是集成RVM、feature-mode(Cucumber)、rspec-mode、ruby-electric、inf-ruby、rinari(用于Rails)等。这是我当前用于Ruby开发的Emacs配置:https://github.com/citizen428/emacs

  5. ruby-on-rails - 无法在centos上安装therubyracer(V8和GCC出错) - 2

    我正在尝试在我的centos服务器上安装therubyracer,但遇到了麻烦。$geminstalltherubyracerBuildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingtherubyracer:ERROR:Failedtobuildgemnativeextension./usr/local/rvm/rubies/ruby-1.9.3-p125/bin/rubyextconf.rbcheckingformain()in-lpthread...yescheckingforv8.h...no***e

  6. ruby - 通过 RVM (OSX Mountain Lion) 安装 Ruby 2.0.0-p247 时遇到问题 - 2

    我的最终目标是安装当前版本的RubyonRails。我在OSXMountainLion上运行。到目前为止,这是我的过程:已安装的RVM$\curl-Lhttps://get.rvm.io|bash-sstable检查已知(我假设已批准)安装$rvmlistknown我看到当前的稳定版本可用[ruby-]2.0.0[-p247]输入命令安装$rvminstall2.0.0-p247注意:我也试过这些安装命令$rvminstallruby-2.0.0-p247$rvminstallruby=2.0.0-p247我很快就无处可去了。结果:$rvminstall2.0.0-p247Search

  7. ruby-on-rails - 项目升级后 Pow 不会更改 ruby​​ 版本 - 2

    我在我的Rails项目中使用Pow和powifygem。现在我尝试升级我的ruby​​版本(从1.9.3到2.0.0,我使用RVM)当我切换ruby​​版本、安装所有gem依赖项时,我通过运行railss并访问localhost:3000确保该应用程序正常运行以前,我通过使用pow访问http://my_app.dev来浏览我的应用程序。升级后,由于错误Bundler::RubyVersionMismatch:YourRubyversionis1.9.3,butyourGemfilespecified2.0.0,此url不起作用我尝试过的:重新创建pow应用程序重启pow服务器更新战俘

  8. ruby - 如何在 Lion 上安装 Xcode 4.6,需要用 RVM 升级 ruby - 2

    我实际上是在尝试使用RVM在我的OSX10.7.5上更新ruby,并在输入以下命令后:rvminstallruby我得到了以下回复:Searchingforbinaryrubies,thismighttakesometime.Checkingrequirementsforosx.Installingrequirementsforosx.Updatingsystem.......Errorrunning'requirements_osx_brew_update_systemruby-2.0.0-p247',pleaseread/Users/username/.rvm/log/138121

  9. ruby - Fast-stemmer 安装问题 - 2

    由于fast-stemmer的问题,我很难安装我想要的任何ruby​​gem。我把我得到的错误放在下面。Buildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingfast-stemmer:ERROR:Failedtobuildgemnativeextension./System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/rubyextconf.rbcreatingMakefilemake"DESTDIR="cleanmake"DESTDIR=

  10. ruby-on-rails - 在 ruby​​ .gemspec 文件中,如何指定依赖项的多个版本? - 2

    我正在尝试修改当前依赖于定义为activeresource的gem:s.add_dependency"activeresource","~>3.0"为了让gem与Rails4一起工作,我需要扩展依赖关系以与activeresource的版本3或4一起工作。我不想简单地添加以下内容,因为它可能会在以后引起问题:s.add_dependency"activeresource",">=3.0"有没有办法指定可接受版本的列表?~>3.0还是~>4.0? 最佳答案 根据thedocumentation,如果你想要3到4之间的所有版本,你可以这

随机推荐