PyTorch中配置CUDA

news2024/11/29 1:29:54

第零部分:

首先查看CUDA版本

打开cmd,输入:nvidia-smi

可以看到CUDA的版本,后面安装的pytorch相关的库不高于这个版本的就行。

这里CUDA的版本是12.5,但是由于pytorch目前最高支持的cuda版本是12.1(在下文第二部分,图中最高只有12.1的),所以最高安装12.1的

第一部分:

(好像可以直接安装第二部分,在pytorch中配置好支持cuda的包就行,不用再单独安装CUDA)

安装cuda和cudnn,可以参考:

win10+Anaconda+pytorch+CUDA11.1 详细安装指南_pytorch cuda11.1百度网盘-CSDN博客

第二部分:

在官网Start Locally | PyTorch,找到下面的部分,按照你电脑的情况选择,比如package选项,如果安装了anoconda就选择conda。

在创建的环境的teminal中运行:

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121 

等待安装完成。

第三部分:

检验pytorch中是否有cuda环境:

运行以下代码:

import torch
print(torch.__version__)
print(torch.cuda.is_available())

输出: 

cuda环境配置完成。 

在运行目标检测yolo代码的时候,报错:Could not run 'torchvision::nms' with arguments from the 'CUDA' backend.

原来是安装的torchvision不支持cuda,检验如下:

import torch
import torchvision

print(torch.__version__)
print(torch.cuda.is_available())
print(torch.__version__)
print(torchvision.__version__)

可以看到torchvision安装的是cpu版本的。

torch和torchvision支持的cuda版本必须相同,不行的话就需要卸载重装,比如要重装torchvision,打开这个链接,找到对应版本的torchvision。

图中画出框表示:cuda的版本(cu121),torchvision版本(0.18.1)和python版本(cp)。

下载好安装包,保存在项目文件夹中,然后在terminal中输入:

 pip install torchvision-0.18.1+cu121-cp312-cp312-win_amd64.whl

然后检验一下版本是否相同:

import torch
import torchvision

print(torch.__version__)
print(torch.cuda.is_available())
print(torchvision.__version__)

至此完成PyTorch中配置CUDA。

参考:

成功解决:NotImplementedError: Could not run ‘torchvision::nms‘ with arguments from the ‘CUDA‘ backend._notimplementederror: could not run 'torchvision::n-CSDN博客

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

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

相关文章

Spring Security实现用户认证四:使用JWT与Redis实现无状态认证

Spring Security实现用户认证四:使用JWT与Redis实现无状态认证 1 什么是无状态认证?2 什么是JWT?2.1 需要注意的事项2.2 JWT构成 3 Spring Security JWT实现无状态认证3.1 创建一个Spring Boot项目3.1.1 依赖3.1.2 Main3.1.3 application.ym…

劝你千万别碰CSGO/Steam游戏搬砖

添加链接描述 CSGO游戏搬砖这个项目,大家也不陌生了,所有人都在夸它如何如何好,如何如何赚钱,今天我们客观一点,不偏不倚,来聊聊CSGO游戏搬砖的弊端。 首先,这个项目最大的弊端就是不太适合大部…

pikachu靶场上的暴力破解

目录 一、暴力破解 基于表单的暴力破解 验证码绕过(on server) ​编辑 验证码绕过(on client) ​编辑 token防爆破? 二、暴力破解的相关知识点 (1)Burte Force(暴力破解)概述 (2)验证码的绕过原理 【验证码机制原理】 【客户端可能存在的安全…

debian系统apt 国内安装源

debian系统apt 国内安装源: 国内阿里镜像源: deb http://mirrors.aliyun.com/debian stable main non-free contrib deb-src http://mirrors.aliyun.com/debian stable main non-free contrib 打开源文件位置:/etc/apt/sources.list,原来的内…

证照之星 XE版软件最新版下载及详细安装教程

简介: 全新的证照之星XE版本内置500证件照规格,100套服装素材,新增AI算法,一键处理更智能,轻松将生活照变成证件照。 ​安 装 包 获 取 地 址: 证照之星 XE版:​​https://souurl.cn/4fuRmg​…

学习笔记——路由网络基础——路由度量值

3、路由度量值 (1)基本概念 路由度量值表示到达这条路由所指目的地址的代价。度量值数值越小越优先,度量值最小路由将会被添加到路由表中。度量值很多时候被称为开销(Cost)。 路由度量(路由开销 cost)对于同一个路由协议,当到达某目标网段有多条路由供…

海洋CMS admin_notify.php 远程代码执行漏洞复现(CVE-2024-30565)

