Pytorch的安装与配置

卸载原有版本的cuda

先确认当前装了哪些 CUDA

cpp 复制代码
打开cmd
nvcc --version

继续输入

cpp 复制代码
where nvcc
cpp 复制代码
echo %CUDA_PATH%

就能查看到版本号,以及位置,系统变量

卸载CUDA

按Win + R,输入 appwiz.cpl,找到NVIDIA CUDA Toolkit,去控制面板里面卸载,其他的NVIDIA不用管,然后删除版本文件夹,清理环境变量

删除原有的Conda环境

cpp 复制代码
cmd
conda deactivate
conda env remove -n pytorch_env
conda create -n pytorch_env python=3.12 -y
conda activate pytorch_env
python --version
python -m pip install --upgrade pip

不需要自己另外安装 cuDNN,也不需要为了 PyTorch 专门安装系统 CUDA Toolkit。PyTorch 的官方二进制包会携带运行所需要的 CUDA 用户态依赖。只有以后你需要编译自定义 CUDA 扩展、CUDA C++ 程序等情况,才需要系统级 CUDA Toolkit。

安装PyTorch CUDA 13.2

cpp 复制代码
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu132

但暂时没有匹配的 torchaudio wheel,先不装 torchaudio

cpp 复制代码
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu132

安装完成后检查:

cpp 复制代码
python -c "import torch; print('Torch:',torch.__version__); print('CUDA:',torch.version.cuda); print('Available:',torch.cuda.is_available()); print('GPU:',torch.cuda.get_device_name(0) if torch.cuda.is_available() else 'None')"

再做一个简单的 GPU 运算测试:

cpp 复制代码
python -c "import torch; x=torch.randn(3000,3000,device='cuda'); y=x@x; print(y.device); print(torch.cuda.memory_allocated()/1024**2,'MB')"

确认 cuDNN

cpp 复制代码
python -c "import torch; print('cuDNN:', torch.backends.cudnn.version()); print('cuDNN enabled:', torch.backends.cudnn.enabled)"

做真正的 GPU Tensor 运算

cpp 复制代码
import torch

device = torch.device("cuda")

x = torch.randn(5000, 5000, device=device)
y = torch.randn(5000, 5000, device=device)

z = x @ y

torch.cuda.synchronize()

print("x:", x.device)
print("y:", y.device)
print("z:", z.device)
print("GPU:", torch.cuda.get_device_name(0))
print("GPU memory:", torch.cuda.memory_allocated() / 1024**2, "MB")

在pycharm里面也查看了安装成功了

cpp 复制代码
import torch
import torch.nn as nn

print("PyTorch:", torch.__version__)
print("CUDA:", torch.version.cuda)
print("GPU:", torch.cuda.get_device_name(0))
print("cuDNN:", torch.backends.cudnn.version())
print("cuDNN enabled:", torch.backends.cudnn.enabled)

x = torch.randn(16, 3, 224, 224, device="cuda")

conv = nn.Conv2d(
    in_channels=3,
    out_channels=64,
    kernel_size=3,
    padding=1
).cuda()

y = conv(x)

torch.cuda.synchronize()

print("Input:", x.device)
print("Output:", y.device)
print("Shape:", y.shape)
print("Test passed")
相关推荐
FPGA信号处理1 小时前
【模式识别】第三节课:分类误差的来源与线性分类器
人工智能·分类·数据挖掘
hrrrrxeeeee1 小时前
电商从业者AI技能提升:证书选择与商品、客服、运营场景落地
人工智能
东莞市云毅网络有限公司6 小时前
AI 引用句逐条回指原文:让回答可回溯的校验实现
python·数据清洗·rag·企业知识库·文档解析
小和尚同志6 小时前
1.8k star 的开源 token 使用量监控神器— TokenTracker
人工智能·ai编程
极客 - L U7 小时前
神经网络 - 激活函数、损失函数、优化器
人工智能·深度学习·神经网络
数字融合8 小时前
透明化视频三维矿山井下照明重建技术
人工智能·python·数码相机
yi0118 小时前
LeetCode 219:存在重复元素 II——哈希表记录“最近一次出现的位置”
数据结构·人工智能·笔记·python·算法·leetcode·哈希表
xiangzhihong88 小时前
创之星花店多端业务闭环拆解
人工智能
奈落248 小时前
AI 编程从助手到 Agent:基于两份资料看哪些环节可以交出去,哪些必须自己攥住
大数据·人工智能
Joker可视化开发平台8 小时前
AI短剧接棒真人剧:开机量跌七成,普通人进场窗口在收窄
大数据·人工智能