【PyTorch】2024保姆级安装教程-Python-(CPU+GPU详细完整版)-
一、准备工作
-
pytorch需要python3.6及以上的python版本
-
我是利用Anaconda来管理我的python。可自行安装Anaconda。
-
Anaconda官网 Free Download | Anaconda
-
具体Anaconda安装教程可参考
https://blog.csdn.net/weixin_43412762/article/details/129599741?fromshare=blogdetail&sharetype=blogdetail&sharerId=129599741&sharerefer=PC&sharesource=2201_75436278&sharefrom=from_link
二、pytorch介绍
安装 PyTorch 时,可以选择在 CPU 或 GPU 上运行,取决于你的硬件支持和需求。
-
CPU版本安装:
CPU 版本适用于没有 GPU 或不需要使用 GPU 进行深度学习的情况。安装过程相对简单,因为没有依赖 GPU 驱动和 CUDA 的要求。
-
GPU版本安装:
如果你的计算机上有 NVIDIA GPU,并且你希望加速深度学习计算,可以安装 GPU 版本的 PyTorch。GPU 版本依赖于 CUDA 和 cuDNN。
三、CPU版本pytorch安装
为了更好的管理不同项目的Python项目,通常建议创建一个虚拟环境。可以隔离不同项目的依赖项,避免项目之间的冲突。
1、创建虚拟环境
安装好Anaconda后会有这些程序
输入以下指令可查看当前的虚拟环境
conda env list
利用 conda create 指令创建新的虚拟环境
conda create –n 虚拟环境名字(自己设置) python=版本
演示如下
输入y,等待安装
2、路径处理
如果安装后的虚拟环境没在 annconda3\enxs 的目录下,通常是以下几个原因导致的(以我的目录为例):
- 没有写入权限:如果当前用户对
C:\ProgramData\anaconda3\envs
目录没有写入权限,Conda 会选择使用用户本地目(C:\Users\Xzwzh\.conda\envs
)来存放环境。 - 用户环境配置:Conda 的配置文件
.condarc
中可以设置envs_dirs
,用于指定环境的默认存放位置。如果设置了用户本地目录,那么新建的环境会存放在那里。 - 环境隔离:在某些情况下,用户可能会故意选择将环境安装在用户目录下,以便不同用户使用各自的环境,避免对全局安装目录的修改。
如果希望将环境放在anaconda3\envs 目录下,可以在创建环境时显示指定 --prefix 参数。
例如:
以管理员权限运行命令提示符,注意,下面的命令要以管理员身份运行,否则报错
conda create --prefix C:\ProgramData\anaconda3\envs\pytorch_env python=3.8
也可以修改 .condarc
文件,将 envs_dirs
添加或修改为默认全局路径:
envs_dirs:- C:\ProgramData\anaconda3\envs
然后重新创建环境即可。
3、删除虚拟环境
通过环境名称删除
conda remove --name 环境名称 --all
通过环境路径删除
conda remove --prefix 路径 --all
4、配置镜像源
根据上述操作,以如下的环境列表为例(虚拟环境已经创建好):
由于安装指令都是从国外的通道下载,下载速度会非常慢。所以我们可以用国内的镜像地址下载pytorch
conda config --show
输入上述指令可以查看我们的通道地址
我的环境中有三个清华的镜像源。如果是之前没用过镜像源,这里只会显示dafaults。
镜像名 | 镜像地址 |
---|---|
清华源镜像 | https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch |
阿里巴巴镜像 | http://mirrors.aliyun.com/anaconda/pkgs/main |
淘宝镜像源 | https://registry.npmmirror.com/ |
这里的淘宝镜像源不推荐,由于淘宝npm镜像的旧域名(如npm.taobao.org和registry.npm.taobao.org)已经停止服务,并且HTTPS证书已经过期,需要使用淘宝最新的镜像源。列表给出的是(2024年9月) 淘宝的最新镜像的地址。
conda config --add channels 通道地址
输入以上命令可以添加通道地址,添加后输入以下地址也可以查看通道地址(验证是否加上通道)
conda config --get
如果想删除通道,可执行下面代码
conda config --remove channels 通道地址
5、安装pytorch
1、首先激活环境变量
conda activate 创建的虚拟环境
2、进入pytorch官网,找到安装指令
点击Get started 进行如下配置
找到安装代码
conda install pytorch torchvision torchaudio cpuonly -c pytorch //注意,这种就是直接从国外下载了
用镜像源安装
conda install pytorch torchvision torchaudio cpuonly –c 镜像地址
直接复制自己对应的镜像源即可
输入y即可
报错处理:
如果出现如上报错,使用管理员身份进行上述步骤即可解决。
出现下图所示,就是安装完成。
6、验证pytorch是否安装成功
- 在安装pytorch的虚拟环境下输入
conda list
查看是否有pytorch
-
在虚拟环境下运行python并导入torch
print(torch.__version__)
- 输入上述命令,显示PyTorch 的版本号,说明 PyTorch 已经成功安装。
四、GPU版本pytorch安装
首先和CPU版本安装一样,创建一个虚拟环境,前面提到,这里不在重复。
1、查看自己电脑的GPU
在任务管理器中可查看GPU
如果没安装显卡驱动,先安装最新的显卡驱动,到官网自行安装即可。
查看驱动版本。win + r ,输入cmd 进入终端,输入指令:
nvidia-smi
我的 CUDA 驱动版本是 12.1,这表示驱动所支持的最大 CUDA 运行时 API 版本是 12.1。因此,如果要安装 CUDA 运行时版本,就需要确保 CUDA 驱动版本 >= CUDA 运行时版本,也就是说可以安装 12.1 及更早的版本。
2、安装pytorch
直接进入创建的虚拟环境中输入命令,安装成功:
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
3、验证是否安装成功
指令:
import torch
print(torch.__version__)
print(torch.cuda.is_available())
- 可以直接进入终端python运行指令检验
出现以上界面说明安装成功
- 也可以直接在pycharm编辑器中验证。
使用GPU环境,最后输出cu121
、True
,说明安装成功
五、补充
1、卸载当前的PyTorch版本
进入所在的虚拟环境,输入以下指令即可。
pip uninstall torch torchvision torchaudio
2、失败的安装过程
可以利用conda
和pip
进行安装,但是我都没安装成功,这里就不在过多介绍,可能是国内的镜像源很多都不能GPU版本的安装。可以参考。严格按照用pip安装应该能成功,只不过我当时安装指令错了。
https://blog.csdn.net/weixin_44752340/article/details/130542629?fromshare=blogdetail&sharetype=blogdetail&sharerId=130542629&sharerefer=PC&sharesource=2201_75436278&sharefrom=from_link
最后我直接下载轮子文件(.whl)进行安装。
https://download.pytorch.org/whl/torch_stable.html
上面这个是pytorch轮子文件的下载链接。根据自己的需求下载。
分别下载相应的torch
、torchvision
我下载的是2.2.2版本torch
和torchvision
,对应的CUDA
版本是11.8,python
版本是3.8,正如绿色、蓝色框所示。注意后面对应的 win 和 linux。下载过程较长。
下载完后,将两个文件放在虚拟环境的目录下。然后运行:
pip install 轮子文件名(torch-2.2.2+cu118-cp38-cp38-win_amd64.whl)
但是我也安装失败了,后来我又安装的12.1的CUDA,也不行
应该是版本不兼容问题。
相关文章:

【PyTorch】2024保姆级安装教程-Python-(CPU+GPU详细完整版)-
一、准备工作 pytorch需要python3.6及以上的python版本 我是利用Anaconda来管理我的python。可自行安装Anaconda。 Anaconda官网 Free Download | Anaconda 具体Anaconda安装教程可参考 https://blog.csdn.net/weixin_43412762/article/details/129599741?fromshareblogdet…...

精选案例展 | 智己汽车—全栈可观测驱动智能化运营与成本优化
本案例为“观测先锋 2024 可观测平台创新应用案例大赛”精选案例,同时荣获IT168“2024技术卓越奖评选-年度创新解决方案”奖。 项目背景 近年来,中国汽车行业进入转型升级阶段,智能网联技术成为行业发展的核心。车联网、自动驾驶等技术的加速…...
MySQL 使用 `WHERE` 子句时 `COUNT(*)`、`COUNT(1)` 和 `COUNT(column)` 的区别解析
文章目录 1. COUNT() 函数的基本作用2. COUNT(*)、COUNT(1) 和 COUNT(column) 的详细对比2.1 COUNT(*) —— 统计所有符合条件的行2.2 COUNT(1) —— 统计所有符合条件的行2.3 COUNT(column) —— 统计某一列非 NULL 的记录数 3. 性能对比3.1 EXPLAIN 分析 4. 哪种方式更好&…...
Linux运维——网络管理
Linux网络管理 一、Linux网络应用要点二、命令常见用法2.1、curl2.1.1、发送GET请求2.1.2、发送POST请求2.1.3、设置请求头2.1.4、处理cookies2.1.5、处理重定向2.1.6、调试和详细信息2.1.7、使用代理2.1.8、文件上传2.1.9、其它常用选项2.1.10、综合示例 2.2、wget2.2.1、基本…...

