2023最新pytorch安装教程,简单易懂,面向初学者(Anaconda+GPU)
一、前言
目前是2023.1.27,鉴于本人安装过程中踩得坑,安装之前我先给即将安装pytorch的各位提个醒,有以下几点需要注意
1.判断自己电脑是否有GPU
注意这点很重要,本教程面向有NVIDA显卡的电脑,如果你的电脑没有GPU或者使用AMD显卡,请安装CPU版本的pytorch。AMD显卡本人并不清楚具体如何操作,不在此赘述。
2.选择合适的pytorch版本,具体方法后面会说
3.更新显卡驱动,最好是比较新的版本,这样不容易产生版本不匹配的问题,造成不必要的麻烦
二、下载安装 Anaconda
1.官网下载
下载速度较慢,官网地址: Anaconda
选择 Products -> Anaconda Distribution
点击 Download,可以下载最新版本
2.镜像下载
采用开源镜像网站进行下载,速度能快一点,网速不行的同学建议使用这个方法。
链接: 开源镜像
根据需求选择合适的版本下载
3.安装Anaconda
双击运行安装包,选择all users
建议装C盘,地方不够也可以装别的盘,目前我用着还没有啥问题。
安装路径保持英文即可。
环境变量那一块,可以勾选自动添加,也可以手动添加。
添加方法比较繁琐,不再赘述。
安装完毕,调用命令行,输入
python
查看python环境,正常如下:
输入
conda --version
查看安装是否成功
显示如下:
代表环境变量配置成功。
三、使用conda下载pytorch
1.创建虚拟环境
(1)利用 conda create 指令创建新的虚拟环境
在应用列表里找到Anaconda文件夹,点击anconda prompt,进入命令行,输入以下代码,创建一个虚拟环境。
conda create –n 虚拟环境名字 python=版本
我的是python3.8,所以具体代码为
conda create -n pytorch python=3.8
(2)输入y进行下载
(3)安装完成后,输入
conda info --envs
验证是否成功安装,如果出现
代表成功。
(3)如若有同学下载速度慢,可以使用镜像下载
代码格式为
conda create –n 虚拟环境名字 python=版本 –c 镜像地址
这是镜像下载的一种方法,推荐大家使用后面接-c 镜像地址的方法进行镜像下载,尽量不要修改配置文件,我一开始看的某些教程修改文件后一直无法下载,建议不要使用,会导致一些奇奇怪怪的错误。如果要修改,建议先备份原始的配置代码。
下面是几个镜像源。
链接: 清华镜像
链接: 阿里镜像
我记得-c的c意思是channel,是下载通道的意思,也就是下载网址,-c python ,-c 地址等等指的是从后面的通道进行下载,如果后面的源是国外的网址,就有可能很慢,这个因人而异,我个人并没有受太多影响。
注意,如果要修改配置文件,文件在c盘,用户,你的用户名那个文件夹,具体叫.condarc
用记事本打开修改即可,本文不推荐使用这种方法。
2.进入虚拟环境
输入
conda activate pytorch
进入我们刚刚创建的虚拟环境,在其中进行pytorch的安装。
3. 利用conda安装PyTorch
本文主要介绍conda安装PyTorch安装,pip方法不再赘述。
我们需要在上一步创建的虚拟环境中安装PyTorch。
主要需要安装pytorch, torchvision,torchaudio三个包。
3.1官网下载:
链接: pytorch
根据自己的电脑配置选择合适的CUDA版本。
(1)首先确定自己的显卡型号,确定算力
(2)确定自己的CUDA Driver 版本,查看方式:命令行输入
nvidia-smi
(3)确定自己能使用的CUDA版本, 即CUDA Runtime Version,也就是上面图上的版本。要保证CUDA Driver 版本 >= CUDA Runtime 版本,像我的CUDA是11.6版本,我安装的时候选择了11.3的版本。我的显卡是RTX3060, 30系的显卡选择11.x的版本就行。10系的可以选10.x之类的,具体情况具体分析。
具体方法:
点击
进入以下页面:
以上是我安装11.3版本的代码。操作方法如下:
1)在anaconda prompt中输入
conda activate pytorch
进入我们刚刚创建的虚拟环境,在其中进行pytorch的安装。
2)输入
conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cudatoolkit=11.3 -c pytorch
根据提示输入y进行pytorch的安装(可能需要等待,但官网可能一直卡在搜包阶段)。注意,搜包结束之后一定仔细看看下的是不是GPU版本,还有看看那几个重要的包都在不在,官网一般没有问题,主要是后面的镜像下载可能会有问题。
看到有些教程说去掉-c pytorch下载快,其实是不需要的,这个是官网下载,只有镜像下载并且已经配置好文件后去掉才有实际效果。因为-c相当于指定了下载地址,-c后面跟一个国外的网址当然下的慢啦,而且不推荐改文件,直接能官网下载是最好的。
3)验证
下载完毕后,进入pytorch虚拟环境,输入
conda list
查看有没有pytorch或者torch,有代表成功安装
输入python,再输入
import torch
输入
torch.cuda.is_available()
如果返回值是True,代表成功啦。恭喜你,安装完成。
3.2镜像下载:
前面操作和上个方法相同,只是在安装的时候代码不同,我介绍的这种方法不需要修改配置文件。
conda install pytorch torchvision torchaudio –c 镜像地址
Conda install cudatoolkit=版本 –c 镜像地址
清华:https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/win-64/
阿里:http://mirrors.aliyun.com/anaconda/cloud/pytorch/win-64/
验证方法同上。
ps:本文方法并非我原创,我也是一个正在学习中的研究僧,本文方法借鉴b站up我是土堆,只是觉得方法很好,特地记载下来以备以后安装之用,顺带分享给大家,希望更多的人能不再烦恼安装pytorch,最后,再次向土堆大佬表示感谢,附上视频教程地址:
链接: 最详细的 Windows 下 PyTorch 入门深度学习环境安装与配置 CPU GPU 版 | 土堆教程
若有错漏,欢迎大家批评指正。
相关文章:

