win10 笔记本电脑安装 pytorch+cuda+gpu 大模型开发环境过程记录

news2025/4/6 10:03:58

win10 笔记本电脑安装 pytorch+cuda+gpu 大模型开发环境过程记录

文章部分内容参考 deepseek。

以下使用命令行工具 mingw64。

安装 Anaconda

安装位置:

/c/DEVPACK/Anaconda3

然后安装 Python 3.10.16
(略)

$ conda create -n pytorch_env python=3.10
$ conda activate pytorch_env

安装 CUDA cuDNN

安装 cuda toolkit 会更新系统的显卡驱动。尽管我的 Thinkpad X1 驱动已经是最新,但是仍然比 Nvidia 提供的旧。所以要更新 N 卡驱动。因为 pytorch 支持 12.6,所以我选择 cuda12.6。

下载:
cuda_12.6.3_561.17_windows.exe
cudnn_9.6.0_windows.exe
然后安装位置:

C:\NVIDIA\cuda126
C:\NVIDIA\cudnn9.6

系统环境变量设置如下:

CUDA_PATH=C:\NVIDIA\cuda126
CUDA_PATH_V12_6=C:\NVIDIA\cuda126
Path=C:\NVIDIA\cuda126;C:\NVIDIA\cuda126\bin;C:\NVIDIA\cuda126\libnvvp;C:\NVIDIA\cuda126\lib\x64;C:\NVIDIA\cudnn9.6\bin\12.6;C:\NVIDIA\cudnn9.6\lib\12.6\x64;...

安装 CUDA 时,不要勾选(名字记不清了,大概意思):

Nsight SVE
Cuda Visual Studio 整合

安装完毕测试:

$ nvcc -V

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2024 NVIDIA Corporation
Built on Wed_Oct_30_01:18:48_Pacific_Daylight_Time_2024
Cuda compilation tools, release 12.6, V12.6.85
Build cuda_12.6.r12.6/compiler.35059454_0

$ nvidia-smi

    Sat Apr  5 16:43:53 2025
	+-----------------------------------------------------------------------------------------+
	| NVIDIA-SMI 561.17                 Driver Version: 561.17         CUDA Version: 12.6     |
	|-----------------------------------------+------------------------+----------------------+
	| GPU  Name                  Driver-Model | Bus-Id          Disp.A | Volatile Uncorr. ECC |
	| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
	|                                         |                        |               MIG M. |
	|=========================================+========================+======================|
	|   0  NVIDIA GeForce GTX 1650      WDDM  |   00000000:01:00.0 Off |                  N/A |
	| N/A   56C    P8              4W /   35W |      81MiB /   4096MiB |      0%      Default |
	|                                         |                        |                  N/A |
	+-----------------------------------------+------------------------+----------------------+

说明cuda显卡驱动和开发环境安装成功。

安装 pytorch

访问 PyTorch官网 https://pytorch.org/get-started/locally/,选择下图橙色所示部分,注意安装的Python和CUDA版本。

在这里插入图片描述打开 mingw64 命令行工具窗口,运行下面命令:

$ conda config --set show_channel_urls yes
$ conda config --set always_yes yes
# 默认重试次数为 30
$ conda config --set remote_max_retries 30
# 连接超时
 $ conda config --set remote_connect_timeout_secs 600
# 读取超时
 $ conda config --set remote_read_timeout_secs 1200
$ conda activate pytorch_env
$ pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu126

漫长的等待之后安装成功。

Downloading https://download.pytorch.org/whl/cu126/torch-2.6.0%2Bcu126-cp310-cp310-win_amd64.whl (2496.1 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.5/2.5 GB 236.1 kB/s eta 0:00:00
Downloading https://download.pytorch.org/whl/cu126/torchaudio-2.6.0%2Bcu126-cp310-cp310-win_amd64.whl (4.2 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.2/4.2 MB 276.7 kB/s eta 0:00:00
Downloading https://download.pytorch.org/whl/fsspec-2024.6.1-py3-none-any.whl (177 kB)
Installing collected packages: sympy, fsspec, torch, torchvision, torchaudio
  Attempting uninstall: sympy
    Found existing installation: sympy 1.13.3
    Uninstalling sympy-1.13.3:
      Successfully uninstalled sympy-1.13.3
  Attempting uninstall: torch
    Found existing installation: torch 2.5.1
    Uninstalling torch-2.5.1:
      Successfully uninstalled torch-2.5.1
