Windows11搭建GPU版本PyTorch环境详细过程

Anaconda安装

https://www.anaconda.com/

  • Anaconda: 中文大蟒蛇,是一个开源的Python发行版本,其包含了condaPython等180多个科学包及其依赖项。
  • 从官网下载Setup:点击安装,之后勾选上可以方便在普通命令行cmdPowerShell中使用Anaconda命令,一般他会提示不推荐,防止冲突。
    在这里插入图片描述
  • 验证是否安装成功:打开Anaconda的图形化界面Anaconda Navigator,看到Environments中有base,是默认虚拟环境,代表成功。
    在这里插入图片描述
    在这里插入图片描述
  • Anaconda命令行验证安装成功:可以打开Anaconda PowerShell prompt(或Anaconda prompt,二者没啥太大区别)输入命令行 conda --version(或者python --version),返回对应版本即成功。可以看到是在base的虚拟环境中了。
    在这里插入图片描述
  • PowerShell或cmd验证安装成功:因为小编在安装Anaconda过程中将其配置到环境变量中,所以用PowerShellcmd也可以验证是否安装成功。但此时没有在base的虚拟环境中,可以说明本机已经安装了Anaconda
    在这里插入图片描述
    在这里插入图片描述

虚拟环境创建

  • Anaconda PowerShell prompt(或Anaconda prompt)查看已有的虚拟环境:命令行输入conda env list。其中星号*代表当前的虚拟环境。
    在这里插入图片描述
  • 创建新的虚拟环境:命令行输入conda create -n deeplearning python=3.11
    在这里插入图片描述
  • 创建成功
    在这里插入图片描述
  • 激活新创建的虚拟环境:激活命令conda activate deeplearning;失活命令 conda deactivate。可以看到从base虚拟环境转化到deeplearning的虚拟环境中了。
    在这里插入图片描述
  • 查看当前虚拟环境中有那些安装包:命令行conda list
    在这里插入图片描述

GPU与CUDA的准备工作

  • 确定本机显卡的算力:https://developer.nvidia.com/cuda-gpus
    在这里插入图片描述
  • 查看本机显卡对应的CUAD驱动版本:命令行输入nvidia-smi,可以看到本机显卡RTX3060对应的CUDA版本是11.6
    在这里插入图片描述
    或者"鼠标右键–NVIDIA控制面板–系统信息–组件",找对对应的cuda版本;本机显卡需要的CUDA驱动为11.6.134版本。
    在这里插入图片描述
  • 安装CUDA Tookit:https://developer.nvidia.com/cuda-toolkit-archive
    (1)选择对应的CUDA Tookit版本
    在这里插入图片描述
    (2)顺序点击1-2-3-4-5后,等待安装。
    在这里插入图片描述
    (3)选择安装路径,默认即可;是安装包解压路径,CUDA安装完毕文件会自动删除。
    在这里插入图片描述
    在这里插入图片描述
    (4)安装,可选择组件安装,小编全部安装了。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 验证安装成功:PowerShell(或cmd)输入命令nvcc -V,返回如下截图,表示安装成功。
    在这里插入图片描述
  • CUDA Tookit与驱动关系:https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html

cudnn的安装

https://developer.nvidia.com/rdp/cudnn-download
一般对GPU训练有加速能力,需要注册登录NVIDIA账号才可以下载。
在这里插入图片描述

  • 选择对应版本:1-2-3顺序选择下载。
    在这里插入图片描述
  • 将下载文件解压后放换到NVIDIA GPU Tookit(C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6)里对应的目录binincludelib中。
    (1)将下载下来的cudnnbin文件拷贝到NVIDIA GPU Tookitbin中。
    在这里插入图片描述
    在这里插入图片描述
    (2)将下载下来的cudnninclude文件拷贝到NVIDIA GPU Tookitinclude中。
    在这里插入图片描述
    在这里插入图片描述
  • 将下载下来的cudnnlib\x64中文件拷贝到NVIDIA GPU Tookit目录x64\lib中。
    在这里插入图片描述
    在这里插入图片描述
  • 验证是否安装成功:“C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\extras\demo_suite>”,然后分别运行里的 bandwidthTest.exedeviceQuery.exe,有PASS即代表成功。
    在这里插入图片描述
    在这里插入图片描述