0x01 产品简介 海洋CMS是一套专为不同需求的站长而设计的内容管理系统,灵活、方便、人性化设计、简单易用是最大的特色,可快速建立一个海量内容的专业网站。海洋CMS基于PHP+MySql技术开发,完全开源免费 、无任何加密代码。 0x02 漏洞概述 海洋CMS admin_notify.php 接口处…

Android本地Gradle Plugin的创建以及使用

有些Gradle插件,不想放到云端,本来也只是小功能而已,还放到云端,每次修改和发布都很麻烦,这种需求的插件放到本地还是合适的。 1.直接放到build.gradle 2.新建一个module 取名叫buildSrc(注意,一定要叫这个…

ATA-2088高压放大器在细胞分选中的作用是什么

细胞分选是生物医学研究中至关重要的一步,它允许科学家们从混合细胞群中分离出特定类型的细胞,以进行进一步的研究。高压放大器在细胞分选中发挥着关键作用,其主要任务是处理和放大细胞产生的电信号,使得这些信号能够被准确地检测…

全国产的香橙派 AIpro AI开发硬件,对标nvidia jetson硬件。太香了

1. 导语 国产化AI芯片的发展不仅反映了中国在信息技术产业的战略布局,更是对全球科技竞争格局的积极回应。随着人工智能与大数据技术的飞速进步,国内对高性能计算的需求日益增长,促使科研机构与高新技术企业加大对AI芯片研发的投入&#xff0…

vscode编辑器警告, jsconfig.json 第一行红色波浪线

问题 配置文件jsconfig.json 第一行总是有个,红色下划线 项目是可以正常运行的,就是编辑器有个红色提示看着不顺眼。 开启检查 解决红色波浪线问题

算法体系-20 第二十节暴力递归到动态规划

前言 动态规划模型从尝试暴力递归到傻缓存到动态规划 四种模型和体系班两种模型一共六种模型 0.1 从左往右模型 0.2 范围讨论模型范围尝试模型 (这种模型特别在乎讨论开头如何如何 结尾如何如何) 玩家博弈问题,玩家玩纸牌只能那左或者右 0.3 …

MapperStruct拷贝数据的介绍和使用

1、前言 在java 编程中,对象直接拷贝是很常用的方法,最初我们常用spring提供的拷贝工具BeanUtils的copyProperties方法完成对象之间属性的拷贝。但是它有几个明显的如下缺点 1、属性类型不一致导致摸一个属性值拷贝失败 2、通一个字段使用基本类型和包…

2024年高考志愿填报,计算机相关专业还值得选择吗?

一、引言 在科技日新月异的今天,计算机专业无疑是推动社会进步和经济发展的重要力量。从最初的简单数据处理到如今的云计算、大数据、人工智能等前沿技术,计算机专业的发展速度之快、影响之广,已经深入到我们生活的方方面面。本文将详细分析…

Qt程序打包成单个exe文件

文章目录 0. 准备工作1. 使用 windeployqt 提取必要的动态链接库和资源文件1.1 操作步骤1.2 补充 2. 使用 Enigma Virtual Box将文件夹打包成单个exe2.1 操作步骤 0. 准备工作 Qt程序打包用到的工具有: windeployqt :安装Qt时自带Enigma Virtual Box 下…

AUTOSAR学习

文章目录 前言1. 什么是autosar?1.1 AP(自适应平台autosar)1.2 CP(经典平台autosar)1.3 我的疑问 2. 为什么会有autosar3.autosar的架构3.1 CP的架构3.1.1 应用软件层3.1.2 运行时环境3.1.3 基础软件层 3.2 AP的架构 4. 参考资料 …

电商数据都有哪些种类?对电商数据进行分析有什么重要意义?

在数字化时代,电商行业的蓬勃发展带来了前所未有的数据积累。每一笔交易、每一次点击、每一条用户反馈都构成了电商数据的庞大体系,成为企业最宝贵的资产之一。电商数据分析不仅能够帮助企业洞察消费者行为,优化产品和服务,还能在…

一键Mock工具(Http协议接口调试工具)

1. 前言 在进行Web开发时,前端小伙伴通常是和后端开发人员同步进行项目开发,经常会遇到后端开发人员接口还没开发完,也没有可以调试的环境,只能按照接口文档进行“脑回路开发”,无法调用真实的接口,也无法…

IP隔离是什么,你了解多少?

一、IP地址隔离的概念和原理 当我们谈论 IP 地址隔离时,我们实际上是在讨论一种网络安全策略,旨在通过技术手段将网络划分为不同的区域或子网,每个区域或子网都有自己独特的 IP 地址范围。这种划分使网络管理员可以更精细地控制哪些设备或用…

Vue3中子组件挂载问题,父组件修改子组件值的问题

1,首先在父组件导入子组件 挂载 2,传递值给子组件 3,子组件