RTX5060显卡对PyTorch与CUDA适配问题解决方案(解决环境依赖问题&AI微调部署前奏)
前言
如果大家的电脑显卡是RTX50系列的话,如果按照正常的部署AI,可能尚未进行调试,就会发现环境的依赖报错一大堆,又或者如下图的UserWarning,之所以会是这样,是因为5060的显卡太新了,以至于PyTorch与CUDA出现兼容问题。
图这里sm_xx代表什么?
流多处理器架构版本:
sm_50 - Maxwell架构(GTX 900系列)
sm_60 - Pascal架构(GTX 1000系列)
sm_70 - Volta架构(Tesla V100)
sm_75 - Turing架构(RTX 2000系列)
sm_80 -Ampere架构(RTX 3000系列/A100)
sm_86 - Ampere架构(笔记本RTX 3000)
sm_89 - AdaLovelace架构(RTX 4000系列)
sm_90 - Hopper架构(H100)
sm_120 - Blackwell架构(RTX5000系列)
CUDA安装
先说一下什么是CUDA。
CUDA(Compute Unified Device Architecture,统一计算设备架构)是NVIDIA公司推出的并行计算平台和编程模型。它允许开发者使用NVIDIA GPU进行通用计算,而不仅仅是图形渲染。
一句话就是充分调用GPU。
众所周知,电脑里的CPU少而强大,擅长逻辑控制,用于处理复杂但少量任务。
而GPU相对于CPU,则是显得多且简单,并行运行下可以处理简答但大量的任务。
nvidia-smi 
以上指令查看显卡支持的CUDA最高版本,虽然NVIDIA官网上的版本写文时迭代到了13.1,但是我们用12.8就完全可以(RTX50系列12.8就可以了,如果是5070可以用12.9或者13.0)。
nvcc --version 已经安装的话可以查查版本。
CUDA下载点击这里下载。
https://developer.nvidia.com/cuda-toolkit-archive 
选择12.8.1版本。

下载12.8.1,安装。
一直next就行。
PyTorch安装
https://pytorch.org/get-started/locally/ 这个网站,是PyTorch本地安装页面。
如果进行后续的微调,追求稳定体验,用Stable即可。

但是如果要进行微调的话,建议选择Nightly版本,虽然作为一天一更新的开发版,不是很稳定。但是当前只有Nightly支持RTX50系列的Blackwell架构。
tips:可能存在与其他库甚至是系统的兼容问题,如果有,评论区或者笔者后续遇见,笔者会尽量解决。
先说稳定版:
https://download.pytorch.org/whl/cu128 下面给出的地址打开后,找到torch和torchvision。

CU128指对应CUDA12.8版本,CP310指对应python3.10版本。

接着在终端pip3 install 'Path'即可。
然后是开发版。后者的时间要后于前者。
以下代码检查是否成功:
# check_cuda.pyimport torch import platform print("="*60)print("系统信息:")print(f"操作系统: {platform.system()}{platform.version()}")print(f"Python版本: {platform.python_version()}")print("="*60)print("\nCUDA状态检查:")print(f"PyTorch版本: {torch.__version__}")print(f"CUDA可用: {torch.cuda.is_available()}")if torch.cuda.is_available():print(f"\nGPU信息:")print(f"设备数量: {torch.cuda.device_count()}")for i inrange(torch.cuda.device_count()):print(f"\nGPU {i}:") prop = torch.cuda.get_device_properties(i)print(f" 名称: {prop.name}")print(f" 架构: sm_{prop.major}{prop.minor}")print(f" 显存: {prop.total_memory /1024**3:.2f} GB")print(f" 多处理器数量: {prop.multi_processor_count}")print(f"\nCUDA版本: {torch.version.cuda}")print(f"cuDNN版本: {torch.backends.cudnn.version()}")else:print("\nCUDA不可用,原因可能是:")print("1. 没有NVIDIA显卡")print("2. 没有安装CUDA驱动")print("3. PyTorch版本不支持你的显卡")# 测试GPU计算print("\n"+"="*60)print("GPU计算测试:")if torch.cuda.is_available():try:# 测试基本计算 a = torch.randn(1000,1000, device='cuda') b = torch.randn(1000,1000, device='cuda') c = torch.matmul(a, b)print("✓ 基本矩阵乘法测试通过")# 测试半精度计算if torch.cuda.get_device_properties(0).major >=5:# Volta架构以上 a_half = torch.randn(1000,1000, device='cuda', dtype=torch.float16) b_half = torch.randn(1000,1000, device='cuda', dtype=torch.float16) c_half = torch.matmul(a_half, b_half)print("✓ 半精度计算测试通过")# 测试内存分配 large_tensor = torch.randn(1000,1000,100, device='cuda')# 约400MBdel large_tensor torch.cuda.empty_cache()print("✓ 大内存分配测试通过")except Exception as e:print(f"✗ GPU测试失败: {e}")else:print("跳过GPU测试(CUDA不可用)")