PyTorch安装:

  • Anaconda中的都命令行输入conda env list,星号*表示当前环境在base虚拟环境中。
    在这里插入图片描述
  • 切换到新创建的deeplearning虚拟环境中,命令行输入conda activate deeplearning
    在这里插入图片描述
  • PyTorch官网https://pytorch.org/复制命令行在deeplearning虚拟环境中安装PyTorch
    在这里插入图片描述
  • 安装成功
    在这里插入图片描述

PyCharm配置PyTorch

  • 下载PyCharm:https://www.jetbrains.com/zh-cn/pycharm/
  • 配置Python解释器:选择Anaconda中创建的deeplearning的虚拟环境中的Python版本。
    在这里插入图片描述
    在这里插入图片描述
  • 验证已经安装的环境:PythonCUDAcudnnPyTorch等。
# This is a sample Python script.# Press Shift+F10 to execute it or replace it with your code.
# Press Double Shift to search everywhere for classes, files, tool windows, actions, and settings.import sys
import torch
from torch.backends import cudnn# 返回已经安装的Python版本
print(sys.version)# 返回已经安装的PyTorch版本
print(torch.__version__)# 返回True则表示已经安装了cuda
print(torch.cuda.is_available())# 返回True则说明已经安装了cudnn
print(cudnn.is_available())

输出结果:如下图,则表示GPU版本的PyTorch开发环境都已经配置好了,可以进行训练和推理过程了。
在这里插入图片描述

参考

  • https://zhuanlan.zhihu.com/p/680173003

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

BGP同步规则

BGP同步规则:开启同步下,从IBGP收到一条路由不会传给任何EBGP邻居(实验效果IBGP邻居和EBGP邻居都不传),除非从自身的IGP中也学到这条路由。目的是防止AS内部出现路由黑洞,向外部通告了一个本AS不可达的虚假的路由。 同步规则只影响…

qt学习:http+访问百度智能云api实现车牌识别

目录 登录到百度智能云,找到文字识别 完成操作指引 开通 查看车牌识别的api文档 ​编辑​编辑 查看自己应用的api key 查看回应的数据格式 编程步骤 ui界面编辑 添加模块,头文件和定义变量 新建两个类,一个图像Image类&#xff0c…

Linux常用指令的整合

之前面试被问到了Linux相关的指令,所以我整理的一份常用的Linux指令列表,适用于大多数Linux发行版,现分享给大家: 文件操作 ls:列出目录内容。cd [目录]:更改当前目录。pwd:显示当前目录路径。m…

Day01-变量和数据类型课后练习(输出你最想说的一句话,定义所有基本数据类型的变量和字符串变量,用合适类型的变量存储个人信息并输出,定义圆周率PI,简答题)

参考答案博客链接跳转 文章目录 1、输出你最想说的一句话!2、定义所有基本数据类型的变量和字符串变量3、用合适类型的变量存储个人信息并输出4、定义圆周率PI5、简答题 1、输出你最想说的一句话! 编写步骤:List item定义类 Homework1&…

Qt容器QVariant

在Qt中,QVariant是一个通用的值容器,它可以存储任意类型的数据,例如整数、字符串、列表等等。其主要用于提供一种通用的数据类型,方便在不同的函数、类、模块之间传递数据。 QVariant类是Qt的共用体union数据类型,不仅…

【嵌入式移植】5、U-Boot源码分析2—make nanopi_neo2_defconfig

U-Boot源码分析2—make nanopi_neo2_defconfig 1 概述2 nanopi_neo2_defconfig3 编译过程分析3.1 编译目标3.2 scripts_basic3.2.1 prefix src定义3.2.2 PHONY3.2.3 __build3.2.4 fixdep3.3 objscripts/kconfig 1 概述 上一章中,对Makefile相关源码进行了初步分析&…

从零开始:CentOS系统下搭建DNS服务器的详细教程

前言 如果你希望在CentOS系统上建立自己的DNS服务器,那么这篇文章绝对是你不容错过的宝藏指南。我们提供了详尽的步骤和实用技巧,让你能够轻松完成搭建过程。从安装必要的软件到配置区域文件,我们都将一一为你呈现。无论你的身份是运维人员,还是程序员,抑或是对网络基础设…

服务端开发小记02——Maven

