目录
笔者计算机视觉研0刚入学为研一。近期在学习目标检测算法中的YOLO系列。在运行YOLO V1训练代码时,报出该错误
原因很简单:CUDA和Torch版本不兼容
遇到这类问题先检查电脑的CUDA支持版本:
打开cmd,输入
nvidia-smi
可以看到红框里的是电脑支持的最高版本的cuda,我们在官网进行下载时,下载该版本及以下的即可(建议下载该版本以下)
其次,检查自己的电脑中CUDA的版本(检查是否安装CUDA):
打开cmd,输入
nvcc --version
可以看到我最开始的安装版本是11.7
如果显示无法找到nvcc说明电脑中没有安装CUDA。
补充:
如果你的电脑中有CUDA但版本不合适,删除重装即可,需要注意的是,一定要卸载干净。我是在电脑自带的控制面板中进行卸载的:点击控制面板——程序——程序和功能
找到所有和NVIDIA有关的全部卸载,然后再去软件管家清理卸载残留。其他的卸载方式也可,但一定要卸载干净。
如果电脑支持CUDA11.x,最好下载11.3版本,这样比较保险。
点击CUDA官网:https://developer.nvidia.com/cuda-downloads
选择更多之前版本:
根据自己电脑的系统选择合适的进行下载即可:
我是把它放到了F盘中:
安装包下载好后,右键——管理员运行——进入安装,无脑点下一步即可(尽量按照系统为你选择好的安装路径来安,也就是C盘路径。之前我尝试在其他盘中安装,没有成功),需要注意:在“安装选项”这一栏选择:自定义安装。
安装完成后,检查是否安装成功,再次打开cmd,输入
nvcc --version
可以看到我现在的版本变成了11.3,说明安装成功。
首先对照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解决!
希望可以帮到各位卷王~~
文章浏览阅读3.6k次,点赞12次,收藏41次。由于项目需求,需要把部分Opencv代码和Halcon代码联接起来使用,而两种库所使用的基本数据类型是完全不一样的。因此需要一个互转函数来对他们进行转换。我在这篇博客中看到了一种互转方法Halcon 与 OpenCV 图像数据类型转换。这里面所介绍的方法转换速度非常的慢,Halcon转Opencv需要600ms,而opencv转halcon要10ms,这对于工业应用的项目来说实在是太慢了。仔细研读后,发现这份代码使用Halcon的 GetGrayval() 函数来对HImage进行像素值遍历读取,这_halcon和cvmat数据转换
文章浏览阅读1.1k次。/**获取验证码倒计时 * Created on 2019/7/4. */public class CountDownTimerUtils extends CountDownTimer { private TextView mTextView; public CountDownTimerUtils(TextView textView, long millisInFut..._andriod验证码倒计时
文章浏览阅读175次。一、子类继承父类的写法class 子类名 extends 父类名{}复制代码二、子类与父类之间的关系①父类可以有个子类②子类只能有一个父类③子类会继承父类的一些属性和方法④子类在创建对象时,会先调用父类的构造方法6三、四大权限修饰符继承非继承同一个包不同包同一个包不同包private缺省protectedpublic上面的对错仅代表能否调用。其实子类继承父类之后,创..._7-2 java类的继承-成员与方法 分数 10 作者 李建华 单位 石家庄铁道大学
文章浏览阅读1.9k次,点赞3次,收藏5次。MultipartFile为org.springframework.web.mutipart包下的一个类,也就是说如果想使用MultipartFile这个类就必须引入spring框架,换句话说,如果想在项目中使用MultipartFile这个类,那么项目必须要使用spring框架才可以,否则无法引入这个类。以下基于spring-web.5.2.9.RELEASE源码了解一下MultipartFileMultipartFile注释说明第一句:一种可以接收使用多种请求方式来进行上传文件的代表形式。_multipartfile属性
文章浏览阅读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
文章浏览阅读3.7w次,点赞3次,收藏14次。android studio 3.0升级后报错的解决_gradle sync failed: read timed out consult ide log for more details (help
DSConv是一种高效的卷积操作符,可以替代传统的卷积操作符,具有高准确性、低内存使用和灵活性。通过对CIFAR10图像的分类实验,证明了DSConv的有效性。
文章浏览阅读440次。在前期博文《Vue进阶(五十六):vue-cli 脚手架 karma.conf.js 配置文件详解》中讲解了文件用于配置前端项目自动化测试信息。// 这里使用的是PhantomJS作为浏览器测试环境,这个插件支持 DOM, CSS, JSON, Canvas, and SVG 的解析其中,使用了PhantomJS作为无头浏览器测试环境。PhantomJS具体作用是什么呢?本篇博文带你一探究竟。_vue phantomjs
文章浏览阅读168次。㈠实现不等宽背景条纹实现如上图所示的效果,代码如下: 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <style type="text/css"> 6 .con..._css3 条纹背景
文章浏览阅读3.3k次,点赞2次,收藏12次。IT项目实施流程及每个阶段输出的文档_项目管理各个阶段输出文档
文章浏览阅读1.6k次,点赞3次,收藏11次。串口通讯(Serial Communication)是一种设备间非常常用的串行通讯方式,因为它简单便捷,因此大部分电子设备都支持该通讯方式,电子工程师在调试设备时也经常使用该通讯方式输出调试信息。在计算机科学里,大部分复杂的问题都可以通过分层来简化。如芯片被分为内核层和片上外设。对于通讯协议, 我们也以分层的方式来理解,最基本的是把它分为物理层和协议层。物理层规定通讯系统中具有机械、电子功能部分的特性,确保原始数据在物理媒体的传输。协议层主要规定通讯逻辑,统一收发双方的数据打包、解包标准。_sci和uart
文章浏览阅读737次,点赞20次,收藏5次。1.背景介绍知识图谱(Knowledge Graph, KG)是一种表示实体、关系和实例的数据结构,它可以帮助计算机理解和推理人类语言中的信息。知识图谱已经成为人工智能和大数据领域的重要技术,它在自然语言处理、推荐系统、问答系统等方面发挥着重要作用。然而,知识图谱的构建是一个非常挑战性的任务,因为它需要从大量的文本数据中自动抽取和整合知识。生成模型(Generative Model)是一类...