Successfully installed fsspec-2024.6.1 sympy-1.13.1 torch-2.6.0+cu126 torchaudio-2.6.0+cu126 torchvision-0.21.0+cu126
(pytorch_env)

编写一个测试文件:check_pytorch_env.py

import torch

print(torch.__version__)          # 查看 PyTorch 版本
print(torch.cuda.is_available())  # 输出 True 表示 CUDA 可用
print(torch.cuda.get_device_name(0))  # 显示 GPU 型号(如 NVIDIA RTX 3090)

运行测试:

$ python check_pytorch_env.py

2.6.0+cu126
True
NVIDIA GeForce GTX 1650
(pytorch_env)

说明 pytorch+cuda+gpu 安装成功。

安装 hugging-face

在安装好 PyTorch 后,安装 Hugging Face 的 transformers 库(核心工具库)和其他相关依赖的步骤如下。

系统环境变量增加:

HF_ENDPOINT=https://hf-mirror.com            # 模型下载网站
HF_HOME=D:\huggingface                       # hf 主目录。下载缓存目录自动在: $HF_HOME/hub
HF_MODELS=D:\huggingface\models              # 模型保存的本地目录
HF_HUB_DISABLE_SYMLINKS_WARNING=1

完整安装命令:

$ conda activate pytorch_env
$ pip3 install transformers datasets tokenizers accelerate peft safetensors soundfile librosa Pillow huggingface_hub python-dotenv

说明:

  • transformers(模型加载与推理):支持加载预训练模型(如 BERT、GPT、T5)、进行文本生成、分类、翻译等任务。
  • datasets(数据集加载与处理):快速加载和处理 NLP、CV、语音等公开数据集(如 GLUE、SQuAD)。
  • tokenizers(高性能分词工具):用于文本分词(支持 BPE、WordPiece 等算法),比 transformers 内置分词器更快。
  • huggingface_hub:通过镜像站下载模型:huggingface-cli download --resume-download --cache-dir “本地路径” 模型名称
  • python-dotenv:读取 .env 保存的环境变量

可选:

  • accelerate(分布式训练):加速库。简化多 GPU/TPU 训练代码,支持混合精度训练。
  • evaluate:模型评估库。提供标准评估指标(如准确率、F1、BLEU)。
  • peft:模型压缩库。支持参数高效微调(如 LoRA、Prefix Tuning)。
  • safetensors:模型序列化库。安全高效的模型权重序列化格式,替代传统 pickle。
  • soundfile、librosa:音频处理
  • Pillow:图像处理

编写一个测试文件:check_huggingface.py

	import transformers
	from transformers import pipeline
	# 应输出版本号(如 4.50.3)
	print(transformers.__version__)
	# 示例:情感分析管道
	classifier = pipeline("sentiment-analysis")
	result = classifier("Hugging Face is amazing!")
	print(result)  # 输出示例:[{'label': 'POSITIVE', 'score': 0.9998}]

运行测试:

$ python check_huggingface.py

报错。因为 https://huggingface.co 无法访问,所以需要使用Hugging Face Pipeline在本地运行模型。模型下载脚本文件:
$HF_HOME/scriptes/download_models.py

import os
import transformers
from transformers import AutoModelForSequenceClassification, AutoTokenizer

hf_models_dir = os.getenv("HF_MODELS")
# 指定模型名称
model_name = "nlptown/bert-base-multilingual-uncased-sentiment"
local_dir = os.path.join(hf_models_dir, "bert-base-multilingual-uncased-sentiment")

print("local_dir=", local_dir)
# 下载模型和分词器
model = AutoModelForSequenceClassification.from_pretrained(model_name)
tokenizer = AutoTokenizer.from_pretrained(model_name)
# 保存到本地
model.save_pretrained(local_dir)
tokenizer.save_pretrained(local_dir)

