报错:Torch not compiled with CUDA enabled看这一篇就足够了-程序员宅基地

技术标签: 计算机视觉  深度学习  目标检测  神经网络  

 

目录

1.CUDA下载安装步骤

2. Pytorch环境的配置

笔者计算机视觉研0刚入学为研一。近期在学习目标检测算法中的YOLO系列。在运行YOLO V1训练代码时,报出该错误

原因很简单:CUDA和Torch版本不兼容

遇到这类问题先检查电脑的CUDA支持版本:

  打开cmd,输入

nvidia-smi

可以看到红框里的是电脑支持的最高版本的cuda,我们在官网进行下载时,下载该版本及以下的即可(建议下载该版本以下)

其次,检查自己的电脑中CUDA的版本(检查是否安装CUDA):

     打开cmd,输入

nvcc --version

可以看到我最开始的安装版本是11.7

如果显示无法找到nvcc说明电脑中没有安装CUDA。

  补充:

  如果你的电脑中有CUDA但版本不合适,删除重装即可,需要注意的是,一定要卸载干净。我是在电脑自带的控制面板中进行卸载的:点击控制面板——程序——程序和功能

找到所有和NVIDIA有关的全部卸载,然后再去软件管家清理卸载残留。其他的卸载方式也可,但一定要卸载干净。

1.CUDA下载安装步骤

        如果电脑支持CUDA11.x,最好下载11.3版本,这样比较保险。

        点击CUDA官网:https://developer.nvidia.com/cuda-downloads

        选择更多之前版本:

 根据自己电脑的系统选择合适的进行下载即可:

 我是把它放到了F盘中:

 安装包下载好后,右键——管理员运行——进入安装,无脑点下一步即可(尽量按照系统为你选择好的安装路径来安,也就是C盘路径。之前我尝试在其他盘中安装,没有成功),需要注意:在“安装选项”这一栏选择:自定义安装。

 安装完成后,检查是否安装成功,再次打开cmd,输入

nvcc --version

 

可以看到我现在的版本变成了11.3,说明安装成功。

2. Pytorch环境的配置

    首先对照CUDA和pyTorch对应的版本,可以看到CUDA对应的pytorch版本有三个,这里我选择1.11.0

 

 选择好版本后我们就开始下载pytorch安装包。

  方法有两种:

                    1.在pytorch官网:https://pytorch.org/get-started/locally/选择在线安装:

 但这样的安装方式需要极好的网络环境,中间过程出错率较高。我采用的是第二种方法,离线下载。

                    2.离线安装:http://2.https://download.pytorch.org/whl/torch_stable.html

选择对应的版本即可,这里的cu:cuda版本;cp:Python版本;torch:torch版本,选择适合自己的系统,点击链接下载即可。

 Torch下载好后,进行离线安装:

打开Anaconda

切换安装路径:直接复制路径是切不过来的(切换路径需要输入cd)

 需要在此基础上直接输入:

F:

回车,即可转到F盘路径下

 我们需要在这个路径下安装torch。在命令行输入

pip install torch

加上一个Tab键,导出torch安装链接,并在后面加上清华大学的镜像源:https://pypi.tuna.tsinghua.edu.cn/simple/加快安装速度

如果报错:

显示pip需要更新,可以直接去cmd中输入:

python -m pip install --upgrade pip

更新即可

 随后等待torch的安装,显示成功即安装完成

 

安装完成后,我们可以进行简单的版本测试:

在anaconda中输入:

import torch

print(torch.__version__):查看torch版本

print(torch.cuda.is_available()):看安装好的torch和cuda能不能用,也就是看GPU能不能用

返回如下图所示,即代表安装成功

 回到train训练脚本中,运行代码:

 Bug解决!

希望可以帮到各位卷王~~

 

 

 

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_72056722/article/details/126651703

智能推荐

Halcon的Hobject和Opencv的Mat数据类型之间的超快速转换方法_halcon和cvmat数据转换-程序员宅基地

文章浏览阅读3.6k次,点赞12次,收藏41次。由于项目需求,需要把部分Opencv代码和Halcon代码联接起来使用,而两种库所使用的基本数据类型是完全不一样的。因此需要一个互转函数来对他们进行转换。我在这篇博客中看到了一种互转方法Halcon 与 OpenCV 图像数据类型转换。这里面所介绍的方法转换速度非常的慢,Halcon转Opencv需要600ms,而opencv转halcon要10ms,这对于工业应用的项目来说实在是太慢了。仔细研读后,发现这份代码使用Halcon的 GetGrayval() 函数来对HImage进行像素值遍历读取,这_halcon和cvmat数据转换

Android手机验证码倒计时的实现_andriod验证码倒计时-程序员宅基地

