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

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

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

相关文章

聊聊Git合并和变基

一、 Git Merge 合并策略 1.1 Fast-Forward Merge&#xff08;快进式合并&#xff09; //在分支1下操作&#xff0c;会将分支1合并到分支2中 git merge <分支2>最简单的合并算法&#xff0c;它是在一条不分叉的两个分支之间进行合并。快进式合并是默认的合并行为&#…

微信小程序wx.getRealtimeLogManager无法查看log内容

解决方案&#xff1a; 首先&#xff0c;检查在we分析是否启用实时日志&#xff0c;入口如下&#xff1a; 其次&#xff0c;检查基本语法是否正确&#xff0c;参考如下&#xff1a; var logger wx.getRealtimeLogManager() logger.error("error message") 最后&a…

你好,C++对象

你好&#xff0c;对象 面向对象开发对象的定义 类与对象类的定义类的访问限定符及封装类的实例化类对象模型结构体内存对齐规则 this指针this指针的引入 this指针的特性 类的默认成员函数构造函数析构函数拷贝构造函数结语 面向对象开发 对象的定义 对象的含义是指具体的某一…

在docker中安装MQTT教程

网上的好多关于在docker中安装MQTT教程都是错误的不完整的。这篇博客是完整的&#xff0c;实践过的&#xff0c;踩过了很多的坑得来的&#xff0c;欢迎大家享用&#xff01; 1、首先在docker中拉取镜像 docker pull eclipse-mosquitto2、创建配置文件目录 mkdir -p /docker/…

axure如何载入元件库

首先&#xff0c;安装axure后打开 1.打开axure软件后&#xff0c;左侧可以看到一个叫元件库的菜单 2.点击元件库右侧的选项按钮 然后在出现的下拉菜单中点击载入元件库 3.找到自己下载好的元件库&#xff08;Axure元件库合集&#xff09;&#xff0c;双击它就可以载入了 可以看…

Linux:共享内存

文章目录 System V共享内存的原理管理共享内存shmgetshmatshmdtshmctl 共享内存和管道实现进程间同步通信 前面介绍完了匿名管道和命名管道&#xff0c;那么本篇要引入的主题是共享内存 System V 作为进程通信部分的内容&#xff0c;共享内存必然有其存在的意义和价值&#x…

༺༽༾ཊ—Unity之-04-工厂方法模式—ཏ༿༼༻

首先创建一个项目&#xff0c; 在这个初始界面我们需要做一些准备工作&#xff0c; 建基础通用文件夹&#xff0c; 创建一个Plane 重置后 缩放100倍 加一个颜色&#xff0c; 任务&#xff1a;使用工厂方法模式 创建 飞船模型&#xff0c; 首先资源商店下载飞船模型&#xff0c…

mkcert的安装和使用,5分学会在本地开启localhost的https访问方式

mkcert官方仓库地址&#xff1a;https://github.com/FiloSottile/mkcert#installation mkcert 是一个简单的工具&#xff0c;用于制作本地信任的开发证书。它不需要配置。 简化我们在本地搭建 https 环境的复杂性&#xff0c;无需操作繁杂的 openssl 实现自签证书了&#xff…

风速编辑一下

clear clc % 假设已知的南北和东西风速分量时程 time 0:1:999; % 时间步长为1秒 north_south_wind_speed 8 2 * sin(2 * pi * 0.1 * time); % 南北风向分量 east_west_wind_speed 6 1 * sin(2 * pi * 0.1 * time); % 东西风向分量 % 计算合风速和风向 total_wind_spe…

Node.js的学习1

Node.js简介 浏览器是JavaScript的前端运行环境Node.js是JavaScript的后端运行环境Node.js中无法调用DOM和BOM等浏览器内置API 终端中的快捷键 使用向上箭头&#xff0c;可以快速定位到上一次执行的命令使用tab键&#xff0c;可以快速补全路径使用esc键&#xff0c;可以快速清…

django 访问后台数据库管理程序报错:CSRF verihcation failed. Request aborted.