执行上面的脚本: H F _ H O M E / s c r i p t e s / d o w n l o a d _ m o d e l s . p y ,模型下载到本地目录: HF\_HOME/scriptes/download\_models.py,模型下载到本地目录: HF_HOME/scriptes/download_models.py,模型下载到本地目录:HF_MODELS/bert-base-multilingual-uncased-sentiment

情感分析测试 sentiment-analysis.py:

import os
from transformers import pipeline

# D:\huggingface\models
hf_models_dir = os.environ["HF_MODELS"]

print("hf_models_dir=", hf_models_dir)

# 加载本地模型
classifier = pipeline(
    "sentiment-analysis",
    model = os.path.join(hf_models_dir, "bert-base-multilingual-uncased-sentiment"),
    tokenizer= os.path.join(hf_models_dir, "bert-base-multilingual-uncased-sentiment")
)

print("classifier ok")

# 测试文本
test_lines = [
    "傻!",
    "关税战没有赢家",
    "中国国必胜。yeah yeah"
]

for l in test_lines:
    result = classifier(l)
    print(l, result)

print("test exit ok")

执行:python sentiment-analysis.py

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2329141.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Layout Inspector平替跨平台布局分析器のAppium Inspector

引言 因为我有一个api为26的设备,因为 Layout Inspector 无法在 API 26 以下设备上使用,并且现在AS的 Hierarchy Viewer 和Android Device Monitor 均已经在SDK中剔除,故想再搜一个pc版的布局查看器,发现Appium Inspector学习成本…

常见NLP指标PPL,F1,Rouge-L,Accuracy (CLS),Accuracy (EM)总结

常见NLP指标PPL,F1,Rouge-L总结 1.PPL 2.F1 3.Rouge-L 4.Accuracy (CLS) 5.Accuracy (EM)

Redis数据结构之ZSet

目录 1.概述2.常见操作2.1 ZADD2.2 ZRANGE2.3 ZREVRANGE2.4 ZRANGEBYSCORE2.5 ZSCORE2.6 ZCARD2.6 ZREM2.7 ZINCRBY2.8 ZCOUNT2.9 ZMPOP2.10 ZRANK2.11 ZREVRANK 3.总结 1.概述 ZSet和Set一样也是String类型元素的集合,且不允许重复的成员,不同的是ZSet…

磁盘分析工具合集:告别C盘焦虑!

今天李师傅带大家盘点五款硬盘空间分析利器,帮你精准定位那些"吃空间"的元凶,让C盘告别臃肿烦恼! 一、WizTree 这款NTFS磁盘的"透视眼"堪称效率典范。它通过直接读取硬盘主文件表(MFT)实现秒级扫描,1TB机械…

20250405在荣品的PRO-RK3566开发板使用Rockchip原厂的buildroot系统来适配gmac1

【暂时还没有解决让PRO-RK3566的eth0/gmac1开机就启动】 PRO-RK3566作为iperf服务器: rootrk3566-buildroot:/# ifconfig rootrk3566-buildroot:/# ifconfig -a rootrk3566-buildroot:/# ifconfig eth0 up rootrk3566-buildroot:/# ifconfig rootrk3566-buildroot:/…

每日一题(小白)模拟娱乐篇14

直接理解题意,一分钟扩散一次,那么2020分钟也就是需要循环2020次,然后加入扩散后的条件,每一个次扩散使方格子的总量1(只要有一个点扩散就无需看其他的点),若干次循环过后总数之和即所有黑色格子…

使用 Python 爬取并打印双色球近期 5 场开奖数据

使用 Python 爬取并打印双色球近期 5 场开奖数据 前期准备安装所需库 完整代码代码解析 1. 导入必要的库2. 定义函数 get_recent_five_ssq 3. 设置请求的 URL 和 Headers 4. 发送请求并处理响应5. 解析 HTML 内容6. 提取并打印数据7. 错误处理 首先看下运行的效果图&#xff1a…

再见VS Code!Google IDE 正颠覆传统开发体验

云端开发的革命:Google Project IDX 如何颠覆传统开发体验 在软件开发领域,Google 最新推出的 Project IDX 绝非仅仅是另一个“基于浏览器的 VS Code”——它是一次真正的范式转变。与 VS Code、Cursor 等传统工具不同,IDX 是一个完全云原生的…

AI+自动化测试:如何让测试编写效率提升10倍?