文章浏览阅读1.1k次。/**获取验证码倒计时 * Created on 2019/7/4. */public class CountDownTimerUtils extends CountDownTimer { private TextView mTextView; public CountDownTimerUtils(TextView textView, long millisInFut..._andriod验证码倒计时

java中的类的继承_Java中类的继承-程序员宅基地

文章浏览阅读175次。一、子类继承父类的写法class 子类名 extends 父类名{}复制代码二、子类与父类之间的关系①父类可以有个子类②子类只能有一个父类③子类会继承父类的一些属性和方法④子类在创建对象时,会先调用父类的构造方法6三、四大权限修饰符继承非继承同一个包不同包同一个包不同包private缺省protectedpublic上面的对错仅代表能否调用。其实子类继承父类之后,创..._7-2 java类的继承-成员与方法 分数 10 作者 李建华 单位 石家庄铁道大学

MultipartFile的属性 file.getOriginalFilename()与file.getName()的区别 MultipartFile与File互转_multipartfile属性-程序员宅基地

文章浏览阅读1.9k次,点赞3次,收藏5次。MultipartFile为org.springframework.web.mutipart包下的一个类,也就是说如果想使用MultipartFile这个类就必须引入spring框架,换句话说,如果想在项目中使用MultipartFile这个类,那么项目必须要使用spring框架才可以,否则无法引入这个类。以下基于spring-web.5.2.9.RELEASE源码了解一下MultipartFileMultipartFile注释说明第一句:一种可以接收使用多种请求方式来进行上传文件的代表形式。_multipartfile属性

english-程序员宅基地

文章浏览阅读1.8k次。关于音标: 1.http://blog.hjenglish.com/melodious/category/2060.html(美音听力及发音小技巧) 2.http://det.tjfsu.edu.cn/learning/oral.htm(英语口语学习资源) 3.http://203.68.17.29/mis/mono/kevin/EteachWeb/KK%AD%B5%BC%D0/kk.htm

Android studio升级3.0 carry2 出现问题Gradle sync failed: Connection timed out: connect解决办法_gradle sync failed: read timed out consult ide log-程序员宅基地

文章浏览阅读3.7w次,点赞3次,收藏14次。android studio 3.0升级后报错的解决_gradle sync failed: read timed out consult ide log for more details (help

随便推点

IEEE--DSConv: Efficient Convolution Operator 论文翻译_dsconv: effcient convolution operator-程序员宅基地

DSConv是一种高效的卷积操作符,可以替代传统的卷积操作符,具有高准确性、低内存使用和灵活性。通过对CIFAR10图像的分类实验,证明了DSConv的有效性。

Vue进阶(幺陆伍)PhantomJS 实战讲解_vue phantomjs-程序员宅基地

文章浏览阅读440次。在前期博文《Vue进阶(五十六):vue-cli 脚手架 karma.conf.js 配置文件详解》中讲解了文件用于配置前端项目自动化测试信息。// 这里使用的是PhantomJS作为浏览器测试环境,这个插件支持 DOM, CSS, JSON, Canvas, and SVG 的解析其中,使用了PhantomJS作为无头浏览器测试环境。PhantomJS具体作用是什么呢?本篇博文带你一探究竟。_vue phantomjs

CSS3做出条纹大背景-程序员宅基地

文章浏览阅读168次。㈠实现不等宽背景条纹实现如上图所示的效果,代码如下: 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <style type="text/css"> 6 .con..._css3 条纹背景

IT项目实施流程及每个阶段输出的文档_项目管理各个阶段输出文档-程序员宅基地

文章浏览阅读3.3k次,点赞2次,收藏12次。IT项目实施流程及每个阶段输出的文档_项目管理各个阶段输出文档

【瑞萨RA_FSP】SCL UART 串口通信_sci和uart-程序员宅基地

文章浏览阅读1.6k次,点赞3次,收藏11次。串口通讯(Serial Communication)是一种设备间非常常用的串行通讯方式,因为它简单便捷,因此大部分电子设备都支持该通讯方式,电子工程师在调试设备时也经常使用该通讯方式输出调试信息。在计算机科学里,大部分复杂的问题都可以通过分层来简化。如芯片被分为内核层和片上外设。对于通讯协议, 我们也以分层的方式来理解,最基本的是把它分为物理层和协议层。物理层规定通讯系统中具有机械、电子功能部分的特性,确保原始数据在物理媒体的传输。协议层主要规定通讯逻辑,统一收发双方的数据打包、解包标准。_sci和uart

生成模型在知识图谱构建中的应用:如何提高知识抽取和整合能力-程序员宅基地

文章浏览阅读737次,点赞20次,收藏5次。1.背景介绍知识图谱(Knowledge Graph, KG)是一种表示实体、关系和实例的数据结构,它可以帮助计算机理解和推理人类语言中的信息。知识图谱已经成为人工智能和大数据领域的重要技术,它在自然语言处理、推荐系统、问答系统等方面发挥着重要作用。然而,知识图谱的构建是一个非常挑战性的任务,因为它需要从大量的文本数据中自动抽取和整合知识。生成模型(Generative Model)是一类...

推荐文章

热门文章

相关标签