一站式安装对应显卡版本的cuda和torch(windows)

前言

一年前,安装过cuda,觉得并不难,就没有记录。

这次安装还算顺利,就是在找资料的时候,浪费了不少时间

这次就记录下来,方便以后再次安装


总结安装程序:

1、安装python环境

2、安装VS的C++环境(因为CUDA在安装时,需要VS的里面的工具包来编译。)

3、安装cuda

4、安装pytorch

一、安装python(也可以用conda安装)

直接官网下载:Python Releases for Windows | Python.orgThe official home of the Python Programming Languageicon-default.png?t=N7T8https://www.python.org/downloads/windows/

我下载的版本——蓝奏云下载(python3.9.5):python-3.9.5-amd64.zip - 蓝奏云

进入命令行,输入python,出现这样的界面则表示成功安装

使用conda(Anaconda)的话,可以看看b站的教程(这里就不赘述了)

二、安装VS的C++环境

如果你想用其他版本可以去官网下载:Downloads & Keys - Visual Studio Subscriptionsicon-default.png?t=N7T8https://my.visualstudio.com/Downloads?q=Visual%20Studio%202022

我下载的是:社区免费版VS 2022——VisualStudioSetup.exe

蓝奏云下载2022社区免费版:https://wwm.lanzout.com/i7xQY1ods8xi 
密码:6epa

运行安装程序:

然后找到C++桌面开发

建议安装到专门放软件的盘,不要安装到系统盘C,然后点击开始进行安装

安装完后,电脑需要重启,重启后就可以使用了

三、安装CUDA

在安装前,可以先看看这个博客:理清GPU、CUDA、CUDA Toolkit、cuDNN关系以及下载安装_cudatoolkit-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/qq_42406643/article/details/109545766

2.1、检查环境

  • 检查是否有NVIDA的独立显卡前面的VS是否已经安装

2.2、 查看自己是否有NVIDA显卡驱动程序

如果没有显卡的控制面板,下载安装:NVIDIA GeForce 驱动程序 - N 卡驱动 | NVIDIA

2.3、查看GPU显卡所支持的CUDA版本

控制面板-> 帮助-> 系统信息-> 组件-> 我的是CUDA 12.3

2.4、安装对应版本的CUDA安装包

进入官网:CUDA Toolkit Archive | NVIDIA Developer

2.5、选择对应的系统

如果用离线版本,就有3个G,这里我选择的是在线安装

2.6、运行安装包

自己选择路径:

选择——自定义安装

安装组件,全部勾选,点击下一步

自定义下载路径

建议安装到专门放软件的盘,不要安装到系统盘C

然后慢慢等

之后一直下一步就行了~

2.7、配置Cuda的环境变量

安装完成后,就需要我们配置Cuda的环境变量了

他会自己添加的变量:

先找到我们自定义安装的cuda文件夹

然后添加两个环境变量

相当于,总共有这4个文件夹的~

2.8、查看是CUDA是否安装成功

Win + R 打开cmd ,输入命令:nvcc --version

2.9、验证deviceQuery和bandwidthTest

在命令窗口运行文件

ok!CUDA搞定啦~

四、安装pytorch

  • 我的电脑的cuda版本是12.3的,准备安装pytorch!
  • 目前,官网上没有直接支持cuda 12.3的pytorch版本!
  • 通过翻阅其他博客,博主说cuda是向下兼容的!
  • 我就选择了CUDA 12.1

4.1、通过官网,选择对应版本,然后复制命令,直接下载即可!

不过在这里先pip换源

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
pip config set install.trusted-host mirrors.aliyun.com

同时,再设置一下超时时间,毕竟这个torch有2~3个G(这里就不赘述了,直接放链接,如果超时了,再来设置也行~)

Python——记录pip问题(解决下载慢、升级失败问题)_pip下载太慢-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/Pan_peter/article/details/129553679

安装完成~

五、运行效果

我把我之前那个项目拿来,跑一下试试~

基于YOLOv8的多端车流检测系统(用于毕设+开源)_yolov8 rtsp-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/Pan_peter/article/details/132048923

先下载其他库

报错了:type object 'Detections' has no attribute 'from_yolov8'

大佬评论:由于Detection删除了from,所以需要降级,又因为前面的sv调用,所以把supervision降级为0.6.0即可解决pip install supervision==0.6.0

感谢大佬!!!

运行项目:(20多帧,比俺之前只有几帧好多了,啊哈哈~)

用之前的训练demo包试试:

