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

安装 cuda 版本 PyTorch(2025)

1、win10 安装 cuda 和 cudnn

参考其他博客,安装适合需求和机器的版本。

版本检测

nvcc -V

若有多个 cuda 版本,需要将用到的版本的环境变量移动到最上面,并保存。重新开 conda 窗口,输入 nvcc -V 检测。

2、win10 安装 cuda 版本的 PyTorch

2.1. 打开 Anaconda Prompt

按下Win键,搜索并打开Anaconda Prompt (Anaconda3)。

2.2. 创建虚拟环境

输入以下命令创建一个名为pytorch_env(可自定义)的环境,指定 Python 3.11:

conda create -n pytorch_env python=3.11 -y

若想使用 Python 3.10,将python=3.11改为python=3.10即可。

2.3. 激活环境

创建完成后,激活环境:

conda activate pytorch_env

(此时命令行前缀会显示(pytorch_env),表示已进入该环境)

2.4. 安装 PyTorch(根据 CUDA 版本选择)

在 pytorch 官网页面,选择适合自己机器的版本,进行安装。
我的是 cuda12.6,选择

# CUDA 12.6
pip install torch==2.6.0 torchvision==0.21.0 torchaudio==2.6.0 --index-url https://download.pytorch.org/whl/cu126

若下载速度太慢,检查是否配置镜像,参考博客进行配置。

2.5. 验证安装是否成功

在环境中输入python进入 Python 交互模式,执行以下代码:

python
运行
import torch
# 检查PyTorch版本
print(torch.__version__)
# 检查CUDA是否可用
print(torch.cuda.is_available())  # 输出True表示成功
# 检查CUDA版本
print(torch.version.cuda)  # 输出12.6或11.6(与安装时选择的版本一致)

若torch.cuda.is_available()返回True,则说明 CUDA 加速已生效。

3、失败检查

有时候安装完成,发现还是在用 CPU 训练,如何处理?

3.1、确认 cuda 和 pytorch 版本

# conda 窗口检查 pytorch 包
conda list# 检查 cuda 版本
nvcc -V

3.2、确认核心信息

在当前环境中运行以下代码,获取关键信息(用于定位问题):

python
# 运行下列代码
import torch
print("PyTorch版本:", torch.__version__)
print("PyTorch编译时的CUDA版本:", torch.version.cuda)  # 应显示12.6
print("CUDA驱动版本:", torch.cuda.get_device_properties(0).driver_version if torch.cuda.is_available() else "不可用")

如果torch.version.cuda显示12.6,说明安装的是正确的 CUDA 版本;若显示cpu,则说明误装了 CPU 版本(但你的安装命令应该没问题)。

重新安装 CUDA 版本的 PyTorch

按以下步骤彻底清理并重新安装:

  1. 卸载现有 CPU 版本
    打开终端(激活你的 conda 环境),执行:
pip uninstall torch torchvision torchaudio -y
  1. 清理 pip 缓存(避免重复安装错误版本)
pip cache purge
  1. 重新安装 CUDA 12.6 版本的 PyTorch
    使用以下命令(确保网络稳定,必要时挂代理):
pip install torch==2.6.0+cu126 torchvision==0.21.0+cu126 torchaudio==2.6.0+cu126 -i https://pypi.tuna.tsinghua.edu.cn/simple --extra-index-url https://download.pytorch.org/whl/cu126

注意命令中明确指定了+cu126,强制安装 CUDA 版本。

  1. 验证安装结果
    按照 3.2 重新检查。
http://www.lryc.cn/news/611470.html

相关文章:

  • 【计算机网络】王道考研笔记整理(3)数据链路层
  • Python 通过Playwright+OpenCV破解滑动验证码 实例
  • 企业级MCP部署实战:从开发到生产的完整DevOps流程
  • 007 前端( JavaScript HTML DOM+Echarts)
  • 深入浅出 RabbitMQ - 主题模式(Topic)
  • 计算机网络:一个 IP 地址可以同时属于 A 类、B 类或 C 类吗?
  • 计算机视觉的四项基本任务辨析
  • 力扣148:排序链表
  • # Kafka 消费堆积:从现象到解决的全链路分析
  • VUE+SPRINGBOOT从0-1打造前后端-前后台系统-邮箱重置密码
  • python-自定义抠图
  • Python日志记录库——logaid
  • mq_unlink系统调用及示例
  • RC和RR的区别
  • 一文搞定JavaServerPages基础,从0开始写一个登录与人数统计页面
  • Python 函数详解
  • SpringCloud学习------Hystrix详解
  • 通俗版23种设计模式解析
  • 苍穹外卖Day10
  • 智慧酒店:科技赋能下的未来住宿新体验
  • Datawhale AI夏令营 第三期 task2 稍微改进
  • 山东省天地图API申请并加载到QGIS和ArcGIS Pro中
  • 数据结构 实现单链表
  • LeetCode347.前K个高频元素(hash表+桶排序)
  • Chisel芯片开发入门系列 -- 18. CPU芯片开发和解释8(流水线架构的代码级理解)
  • 思途Mybatis学习 0805
  • LeetCode 刷题【31. 下一个排列】
  • 《Python基础》第3期:使用PyCharm编写Hello World
  • C++ 变量初始化方式总结 | 拷贝初始化 | 列表初始化 | 值初始化
  • 【C语言】动态内存管理详解