文章目录 摘要传统自动化测试的痛点编写测试用例太费时间测试覆盖率难以保证UI 测试维护成本高 AI 如何优化自动化测试?AI 生成单元测试:减少重复工作,提高覆盖率传统方法 VS AI 方法 使用 AI 生成 Python 单元测试自动补全边界情况传统方法 …

01-STM32(介绍、工具准备、新建工程)p1-4

文章目录 工具准备和介绍硬件设备stm32简介和arm简介stm32简介STM32命名规则STM32选型STM32F103C8T6最小系统板引脚定义STM32启动配置STM32最小系统电路ARM简介 软件安装注册器件支持包安装ST-LINK驱动安装USB转串口驱动 新建工程创建stm32工程STM32工程编译和下载型号分类及缩…

Win10定时任务计划无法显示要执行的EXE任务程序界面,问题解决办法

用C#开发的一款WINFORM程序,在电脑测试一切顺利,运行结果正确。但用电脑的定时任务执行时,程序界面不显示,重启电脑、各种试都不行,最终问题解决。 解决办法: 要选“只在用户登陆时运行”,才能执…

STM32CubeMX-H7-12-IIC读写MPU6050模块(中)-MPU6050模块详解以及软件IIC驱动

前言 上一篇我们已经完成对IIC代码基本框架的编写,以及获取MPU6050的ID,接下来我们逐一分析这个模块的功能,并用IIC驱动 建议看完上一篇再来看这篇 MPU6050寄存器介绍 1.电源管理寄存器(PWR_MGMT_1,地址:0…

springboot2.7.x整合nacos+seata

1、nacos及seata下载地址 Nacos Server 下载 | Nacos 官网 Seata Java Download | Apache Seata 这里的seata版本用2.1.0版本。 2、启动nacos D:\本地-seata-nacos\nacos-server\bin>startup.cmd -m standalone 3、修改seata的conf下的application的内容 这里的数据库…

为 IDEA 设置管理员权限

IDEA 安装目录 兼容性选择管理员身份运行程序 之后 IDEA 中的操作(包括终端中的操作)都是管理员权限的了

单片机学习笔记8.定时器

IAP15W4K58S4定时/计数器结构工作原理 定时器工作方式控制寄存器TMOD 不能进行位寻址,只能对整个寄存器进行赋值 寄存器地址D7D6D5D4D3D2D1D0复位值TMOD89HGATEC/(T低电平有效)M1M0GATEC/(T低电平有效)M1M000000000B D0-D3为T0控制,D4-D7为T1控制 GAT…

vue3实现markdown预览和编辑

Markdown作为一种轻量级标记语言,已经成为开发者编写文档的首选工具之一。在Vue3项目中集成Markdown编辑和预览功能可以极大地提升内容管理体验。本文将介绍如何使用Vditor这一强大的开源Markdown编辑器在Vue3项目中实现这一功能。 一、Vditor简介 Vditor是一款浏…

高并发秒杀系统接入层如何设计

博主介绍:✌全网粉丝5W,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战,博主也曾写过优秀论文,查重率极低,在这方面有丰富的经验…

C++异常处理 throw try catch

C 异常处理概述 C 异常处理机制提供了一种在程序运行时捕获错误或异常情况的方式。异常处理的目的是使得程序在遇到错误时能够优雅地终止或恢复,并防止程序出现崩溃。C 使用 try, throw, 和 catch 关键字来实现异常处理。 异常处理的基本结构: throw: …

纯css实现环形进度条

需要在中实现一个定制化的环形进度条&#xff0c;最终效果如图&#xff1a; 使用代码 <divclass"circular-progress":style"{--progress: nextProgress,--color: endSliderColor,--size: isFull ? 60rpx : 90rpx,}"><div class"inner-conte…

0基础 | 硬件 | 电源系统 一

降压电路LDO 几乎所有LDO都是基于此拓扑结构 图 拓扑结构 LDO属于线性电源&#xff0c;通过控制开关管的导通程度实现稳压&#xff0c;输出纹波小&#xff0c;无开关噪声 线性电源&#xff0c;IoutIin&#xff0c;发热功率P电压差△U*电流I&#xff0c;转换效率Vo/Vi LDO不适…