windows使用YOLOv8训练自己的模型(0基础保姆级教学)_windows10使用yolov8常见问题-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/Pan_peter/article/details/129907710

也可以正常训练


只不过这里遇到了一个小插曲:

报错:RuntimeError: DataLoader worker (pid(s) 20580, 22560, 5668, 18512, 1240, 18208, 22356) exited unexpectedly

他搞了多线程,我直接关闭他,把训练代码改为 workers=0

model.train(data='./data/cat.yaml', epochs=100, imgsz=640, workers=0)


参考文章:

Cuda和cuDNN安装教程(超级详细)-CSDN博客全网最详细的Python安装教程(Windows) - 知乎 (zhihu.com)Cuda和cuDNN安装教程(超级详细)-CSDN博客

理清GPU、CUDA、CUDA Toolkit、cuDNN关系以及下载安装_cudatoolkit-CSDN博客

安装支持CUDA 12的pytorch教程 - 知乎 (zhihu.com)

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

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

相关文章

【机构vip教程】Unittest(1):unittest单元测试框架简介

unittest单元测试框架简介 unittest是python内置的单元测试框架,具备编写用例、组 织用例、执行用例、功能,可以结合selenium进行UI自动化测 试,也可以结合appium、requests等模块做其它自动化测试 官方文档:https://docs.pytho…

机试指南:3-4章

文章目录 第3章 排序与查找(一) 排序1.sort函数:sort(first,last,comp)2.自定义比较规则3.C函数重载:同一个函数名,有不同的参数列表4.机试考试最重要的事情:能把你曾经做过的题目,满分地做出来5.例题例题1&#xff1a…

xtu oj 1162 奇偶校验

题目描述 奇偶校验是一种在通讯中经常使用的,用来确认传输的字节是否正确的手段。 对于一个BYTE(8BIT),我们使用0~6bit来存储数据,称为数据位,第7位存储奇偶校验位。 如果数据位有偶数个1,那么第7位为0,否则为1。现给…

markdown绘制流程图相关代码片段记录

有时候会使用typora来绘制一些流程图&#xff0c;进行编码之类的工作&#xff0c;在网络搜集了一些笔记&#xff0c;做个记录&#xff0c;方便日后进行复习&#xff0c;相关的记录如下&#xff1a; 每次作图时&#xff0c;代码以「graph <布局方向>」开头&#xff0c;如…

kettle--JavaScript脚本日期使用

输入日期为20240216&#xff0c;运行如下代码&#xff0c;结果为true var reportdate parent_job.getVariable("v_reportdate"); var date_type parent_job.getVariable("v_date_type"); var reportdate_freportdate.substr(0,4) "/" report…

P3141 [USACO16FEB] Fenced In P题解

题目 如果此题数据要小一点&#xff0c;那么我们可以用克鲁斯卡尔算法通过&#xff0c;但是这个数据太大了&#xff0c;空间会爆炸&#xff0c;时间也会爆炸。 我们发现&#xff0c;如果用 MST 做&#xff0c;那么很多边的边权都一样&#xff0c;我们可以整行整列地删除。 我…

RK3399平台开发系列讲解(USB篇)U盘等存储类设备

🚀返回专栏总目录 文章目录 一、什么是U盘等存储类设备二、U盘设备传输数据结构三、U盘识别需要打开的宏沉淀、分享、成长,让自己和他人都能有所收获!😄 📢介绍U盘等存储类设备。 一、什么是U盘等存储类设备 USB Mass Storage Device Class(USB MSC/UMS) USB大容量存…

springboot199疫情打卡健康评测系统

疫情打卡健康评测系统设计与实现 摘 要 当下&#xff0c;如果还依然使用纸质文档来记录并且管理相关信息&#xff0c;可能会出现很多问题&#xff0c;比如原始文件的丢失&#xff0c;因为采用纸质文档&#xff0c;很容易受潮或者怕火&#xff0c;不容易备份&#xff0c;需要花…

[AIGC] 了解消息队列事务:保证数据一致性的关键

在分布式系统中&#xff0c;消息队列是一种常见的解耦手段&#xff0c;可以帮助我们简化复杂系统的架构设计&#xff0c;提高系统的可靠性和可扩展性。但是&#xff0c;在使用消息队列时&#xff0c;我们需要注意一个重要的问题&#xff1a;保证数据的一致性。在这篇文章中&…

《剑指 Offer》专项突破 - 面试题 43 : 在完全二叉树中添加节点(两种方法 + C++ 实现)

