Windows 11 安装tensorflow-gpu深度学习环境

image

前言

TensorFlow 是一个由 Google 建立的深度学习库,自从去年年初推出以来,它已经获得了很大的吸引力。主要功能包括自动微分、卷积神经网络(CNN)和回归神经网络(RNN)。它是用 C + + 和 Python 编写的,为了提高性能,它使用了一个名为“ Cloud TensorFlow”的服务器,该服务器运行在 Google Cloud Platform 上。它不需要 GPU,而 GPU 是它的主要功能之一。

Tensorflow 的最新版本也通过 matplotlib 支持数据可视化。这个可视化库非常流行,它经常用于数据科学课程,以及艺术家和工程师使用 MATLAB 或 Python/R/等进行数据可视化。

前期软件准备:

image.png

  • windows 7 或者更新 (我这里使用的是windows11)
  • python 3.7-3.10 (我这里使用的是anaconda ,便于库的安装和环境管理)
  • 合适的 Microsoft Visual Studio (但是我这里没有进行安装,可能系统已经提前自带了)
  • python 编译器选择的是vscode

如果需要安装Microsoft Visual Studio的话可以在以下链接进行下载:

https://visualstudio.microsoft.com/zh-hans/vs/

具体安装步骤

1、检查显卡

首先,在windows上安装深度学习环境,需要先了解你的显卡型号。知道了显卡型号,以及适配的 cuda 和 cudnn 所对应的版本,再进行相关下载可以避免很多问题。

查看显卡型号的方法有两种:

  • 查看任务管理器 - GPU

image.png

  • 开始 - 设备管理器 - 显示适配器

image.png


查看cuda 支持的系统和对应的版本:

image.png


这里,以我的显卡3060ti为例,安装tensorflow-gpu深度学习环境。


首先需要查看一些tensorflow支持的gpu加速对应的cuda 和 cudnn 版本以及 python版本

网址在这:
点击这里查看更多信息

image.png


2、安装cuda

这里以安装cuda 11.2 和 cudnn 8.1 为例,为什么选择这两个版本下面会说明

cuda下载网址

image.png

点击想要安装的版本,屏幕将弹出,在那里你可以选择一些选项,按照下面的图片,并选择这些选项为 Windows。

image.png

选择上述选项后,等待下载完成。

image.png

使用 Express (推荐)选项安装它,(也可自己修改安装位置)在您的机器上安装需要一段时间。


3、安装cudnn

然后,安装cudnn

cudnn下载网址

image.png

根据需要的版本进行安装,我这儿安装cudnn8.1,所以需要找到之前的版本

image.png

Archive of Previous Releases 查看安装之前的版本

image.png

现在,检查 CUDA 和 cuDNN 的版本,然后单击下载您的操作系统。如果您找不到所需的版本,请单击 cuDNN Archive 并从那里下载。选择合适的平台下载,我这就选for windows10

image.png

下载完成后,解压缩文件。

image.png

复制这3个文件夹(bin,include,lib)。转到 C 盘 > Program Files,搜索 NVIDIA GPU Computing Toolkit。

image.png

复制到NVIDIA GPU Computing Toolkit的路径下:

image.png

现在点击 bin 文件夹并复制路径,它应该像这样: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\bin

4、配置cudnn环境

好了,现在就是最重要的一步,在你安装好cuda并且将cudnn复制替换到对应的文件夹后,需要告诉windows系统你的cudnn安装路径在哪。

打开此电脑 - 属性 - 高级系统设置 - 环境变量 - 系统变量 , 新建一个变量名称为CUDNN ,变量值为以下文件夹所在的路径

  • cuda
  • lib
  • include
  • bin

image.png

就上面这样

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2;
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\bin;
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\include;
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\lib;

注意: 确保将这些路径同时添加到 CUDNN 和 Path System 变量。

就是这样。我们已经成功地在我们的 Windows 系统上设置了 CUDA 和 cuDNN。

ps notes

当然, 如果感觉不保险,我们可以在用户变量里面再添加一个Path (如果你害怕没有设置好的话)。

环境变量 - 用户变量 - Path

然后在

image.png

就是这上的Path ,双击点开它,然后:新建 - 浏览 - 切换到你安装的C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\下面,进行添加,(或直接复制到里面);然后依次将

  • lib
  • include
  • cuda
  • bin

的文件同样添加进来,添加完后大概就是这样:

image.png

虽然我感觉没必要这么干

5、检查cuda环境

如何检查你的cuda 和 cudnn 是否完成安装呢?

win + r 快捷键调出窗口输入cmd

image.png

然后在命令行输入 nvcc -- version

image.png

如果CUDA已正确安装,则应该看到CUDA版本信息。如果未安装CUDA,您将收到相应的错误消息。


6、安装tensorflow-gpu