这里写目录标题 Maven简介Maven在Linux下的安装Maven常用命令 Maven简介 Apache Maven Project是一个apache的开源项目,是用于构建和管理Java项目的工具包。 用Maven可以方便地创建项目,基于archetype可以创建多种类型的java项目;Maven仓库…

5G_RACH(一)

什么是RACH RACH 代表 Random Access Channel。这是开机时UE发给eNB的第一条消息。 为什么选择RACH ?(RACH 的功能是什么? 当你第一次听到RACH或RACH Process这个词时,你脑海中浮现的第一个问题是“为什么是RACH?”…

HarmonyOS --@Prop和@Link同步信息装饰器

当应用中父子组件需要数据同步时,可以使用Prop和Link装饰器 一个组件被引用时,引用其他组件的组件就是父组件、被引用的组件就是子组件。 由于State装饰器无法执行父子之间的数据通信 Prop:单向同步、父组件中修改数据,会同步到子…

最近公共祖先(LCA)主要算法:

1)向上标记法: 从x向上走到根节点,并标记所有经过的节点。 从y向上走到根节点,当第一次遇到已标记的节点时,就找到了LCA(x,y). 2)树上倍增法: 树上倍增法是一个很重要…

心理学笔记——我们如何思考-思想、语言和手语

我们如何思考-思想、语言和手语 研究语言的理论:计算理论、认知神经学、进化论 当我们讨论语言时,指的是英语、中文、日语这样的语言系统 所有语言都共享一些深层且复杂的共性,最直观的就是每一种语言都能够有效地表达抽象概念——思想、物…

05 Redis之Benchmark+简单动态字符串SDS+集合的底层实现

3.8 Benchmark Redis安装完毕后会自动安装一个redis-benchmark测试工具,其是一个压力测试工具,用于测试 Redis 的性能。 src目录下可找到该工具 通过 redis-benchmark –help 命令可以查看到其用法 3.8.1 测试1 3.9 简单动态字符串SDS 无论是 Redis …

redis原理(五)Lua语言

一、介绍: 1、背景: 在 Redis 的 2.6 以上版本中,除了可以使用命令外,还可以使用 Lua 语言操作 Redis。 Redis 命令的计算能力并不算很强大,而使用 Lua 语言则在很大程度上弥补了 Redis 的这个不足。 2、特点&#…

网络通信实现

【 一 】网络通信实现 【 1 】实现网络通信的四要素 本机的ip地址 子网掩码 网关的IP地址 DNS的IP地址( 域名系统) DNS服务器是指提供域名解析服务的服务器。它负责将域名转换为相应的IP地址,以便计算机可以通过IP地址与其他设备进行通信。 通过使用DNS服务器…

【C语言】linux内核ipoib模块 - ipoib_netdev_ops_pf结构

一、ipoib_netdev_ops_pf结构 static const struct net_device_ops ipoib_netdev_ops_pf {.ndo_init ipoib_ndo_init,.ndo_uninit ipoib_ndo_uninit,.ndo_open ipoib_open,.ndo_stop ipoib_stop,.ndo_change_mtu ipoib_change_mtu,.ndo_…

java servlet勤工助学家教管系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 java servlet 勤工助学家教管系统是一套完善的java web信息管理系统 serlvetdaobean mvc 模式开发 ,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myecli…

绝地求生:【PC】开发者日志:竞技比赛地图轮换

各位玩家大家好,欢迎收看闲游盒本期开发者日志。 今天闲游盒想和大家分享一下2024年竞技比赛地图轮换的几项主要改动。 从第28赛季第1轮更新(2月)开始,竞技比赛的地图阵容中将包含所有8x8尺寸的地图,在电竞赛事中出场…

linux ping 某台服务的端口

在 Linux 中&#xff0c;可以使用 telnet 命令来测试远程主机的端口是否可达。以下是使用 telnet 命令来 ping 端口的示例&#xff1a; telnet <远程主机IP> <端口号> 例如&#xff0c;如果要测试远程主机 192.168.1.100 的端口 80 是否可达&#xff0c;可以使用…

SpringBoot-yml文件的配置与读取

配置 值前边必须要有空格&#xff0c;作为分隔符 使用空格作为缩进表示层级关系&#xff0c;相同的层级左侧对齐 获取 使用Value(”${键名}”) 使用ConfigurationProperties(prefix "前缀") 1.前缀要与yml配置文件中的前缀一致 2.实体类的字段名与配置文件中的键名一…