2023最新pytorch安装教程,简单易懂,面向初学者(Anaconda+GPU)
一、前言 目前是2023.1.27,鉴于本人安装过程中踩得坑,安装之前我先给即将安装pytorch的各位提个醒,有以下几点需要注意 1.判断自己电脑是否有GPU 注意这点很重要,本教程面向有NVIDA显卡的电脑,如果你的电脑没有GPU或者使用AMD显…...

Redis为什么变慢了
一、Redis为什么变慢了 1.Redis真的变慢了吗? 对 Redis 进行基准性能测试 例如,我的机器配置比较低,当延迟为 2ms 时,我就认为 Redis 变慢了,但是如果你的硬件配置比较高,那么在你的运行环境下,可能延迟是 0.5ms 时就可以认为 Redis 变慢了。 所以,你只有了解了你的…...

空中计算(Over-the-Air Computation)学习笔记
文章目录 写在前面 写在前面 本文是论文A Survey on Over-the-Air Computation的阅读笔记: 通信和计算通常被视为独立的任务。 从工程的角度来看,这种方法是非常有效的,因为可以执行孤立的优化。 然而,对于许多面向计算的应用程序…...
如何高效率地阅读论文
▚ 01 Active versus passive reading: how to read scientific papers? 📢小疑则小悟,大疑则大悟,不疑则不悟。 If you read/do research with small questions in mind, you learn small things. If you do so with big questions in…...

FreeRTOS学习day1
顾名思义 免费的实时操作系统 用法基本和Linux下的多线程编程类似 探索者开发版实验 动态创建4个任务start_task task1 task2 task3 优先级依次为1 2 3 4 (注意优先级不能为0,0是空闲任务) 我的理解:主线程start_task 主线程 task1 ta…...