然后,我们需要查看tensorflow-gpu支持的cuda版本和python版本,网址在这:

tensorflow-gpu support version

查表可得,当前最高支持的版本是cuda 11.2 和 cudnn 8.1

image.png

然后我们打开 Anaconda Prompt , 建立一个新的tensorflow-gpu环境

conda create --name tf2.10 python==3.8
conda activate tf2.10 

如所示

image.png

安装tensorflow-gpu版本,这里注意需要带上对应的版本号,不带上可能会导致安装的库无法正常使用!(血坑。。)

pip install tensorflow==2.10.0

image.png

大概时间在几分钟内就可以安装完成,和网速有关

7、测试tensorflow-gpu安装是否成功,cuda环境是否成功

测试安装是否成功,一样是在命令行输入

输入 python

输入 from tensorflow.python.client import device_lib

输入 print(device_lib.list_local_devices())

image.png


python

from tensorflow.python.client import device_lib

print(device_lib.list_local_devices())

import tensorflow as tf

此时会看到是否有列出GPU的信息,若表示安裝成功

8、在vscode中.ipynb文件下运行tensorflow

发现,在vscode中除了必备的jupyter、conda等插件外,需要额外安装一个库,否则会报以下问题:

image.png

虽然可以直接点击安装,但是我推荐直接在anaconda prompt里进行安装。!注意:环境要切换到你刚刚装好的tf2.10里面!

(因为我直接点击弹窗里面的安装还是没装上…)

conda install  ipykernel 

image.png

然后,再返回到vscode里面就可以正常导入库了:

image.png


查看cuda 支持的系统和对应的版本:

https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html

查看tensorflow支持的python版本:

https://tensorflow.google.cn/install/source_windows?hl=en#gpu

安装参考:

https://hackmd.io/@jerrychu/S1QvFG98h#%E5%85%88%E8%A9%A6%E8%91%97%E5%AE%89%E8%A3%9DCuda-118%E8%A9%A6%E8%A9%A6
https://neptune.ai/blog/installing-tensorflow-2-gpu-guide
https://medium.com/geekculture/install-cuda-and-cudnn-on-windows-linux-52d1501a8805

封面:https://files.mdnice.com/user/57394/7a002923-cd12-4047-a892-1686ca89ea34.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/509853.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux环境基础和工具的使用

目录 1、Linux软件包管理器---yum 2、Linux开发工具 2.1、vim基本概念 2.2 vim基本操作 2.3 vim正常模式命令集 2.4 vim末行模式命令集 2.5 简单vim配置 2.5.1 配置文件的位置 3 Linux编译器--gcc/g的使用 3.1 背景知识 3.2 gcc完成 4 Linux调试器--gdb使用 4.1 背…

每日面经分享(pytest测试案例,接口断言,多并发断言)

pytest对用户登录接口进行自动化脚本设计 a. 创建一个名为"test_login.py"的测试文件,编写以下测试脚本 import pytest import requests# 测试用例1:验证登录成功的情况 # 第一个测试用例验证登录成功的情况,发送有效的用户名和密…

【Linux】ubuntu安装google gtest框架

本文首发于 ❄️慕雪的寒舍 ubuntu 22.04.03 LTS 安装 google gtest 框架 1.依赖项 首先在ubuntu中安装如下包 sudo apt install -y unzip g gcc cmake make automake2.下载软件包 进入google gtest的github页面,下载源码包 Releases google/googletest https…

云数据中心传输的出路

研发端到端协议不是出路,研发更智能调度流量的交换机不是出路,将流量按长短突发模式分流到不同链路(逻辑的或物理的)才是出路。所有高速传输的前提是标准化,统一简单的操作。多么简单的领悟。 数据中心网络具有范围小,带宽大&…

C语言 输入输出语句讲解 标识符概念讲解

上文 C语言 预处理器 注释 基本案例讲解 我们讲了一些 预处理器等逻辑 那么 本文继续 C语言由一个或多个函数组成,每个程序都必须有一个main() 函数 因为每个程序总是从这个函数开始执行 main() 函数可以返回一个值,返回值为0表示程序正常结束 如果有多…

38.基于SSM实现的传统文化网站系统(项目 + 论文)

项目介绍 随着信息技术在管理上越来越深入而广泛的应用,作为一个一般的企业都开始注重与自己的信息展示平台,实现传统文化网站在技术上已成熟。本文介绍了传统文化网站的开发全过程。通过分析传统文化的需求,创建了一个计算机管理传统文化网站…

百廿荣光 逐梦远航——记黄城根小学120年校庆

逝者如斯,黄城根小学建校百二十年矣。回首往昔,峥嵘岁月,如画卷展开,历历在目,皆美景胜概。楼宇更迭,万象更新;历代师生,薪火相传。笃学笃行,育桃李于学堂;至…