STM32CUBEIDE FreeRTOS操作教程(十三):task api 任务访问函数
STM32CUBEIDE FreeRTOS操作教程(十三):task api 任务访问函数 STM32CUBE开发环境集成了STM32 HAL库进行FreeRTOS配置和开发的组件,不需要用户自己进行FreeRTOS的移植。这里介绍最简化的用户操作类应用教程。以STM32F401RCT6开发板…...

Jmeter+Jenkins接口压力测试持续集成
项目介绍 接口功能测试应用: http://www.weather.com.cn/data/cityinfo/<city_code>.html 测试功能:获取对应城市的天气预报 请求方法:Get 压测脚本开发工具:jmeter 源码脚本位置: https://github.com/shife…...

深入浅出ES6:现代JavaScript的基石
ES6(ECMAScript 2015)是JavaScript语言的一次重大更新,引入了许多新特性,使JavaScript更加强大、优雅和易于维护。这些特性已经成为现代JavaScript开发的基石,掌握它们对于任何JavaScript开发者都至关重要。本文将深入…...
实现使用RBF(径向基函数)神经网络模拟二阶电机数学模型中的非线性干扰,以及使用WNN(小波神经网络)预测模型中的非线性函数来抵消迟滞影响的功能
下面将详细介绍如何实现使用RBF(径向基函数)神经网络模拟二阶电机数学模型中的非线性干扰,以及使用WNN(小波神经网络)预测模型中的非线性函数来抵消迟滞影响的功能。我们将按照以下步骤进行: 步骤1&#x…...

潜水泵,高效排水,守护城市与农田|深圳鼎跃
洪水是常见的自然灾害,在春夏季节的我国降水多为丰富,容易造成城市内部的洪涝灾害。特别是低洼地区的积水,不仅容易造成城市交通的出行不便,还存在潜在的隐患,严重影响了人们正常生活。 潜水泵作为一种高效、可靠的排水…...

易基因:RNA甲基化修饰和R-loop的交叉调控:从分子机制到临床意义|深度综述
大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。 R-loop(RNA-DNA杂合结构)是转录调控、DNA复制和修复等关键细胞过程的重要组成部分。但R-loop异常积累可能会破坏基因组完整性,从而导致多种疾病的发生…...

115 道 MySQL 面试题,从简单到深入!
1. 什么是数据库事务? 数据库事务是一个作为单个逻辑工作单元执行的一系列操作。事务具有ACID属性,即原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性…...

一周学会Flask3 Python Web开发-flask3上下文全局变量session,g和current_app
锋哥原创的Flask3 Python Web开发 Flask3视频教程: 2025版 Flask3 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili flask3提供了session,g和current_app上下文全局变量来方便我们操作访问数据。 以下是一个表格,用于比较Flask中的…...
MFC学习笔记-1
一、编辑框和按钮 //.h文件private:CString str;//给窗口类加了一个变量(定义一个成员变量),关联到IDC_EDIT1中(要在实现中关联,源文件文件夹中)CString str2;//接收button2,和IDC_EDIT2绑定 p…...

Linux搜索查找类指令
1、find指令 基本语法:find [搜索范围] [选项] 功能:将从指定目录向下递归地遍历其各个子目录,将满足条件的文件或目录显示在终端。 常用选项: 操作 命令示例 说明 查找指定路径下的所有文件 find /path/to/dir 查找指定目…...

江协科技/江科大-51单片机入门教程——P[1-1] 课程简介P[1-2] 开发工具介绍及软件安装
本教程也力求在玩好单片机的同时了解一些计算机的基本概念,了解电脑的一些基本操作,了解电路及其元器件的基本理论,为我们学习更高级的单片机,入门IT和信息技术行业,打下一定的基础。 目录 1.课程简介 2.开发工具及…...