【Web】| CSS Float (浮动)的使用方法
Float(浮动)概念 CSS的Float(浮动),会使得元素向左或者向右移动,其它周围元素也会重新排列。 Float浮动,往往是用于图像,但它的布局一样非常有效。 元素如何浮动 元素的水平方向…...
#力扣:面试题 02.03. 删除中间节点@FDDLC
面试题 02.03. 删除中间节点 - 力扣(LeetCode) 一、Java /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode(int x) { val x; }* }*/ class Solution {public void deleteNode(List…...
多线程原子性、一致性与有序性
作者:逍遥Sean 简介:一个主修Java的Web网站\游戏服务器后端开发者 主页:https://blog.csdn.net/Ureliable 觉得博主文章不错的话,可以三连支持一下~ 如有需要我的支持,请私信或评论留言! 前言: …...
读书笔记:Effective C++ 2.0 版,条款28(namespace )
条款28: 划分全局名字空间 namespace 作为前缀,防止不同名字域的类型、常量等互相污染。 没命名的名字空间一般用于限制名字空间内部元素的可见性。 namespace sdm {const double book_version 2.0;class handle { ... };handle& gethandle(); }早期用struct模…...

CSS常见选择器总结
1.简单选择器 简单选择器是开发中使用最多的选择器,包含: 元素选择器,使用元素的名称 类选择器,使用.类名 id选择器,使用#id id注意事项: 一个HTML文档里面的id值 是唯一的,不能重复 id值如…...

阿里云服务结构--长期更新
CNCF 全称Cloud Native Computing Foundation(云原生计算基金会),成立于 2015 年7月21日(于美国波特兰OSCON 2015上宣布),其最初的口号是坚持和整合开源技术来让编排容器作为微服务架构的一部分࿰…...

Java8 BiConsumer<T, U> 函数接口浅析分享(含示例,来戳!)
文章目录 Java8 BiConsumer<T, U> 函数接口浅析分享(含示例,来戳!)源码accept 方法示例示例一示例二 andThen 方法示例示例一示例二 示例相关代码类dohandler 方法student.javaStudentScore.javaStudentScoreDto.java Java8…...
C++学习:类的使用--运算符重载
我们知道C可以对函数进行重载,让同名的函数来完成相同的基本操作。其实运算符也是可以重载的,而且有的运算符已经在使用了,就像*,既可以用于地址,又可以用于乘法。 下面是一个计算时间的类 #ifndef MYTIME_H #define…...

嵌入式养成计划-46----QT--简易版网络聊天室实现--QT如何连接数据库
一百一十九、简易版网络聊天室实现 119.1 QT实现连接TCP协议 119.1.1 基于TCP的通信流程 119.1.2 QT中实现服务器过程 使用QTcpServer实例化一个服务器对象设置监听状态,通过listen()函数,可以监听特定的主机,也可以监听所有客户端&#x…...

YOLO目标检测——人脸识别数据集【对应voc、coco和yolo三种格式标签】
实际项目应用:安全监控、智能驾驶、人机交互、人脸门禁、人脸支付、人脸搜索数据集说明:人脸识别数据集,真实场景的高质量图片数据,数据场景丰富,含有人脸图片标签说明:使用lableimg标注软件标注࿰…...
mybatis日志不打印的问题
在项目中使用了 spring boot,orm 层集成了 mybatis-plus,按照默认配置后发现之前配置的 sql 日志正常,在这里却不正常,鉴于日志使用的是 logback,想到了打印 sql 的日志级别是 debug,所以,按照这…...
【分布式缓存】关于 Memcached 的几个常见问题
关于 Memcached 的几个常见问题 1.Memcached 是怎么工作的?2.Memcached 最大的优势是什么?3.Memcached 和 MySQL 的 querycache 相比,有什么优缺点?4.Memcached 和服务器的 local cache(比如 PHP 的 APC、mmap 文件等&…...

MySQL 三大日志(bin log、redo log、undo log)
redo log redo log (重做日志) 是 InnoDB 存储引擎独有的,它让 MySQL有了崩溃恢复的能力,是事务中实现 持久化的重要操作 比如 MySQL 实例宕机了,重启时,InnoDB 存储引擎会使用 redo log 恢复数据,保证数据的持久性与…...

asp.net社区医疗辅助诊断网站系统VS开发sqlserver数据库web结构c#编程
一、源码特点 asp.net社区医疗辅助诊断网站系统 是一套完善的web设计管理系统,系统采用mvc模式(BLLDALENTITY)系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为vs2010,数据库为sqlserver200…...

NLP Bi-Encoder和Re-ranker
Retrieve & Re-Rank https://www.sbert.net/examples/applications/retrieve_rerank/README.html Bi-Encoder vs. Cross-Encoder https://www.sbert.net/examples/applications/cross-encoder/README.html Bi-Encoder会用BERT对输入文本编码,再根据cosine相似度…...

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析
1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具,该工具基于TUN接口实现其功能,利用反向TCP/TLS连接建立一条隐蔽的通信信道,支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式,适应复杂网…...

铭豹扩展坞 USB转网口 突然无法识别解决方法
当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...
在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:
在 HarmonyOS 应用开发中,手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力,既支持点击、长按、拖拽等基础单一手势的精细控制,也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档,…...

为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?
在建筑行业,项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升,传统的管理模式已经难以满足现代工程的需求。过去,许多企业依赖手工记录、口头沟通和分散的信息管理,导致效率低下、成本失控、风险频发。例如&#…...
oracle与MySQL数据库之间数据同步的技术要点
Oracle与MySQL数据库之间的数据同步是一个涉及多个技术要点的复杂任务。由于Oracle和MySQL的架构差异,它们的数据同步要求既要保持数据的准确性和一致性,又要处理好性能问题。以下是一些主要的技术要点: 数据结构差异 数据类型差异ÿ…...
【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验
系列回顾: 在上一篇中,我们成功地为应用集成了数据库,并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了!但是,如果你仔细审视那些 API,会发现它们还很“粗糙”:有…...
什么是EULA和DPA
文章目录 EULA(End User License Agreement)DPA(Data Protection Agreement)一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA(End User License Agreement) 定义: EULA即…...

Map相关知识
数据结构 二叉树 二叉树,顾名思义,每个节点最多有两个“叉”,也就是两个子节点,分别是左子 节点和右子节点。不过,二叉树并不要求每个节点都有两个子节点,有的节点只 有左子节点,有的节点只有…...
CMake控制VS2022项目文件分组
我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...

什么是Ansible Jinja2
理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具,可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板,允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板,并通…...