Linux 内核优化简笔 - 高并发的系统

简介 Linux 服务器在高并发场景下,默认的内核参数无法利用现有硬件,造成软件崩溃、卡顿、性能瓶颈。 当然,修改参数只是让Linux更好软件的去利用已有的硬件资源,如果硬件资源不够也无法解决问题的。而且当硬件资源不足的时候&am…

低代码革新:软件开发的未来潜力与创新路径探索

过去的一年,挑战与机遇并存。人们一边忧虑市场经济下行所带来的新的增长难题、裁员危机,一边惊叹于AIGC、量子技术等领域不断涌现新的创新成果。 时代发生了改变,传统“互联网”的模式已走入尾声,新一轮的科技革命与产业变革正在到…

【VSCode+Keil5+STM32CubeMX】开发环境配置

一、软件下载 二、软件安装 三、配置环境 四、验证开发环境 五、Keil与VS Code的同步 从0到1搭建VS Code Keil5 STM32CubeMX开发环境 优点 支持标准库HAL库LL库代码编辑更“现代化”:代码提示、函数跳转、更高自由度的定制主题等优点多端同步,VS Code和…

深入了解C语言中的结构体类型与内存对齐

引言: 在C语言中,结构体是一种自定义的数据类型,它允许我们将不同类型的数据组合在一起,形成一个新的数据类型。结构体的使用为我们解决了一些复杂数据的表示和处理问题,不仅限于单单的整型或者字符。本文将深入探讨结…

金三银四上岸!2024最新Java高频面试题总结(附答案PDF)!

《Java面试全解析》1000道 面试题大全详解(针对于应届生、三到五年经验、六到十年经验!) 本人是 2009 年参加编程工作的,一路上在技术公司摸爬滚打,前几年一直在上海,待过的公司有 360 和游久游戏&#xf…

Mysql数据库getshell方法

今天摸鱼时候,突然有人问我不同的数据库getshell的方式,一时间我想到了mysql还有redis未授权访问到getshell的方式,但是仅仅第一时间只想到了这两种,我有查了查资料,找到了上面两种数据库getshell的补充,以…

python实现泊松回归

1 什么是基于计数的数据? 基于计数的数据包含以特定速率发生的事件。发生率可能会随着时间的推移或从一次观察到下一次观察而发生变化。以下是基于计数的数据的一些示例: 每小时穿过十字路口的车辆数量每月去看医生的人数每月发现的类地行星数量 计数数…

Mysql 常用SQL语句

1、查看mysql中所有的数据库, show databases; 2、创建库 create database 库名;(也可以用 create database if not exists 库名; 表示如果库不存在再创建) 例:create database if not exists ecology; 3、删除库 …

Linux安全加固

账号和权限 系统用户 超级管理员&#xff1a;UID0 系统默认用户&#xff1a;系统程序使用&#xff0c;从不登录 新增普通用户&#xff1a;UID大于500 用户管理 添加用户&#xff1a;useradd <用户名> 删除用户&#xff1a;userdel [-r] [-f] <用户名> 锁定/解…

electron 打包生成的latest.yml文件名字变成xxx.yml文件名

正常情况是electron每次打包会生成一个latest.yml文件和一个xxx.exe文件&#xff0c;但是当version的名字修改成 这样 后面添加了-beta &#xff0c;然后生成的文件名字就变成了 beta.yml 更改方法&#xff1a; 在build配置底下添加 "detectUpdateChannel": false…

我的C++奇迹之旅:值和引用的本质效率与性能比较

文章目录 &#x1f4dd;引用&#x1f320;引用概念&#x1f309;引用特性 &#x1f320;使用场景&#x1f309;做参数&#xff08;传值与传地址&#xff09;&#x1f309;传值、传引用效率比较 &#x1f320;引用做返回值&#x1f309;引用和指针的区别 &#x1f320;常引用&am…

坚持刷题|分发饼干

文章目录 题目思路代码实现实现总结主要步骤时间复杂度 扩展问题 Hello&#xff0c;大家好&#xff0c;我是阿月。坚持刷题&#xff0c;老年痴呆追不上我&#xff0c;今天刷第一个贪心算法&#xff1a;分发饼干 题目 455.分发饼干 思路 要解决这个问题&#xff0c;可以使用…

深度学习实战73-基于多模态CLIP模型的实战项目,CLIP模型的架构介绍与代码实现

大家好,我是微学AI,今天给大家介绍一下深度学习实战73-基于多模态CLIP模型的实战项目,CLIP模型的架构介绍与代码实现。多模态CLIP(Contrastive Language-Image Pre-training)模型是一种深度学习模型,其核心设计理念是通过大规模的对比学习训练,实现图像与文本之间的跨模…