当前位置: 首页 > news >正文

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

相关文章:

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

Anaconda安装 https://www.anaconda.com/ Anaconda: 中文大蟒蛇,是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项。从官网下载Setup:点击安装,之后勾选上可以方便在普通命令行cmd和PowerShell中使用…...

Springboot项目基础配置:小白也能快速上手!

推荐文章 给软件行业带来了春天——揭秘Spring究竟是何方神圣(一) 给软件行业带来了春天——揭秘Spring究竟是何方神圣(二) 给软件行业带来了春天——揭秘Spring究竟是何方神圣(三) 给软件行业带来了春天—…...

20240127在ubuntu20.04.6下配置whisper

20240131在ubuntu20.04.6下配置whisper 2024/1/31 15:48 首先你要有一张NVIDIA的显卡,比如我用的PDD拼多多的二手GTX1080显卡。【并且极其可能是矿卡!】800¥ 2、请正确安装好NVIDIA最新的驱动程序和CUDA。可选安装! 3、配置whispe…...

C# 递归执行顺序

为了方便进一步理解递归,写了一个数字输出 class Program {static void Main(string[] args){int number 5;RecursiveDecrease(number);}static void RecursiveDecrease(int n){if (n > 0){Console.WriteLine("Before recursive call do : " n);Rec…...

go 实现暴力破解数独

一切罪恶的来源是昨晚睡前玩了一把数独,找虐的选了个最难的模式,做了一个多小时才做完,然后就睡不着了..........程序员不能受这委屈,今天咋样也得把这玩意儿破解了 破解思路(暴力破解加深度遍历) 把数独…...

go语言-字符串处理常用函数

本文介绍go语言处理字符串类型的常见函数。 ## 多行字符串 在 Go 中创建多行字符串非常容易。只需要在你声明或赋值时使用 () 。 str : This is a multiline string. ## 字符串的拼接 go // fmt.Sprintf方式拼接字符串 str1 : "abc" str2 : "def" …...

DevOps落地笔记-05|非功能需求:如何有效关注非功能需求

上一讲主要介绍了看板方法以及如何使用看板方法来解决软件研发过程中出现的团队过载、工作不均、任务延期等问题。通过学习前面几个课时介绍的知识,你的团队开始源源不断地交付用户价值。用户对交付的功能非常满意,但等到系统上线后经常出现服务不可用的…...

vs 撤销本地 commit 并保留更改

没想到特别好的办法,我想的是用 vs 打开 git 命令行工具 然后通过 git 命令来撤销提交,尝试之前建议先建个分支实验,以免丢失代码, git 操作见 git 合并多个 commit / 修改上一次 commit...

深度解读NVMe计算存储协议-1

随着云计算、企业级应用以及物联网领域的飞速发展,当前的数据处理需求正以前所未有的规模增长,以满足存储行业不断变化的需求。这种增长导致网络带宽压力增大,并对主机计算资源(如内存和CPU)造成极大负担,进…...

CHS_06.2.3.4_2+用信号量实现进程互斥、同步、前驱关系

CHS_06.2.3.4_2用信号量实现进程互斥、同步、前驱关系 知识总览信号量机制实现进程互斥信号量机制实现进程同步信号量机制实现前驱关系 知识回顾 各位同学 大家好 在这个小节中 我们要学习怎么用信号量机制来实现进程的同步互制关系 知识总览 那么 我们之前学习了互斥的几种软…...

Web实战丨基于Django的简单网页计数器

文章目录 写在前面Django简介主要程序运行结果系列文章写在后面 写在前面 本期内容 基于django的简单网页计数器 所需环境 pythonpycharm或vscodedjango 下载地址 https://download.csdn.net/download/m0_68111267/88795604 Django简介 Django 是一个用 Python 编写的高…...

mysql8安装基础操作(一)

一、下载mysql8.0 1.查看系统glibc版本 这里可以看到glibc版本为2.17,所以下载mysql8.0的版本时候尽量和glibc版本对应 [rootnode2 ~]# rpm -qa |grep -w glibc glibc-2.17-222.el7.x86_64 glibc-devel-2.17-222.el7.x86_64 glibc-common-2.17-222.el7.x86_64 gl…...

MIT6.5830 实验0

前置 本次实验使用 Golang 语言实现,在之前的年份中,都是像 cs186 那样使用 Java 实现。原因: Golang 语言作为现代化语言,简单易上手但功能强大。 使参加实验的同学有同一起跑线,而不是像Java那样,有些同…...

【简便方法和积累】pytest 单元测试框架中便捷安装插件和执行问题

又来进步一点点~~~ 背景:之前写了两篇关于pytest单元测试框架的文章,本篇内容对之前的做一个补充 一、pytest插件: pytest 有非常多的插件,很方便,以下为插件举例: pytest,pytest-html&#x…...

Zabbix数据库分离与邮件报警

基础环境:要有zabbix服务端与被监控端实验目标:源数据库与服务端存放在一台服务器上,分离后源数据库单独在一台服务器上,zabbix服务端上不再有数据库。环境拓扑图: 实验步骤: 1.在8.7服务器上安装相同版本…...

mybatisplus-多数据源配置

1. 流程 pom文件yml配置多数据源具体服务添加注解DS(“***”) 1.pom文件 <!--mybatis plus 起步依赖--><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.4.0</vers…...

微信小程序(二十八)网络请求数据进行列表渲染

注释很详细&#xff0c;直接上代码 上一篇 新增内容&#xff1a; 1.GET请求的规范 2.数据赋值的方法 源码&#xff1a; index.wxml <!-- 列表渲染基础写法&#xff0c;不明白的看上一篇 --> <view class"students"><view class"item">&…...

ubuntu22.04 安装conda

要在Ubuntu 22.04上安装Anaconda&#xff0c;可以遵循以下步骤&#xff1a; 首先&#xff0c;打开终端并更新系统包仓库&#xff0c;也需要安装curl工具&#xff0c;这可以通过以下命令完成&#xff1a; sudo apt update && sudo apt install curl -y使用curl命令行工具…...

W801学习笔记十:HLK-W801制作学习机/NES游戏机(总结)

本章总结一下整个开发过程中遇到的问题&#xff1a; 1、引脚的抗干扰问题&#xff1a; 屏幕显示的时候&#xff0c;概率出现花屏。无论怎么修改代码都不能解决&#xff0c;一个偶然的机会&#xff0c;发现当手触摸屏幕的WR和CS引脚时&#xff0c;屏幕会正常。查阅资料&#x…...

《HTML 简易速速上手小册》第6章:HTML 语义与结构(2024 最新版)

文章目录 6.1 语义化标签的重要性6.1.1 基础知识6.1.2 案例 1&#xff1a;使用 <article>, <section>, <aside>, <header>, 和 <footer>6.1.3 案例 2&#xff1a;构建带有嵌套语义化标签的新闻网站6.1.4 案例 3&#xff1a;创建一个带有 <mai…...

RestClient

什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端&#xff0c;它允许HTTP与Elasticsearch 集群通信&#xff0c;而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级&#xff…...

第19节 Node.js Express 框架

Express 是一个为Node.js设计的web开发框架&#xff0c;它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用&#xff0c;和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...

简易版抽奖活动的设计技术方案

1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...

前端导出带有合并单元格的列表

// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...

数据链路层的主要功能是什么

数据链路层&#xff08;OSI模型第2层&#xff09;的核心功能是在相邻网络节点&#xff08;如交换机、主机&#xff09;间提供可靠的数据帧传输服务&#xff0c;主要职责包括&#xff1a; &#x1f511; 核心功能详解&#xff1a; 帧封装与解封装 封装&#xff1a; 将网络层下发…...

微信小程序云开发平台MySQL的连接方式

注&#xff1a;微信小程序云开发平台指的是腾讯云开发 先给结论&#xff1a;微信小程序云开发平台的MySQL&#xff0c;无法通过获取数据库连接信息的方式进行连接&#xff0c;连接只能通过云开发的SDK连接&#xff0c;具体要参考官方文档&#xff1a; 为什么&#xff1f; 因为…...

使用 SymPy 进行向量和矩阵的高级操作

在科学计算和工程领域&#xff0c;向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能&#xff0c;能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作&#xff0c;并通过具体…...

认识CMake并使用CMake构建自己的第一个项目

1.CMake的作用和优势 跨平台支持&#xff1a;CMake支持多种操作系统和编译器&#xff0c;使用同一份构建配置可以在不同的环境中使用 简化配置&#xff1a;通过CMakeLists.txt文件&#xff0c;用户可以定义项目结构、依赖项、编译选项等&#xff0c;无需手动编写复杂的构建脚本…...

41道Django高频题整理(附答案背诵版)

解释一下 Django 和 Tornado 的关系&#xff1f; Django和Tornado都是Python的web框架&#xff0c;但它们的设计哲学和应用场景有所不同。 Django是一个高级的Python Web框架&#xff0c;鼓励快速开发和干净、实用的设计。它遵循MVC设计&#xff0c;并强调代码复用。Django有…...

FTXUI::Dom 模块

DOM 模块定义了分层的 FTXUI::Element 树&#xff0c;可用于构建复杂的终端界面&#xff0c;支持响应终端尺寸变化。 namespace ftxui {...// 定义文档 定义布局盒子 Element document vbox({// 设置文本 设置加粗 设置文本颜色text("The window") | bold | color(…...