目录 前言 方法一 方法二 前言 题目链接&#xff1a;LCR 043. 完全二叉树插入器 - 力扣&#xff08;LeetCode&#xff09; 题目&#xff1a; 在完全二叉树中&#xff0c;除最后一层之外其他层的节点都是满的&#xff08;第 n 层有 个节点&#xff09;。最后一层的节点可能…

IO进程-day1

1、使用fgets统计给定文件的行数。 #include<stdio.h> #include<string.h> #include<stdlib.h>int main(int argc, const char *argv[]) {if(argc ! 2){printf("inout file error\n");printf("usage:./a.out srcfile destfile\n");ret…

理德外汇名人故事:全球著名的基金经理——布鲁斯·科夫纳

纽约华尔街&#xff08;wall street&#xff09;是纽约市曼哈顿区南部一条大街的名字&#xff0c;长不超过一英里&#xff0c;宽仅11米。它是美国一些主要金融机构的所在地。两旁是陈旧的摩天大楼&#xff0c;这条街上集中了纽约证券交易所、联邦储备银行等金融机构和美国洛克菲…

深入了解C语言:基础、特性与实践

C语言是一门广泛应用于系统编程和嵌入式领域的高效编程语言。通过深入了解其基础、特性以及实际应用&#xff0c;我们能够更好地掌握这门语言&#xff0c;提高编程技能。在本博客中&#xff0c;我们将探讨C语言的各个方面&#xff0c;从基础概念到高级应用&#xff0c;为读者提…

在golang语言中简单使用protobuf时遭遇go_package困难重重

文章目录 前言编写示例示例初始化编写协议文件内容导出协议文件protoc 和 protoc-gen-go执行导出命令 编写协议使用文件 体会总结 前言 Protobuf&#xff0c;全称Protocol Buffers&#xff0c;是一种由Google开发的用于序列化结构化数据的开源数据交换格式&#xff0c;Golang作…

在UE5中使用体积材质

在平时使用UE的材质设置时&#xff0c;经常会看见Material Domain Volume类型&#xff0c;但是却很少使用。其实该类型可以配合体积雾使用&#xff0c;并制作体积效果以弥补自带雾参数的不足。 操作流程 首先找到场景中的ExponentialHeightFog组件&#xff0c;开启体积雾Volu…

SpringBoot整合Redis实现登录失败锁定功能

文章目录 前言一、为何选择Redis作为账户锁定的存储解决方案&#xff1f;二、代码案例讲解1.引入依赖2.配置文件3.示例代码 总结 前言 在现代的软件开发中&#xff0c;安全性和用户体验是至关重要的方面。特别是在身份验证和授权方面&#xff0c;保护用户账户免受恶意访问是至…

【论文精读】SimCLR2

摘要 本文提出了一个半监督学习框架&#xff0c;包括三个步骤&#xff1a;无监督或自监督的预训练&#xff1b;有监督微调&#xff1b;使用未标记数据进行蒸馏。具体改进有&#xff1a; 发现在半监督学习&#xff08;无监督预训练有监督微调&#xff09;中&#xff0c;对于较大…

Linux第61步_“buildroot”构建根文件系统第3步_烧写根文件系统到EMMC中_并完善开发板配置

烧录到EMMC测试&#xff0c;还需进一步测试和配置。 1、删除rootfs”目录下的“rootfs.tar”压缩包 打开第1个终端 输入“ls回车” 输入“cd linux/回车”&#xff0c;切换到“linux”目录 输入“ls回车”&#xff0c;列出“linux”目录下的文件和文件夹 输入“cd nfs/回…

xtu oj 1150 n!进制 2.0

题目描述 n!进制是指每i位的权值是(i1)!,每一位的系数为0~i1。 比如n!进制的21 2*2! 1*1! 5。给你一个10进制数&#xff0c;求其n&#xff01;进制的值。 输入 每行一个10进制的整数n,0≤n≤3,628,799。 输出 每行输出一个样例的结果。 样例输入 0 1 10 100 3628799样…

Linux目录操作类命令 less | grep | ln | chattr | 清除日志内容

less 用来浏览超过一页的文件 用 / 可用来查找关键字 q键退出 cat -n 3.txt | less行号显示grep 文本处理工具&#xff0c;以行为单位找关键字 ls -l /boot | grep ^l grep 关键字 文件名 grep runlevel /etc/inittab 参数 -i忽略大小写 -n显示行号 -v排除关键字&#xff0…