监听load和hashchange事件
监听load和hashchange事件 上篇文章中,我们已经将菜谱的数据给拿到,并且已经可以渲染到页面上,本篇我们将为程序添加一些事件; 注:本项目来自于Jonas Schmedtmann创建,文章仅仅作为学习作用! 菜…...
深度剖析Seata源码:解锁分布式事务处理的核心逻辑
文章目录 写在文章开头如何使用源码(配置转掉)基于AT模式详解Seata全链路流程Seata服务端启动本地服务如何基于GlobalTransaction注解开启事务客户端如何开启分布式事务RM和TC如何协调处理分支事务RM生成回滚日志事务全局提交与回滚小结参考写在文章开头 在当今分布式系统日益…...

在 Ansys Mechanical 中解决干涉拟合
有意和无意的过盈配合在工程设计和有限元分析 (FEA) 中很常见。当两个组件重叠或接触时,就会发生这种情况,从而产生应力和变形,必须仔细分析以确保功能正常。有意干涉,例如轴和轴承之间的压配合或用于固定金…...
JMeter性能问题
性能测试中TPS上不去的几种原因 性能测试中TPS上不去的几种原因_tps一直上不去-CSDN博客 网络带宽 连接池 垃圾回收机制 压测脚本 通信连接机制 数据库配置 硬件资源 压测机 业务逻辑 系统架构 CPU过高什么原因 性能问题分析-CPU偏高 - 西瓜汁拌面 - 博客园 US C…...

美国国防部(DoD)SysML v2迁移指南项目
DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 分享一篇SysML v1向SysML v2迁移的资料。 下载地址:https://ndia.dtic.mil/wp-content/uploads/2023/systems/Thurs_1560710_Stirk.pdf 核心内容用DeepSeek整理如下&#…...

【Axure高保真原型】引导弹窗
今天和大家中分享引导弹窗的原型模板,载入页面后,会显示引导弹窗,适用于引导用户使用页面,点击完成后,会显示下一个引导弹窗,直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...

深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录
ASP.NET Core 是一个跨平台的开源框架,用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录,以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...

BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践
6月5日,2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席,并作《智能体在安全领域的应用实践》主题演讲,分享了在智能体在安全领域的突破性实践。他指出,百度通过将安全能力…...
C++八股 —— 单例模式
文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全(Thread Safety) 线程安全是指在多线程环境下,某个函数、类或代码片段能够被多个线程同时调用时,仍能保证数据的一致性和逻辑的正确性…...

听写流程自动化实践,轻量级教育辅助
随着智能教育工具的发展,越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式,也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建,…...
纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join
纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join 1、依赖1.1、依赖版本1.2、pom.xml 2、代码2.1、SqlSession 构造器2.2、MybatisPlus代码生成器2.3、获取 config.yml 配置2.3.1、config.yml2.3.2、项目配置类 2.4、ftl 模板2.4.1、…...
MySQL JOIN 表过多的优化思路
当 MySQL 查询涉及大量表 JOIN 时,性能会显著下降。以下是优化思路和简易实现方法: 一、核心优化思路 减少 JOIN 数量 数据冗余:添加必要的冗余字段(如订单表直接存储用户名)合并表:将频繁关联的小表合并成…...

mac 安装homebrew (nvm 及git)
mac 安装nvm 及git 万恶之源 mac 安装这些东西离不开Xcode。及homebrew 一、先说安装git步骤 通用: 方法一:使用 Homebrew 安装 Git(推荐) 步骤如下:打开终端(Terminal.app) 1.安装 Homebrew…...
CRMEB 中 PHP 短信扩展开发:涵盖一号通、阿里云、腾讯云、创蓝
目前已有一号通短信、阿里云短信、腾讯云短信扩展 扩展入口文件 文件目录 crmeb\services\sms\Sms.php 默认驱动类型为:一号通 namespace crmeb\services\sms;use crmeb\basic\BaseManager; use crmeb\services\AccessTokenServeService; use crmeb\services\sms\…...

mac:大模型系列测试
0 MAC 前几天经过学生优惠以及国补17K入手了mac studio,然后这两天亲自测试其模型行运用能力如何,是否支持微调、推理速度等能力。下面进入正文。 1 mac 与 unsloth 按照下面的进行安装以及测试,是可以跑通文章里面的代码。训练速度也是很快的。 注意…...