RTX5060显卡对PyTorch与CUDA适配问题解决方案(解决环境依赖问题&AI微调部署前奏)

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不可用)")

Read more

Unity AR Foundation环境下NatCorder-NativeGallery的部署与OpenJDK版本适配策略

Unity AR Foundation环境下NatCorder-NativeGallery的部署与OpenJDK版本适配策略

ARFoundation-NatCorder-NativeGallery部署 环境准备 这是一个Github上的一个示例项目(链接)。下载完成后推荐使用Unity 2021.3.45f2c1(链接下载)进入项目 然后根据安装以下选项:(Visual Studio主要是代码编辑器【可选】,但不推荐选,因为它默认安装在C盘,在AI时代采用Cursor作为代码编辑器就好了) 项目构建 该项目中已经预先配置了AR Foundation包。Unity 在打开项目时会根据项目的配置文件(如 Packages/manifest.json)自动识别并安装缺失的包,如图下所示: 【位置:Windows > Panckage Manager】 在Unity编辑器中,找到并点击这个来加载场景组件: 以安卓为例,在构建前需确保安卓的Play Settings正确: 【位置:file > Build Settings > Player Settings > Player > 安卓】

程序员的自我修养:用 AR 眼镜管理健康

程序员的自我修养:用 AR 眼镜管理健康

欢迎文末添加好友交流,共同进步! “ 俺はモンキー・D・ルフィ。海贼王になる男だ!” * 一、从一次体检说起 * 二、为什么是 AR 眼镜? * 三、技术选型:CXR-M SDK vs 灵珠平台 * 四、项目架构设计 * 五、从配置开始:Gradle 和权限 * 5.1 添加 SDK 依赖 * 5.2 权限配置 * 六、数据层实现 * 6.1 数据模型 * 6.2 数据仓库 * 七、SDK 封装层 * 7.1 发送提醒到眼镜 * 7.2 TTS 语音播报

青岑web入门学习wp

靶场介绍: 最近我等于刷到一个新靶场挺好玩的 新搭建的,对新手很友好,这里推荐给大家 https://ctf.qingcen.net/ 还可以加入群聊和师傅们一起交流,进步 快哉,快哉 本篇博客的知识点来源ai or 大佬的博客(我会放链接的) ai成分高,望大家原谅 1、basic: 总结:先看源码和抓包,再找注入点和逻辑问题,最后构造 payload 拿 flag。多做题、多总结,就能形成自己的做题节奏。 直接f12得到flag: flag{56abffc9-f44f-4c90-a8a4-9fc66954ebfb} 2、BASIC_1 我们查看f12发现被封了 一样查看源码得到flag: flag{b997595d-f02c-4f3b-857b-c22433293d3e}  3、basic_2 抓取提交的包 发现无论提交什么内容is_admin一直为0 修改is_admin 得到flag

GLM-4-9B-Chat-1M前端集成:Vue.js调用本地模型示例

GLM-4-9B-Chat-1M前端集成:Vue.js调用本地模型示例 你是不是也遇到过这样的场景?公司内部有个强大的本地大模型,比如能处理百万字长文的GLM-4-9B-Chat-1M,但它被部署在服务器上,只能通过命令行或者简陋的接口调用。产品经理、运营同事想用,却总说“太麻烦”、“不会用”。 这时候,一个漂亮、易用的前端界面就成了刚需。今天,我就来手把手教你,如何用大家最熟悉的Vue.js框架,快速搭建一个能直接调用本地GLM-4-9B-Chat-1M模型的前端应用。整个过程就像给一台强大的发动机装上一个舒适好用的方向盘和仪表盘。 我们将从零开始,构建一个具备对话界面、支持长文本上传、并能实时显示模型响应的Web应用。学完这篇,你不仅能掌握前端调用本地大模型的核心方法,还能获得一个可以直接复用的项目模板。 1. 项目目标与环境准备 在开始敲代码之前,我们先明确要做什么,以及需要准备好哪些“食材”。 1.1 我们要实现什么? 想象一下,最终的产品应该长这样: 1. 一个清爽的聊天界面:左侧是对话历史,中间是主要的输入和展示区域,布局清晰。 2. 核心的文本输入框