解决方案 在 settings.py 最后加上这个 CSRF_TRUSTED_ORIGINS ["https://<你自己 heroku 的项目部署地址>.herokuapp.com" ]注意下面的事项&#xff1a; https 前面和 .com 后面不要带空格&#xff0c;因为你在复制的时候可能引入空格.com 后面不要加斜杠&a…

Rust循环和函数

下面聊聊以下主题&#xff1a; 基于条件的分支循环函数属性测试 基于条件的分支 基于条件的分支&#xff0c;可以通过常见的 if、if else 或 if else if else 构造来完成&#xff0c;例如下面的示例&#xff1a; fn main() { let dead false; let health 48; if dead { p…

第十八章 Redis查看配置文件和数据类型

文章目录 前言1、查看配置2、修改配置项2.1、配置项说明2.2、配置支持远程访问 3、数据类型3.1、String3.1.1、string扩容规则3.1.2、字符串命令3.1.3、string 常用命令 3.2、Hash3.2.1、数据存储3.2.2、常用命令 3.3、list3.3.1、常用命令 3.4、set3.4.1、常用命令 3.5、zset有…

SpringCloud-高级篇(十六)

前面学习了Lua的语法&#xff0c;就可以在nginx去做编程&#xff0c;去实现nginx类里面的业务&#xff0c;查询Redis&#xff0c;查询tomcat等 &#xff0c;业务逻辑的编写依赖于其他组件&#xff0c;这些组件会用到OpenResty的工具去实现 &#xff08;1&#xff09;安装OpenRe…

第十三章认识Ajax(四)

认识FormData对象 FormData对象用于创建一个表示HTML表单数据的键值对集合。 它可以用于发送AJAX请求或通过XMLHttpRequest发送表单数据。 以下是FormData对象的一些作用&#xff1a; 收集表单数据&#xff1a;通过将FormData对象与表单元素关联&#xff0c;可以方便地收集表…

DjangoURL调度器(二)

一、默认值与额外参数 1.1、默认值 1.1.1、urls.py from django.urls import pathfrom . import viewsurlpatterns [# http://127.0.0.1:8000/polls/blog/ 等同于 # http://127.0.0.1:8000/polls/blog/1/path(blog/, views.page),# http://127.0.0.1:8000/polls/blo…

解读BEVFormer,新一代自动驾驶视觉工作的基石

文章出处 BEVFormer这篇文章很有划时代的意义&#xff0c;改变了许多视觉领域工作的pipeline[2203.17270] BEVFormer: Learning Birds-Eye-View Representation from Multi-Camera Images via Spatiotemporal Transformers (arxiv.org)https://arxiv.org/abs/2203.17270 BEV …

架构篇19:单服务器高性能模式-Reactor与Proactor

文章目录 ReactorProactor小结上篇介绍了单服务器高性能的 PPC 和 TPC 模式,它们的优点是实现简单,缺点是都无法支撑高并发的场景,尤其是互联网发展到现在,各种海量用户业务的出现,PPC 和 TPC 完全无能为力。今天我将介绍可以应对高并发场景的单服务器高性能架构模式:Rea…

第18章_JDK8-17新特性(下)(新语法结构,API的变化,其它结构变化,小结与展望)

文章目录 第18章_JDK8-17新特性&#xff08;下&#xff09;6. 新语法结构6.1 Java的REPL工具&#xff1a; jShell命令6.2 异常处理之try-catch资源关闭6.3 局部变量类型推断6.4 instanceof的模式匹配6.5 switch表达式6.6 文本块6.7 Record6.8 密封类 7. API的变化7.1 Optional类…

MarkDown快速入门-以Obsidian编辑器为例

直接上图&#xff0c;左右对应。 首先是基础语法。 # 标题&#xff0c;几个就代表几级标题&#xff1b;* 单个是序号&#xff0c;两个在一起就是斜体&#xff1b;- [ ] 代表任务&#xff0c;注意其中的空格&#xff1b; 然后是表格按钮代码 | 使用中竖线代表表格&#xff0c…