自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(609)
  • 收藏
  • 关注

转载 GPU 利用率低常见原因分析及优化

优化:设置 torch.utils.data.DataLoader 方法的 num_workers 参数、tf.data.TFRecordDataset 方法的 num_parallel_reads 参数或者 tf.data.Dataset.map 的 num_parallel_calls 参数。如上图所示,GPU 任务会交替的使用 CPU 和 GPU 进行计算,当 CPU 计算成为瓶颈时,就会出现 GPU 等待的问题,GPU 空跑那利用率就低了。d、关于查询操作,多使用 dict 加速查询操作;

2023-11-25 21:39:19 37

转载 Python 判断字符串是否包含中文

只要编码在此范围就可判断为中文字符。

2023-11-17 13:59:01 64

原创 【CUDA】算子编译错误ATen/ATen.h: No such file or directory

在Torch1.10环境下,build含CUDA算子编译的工程时出错:build命令:错误:出错的主要原因是用于编译算子的torch版本不合适,升级Torch1.11后正常编译。

2023-11-09 22:46:33 197

原创 【mmrotate】*** is not in the task util registry

使用mmrotate-1.x 自定义类时,明明已经注册,并添加到__init__.py中,但提示没有注册。

2023-11-09 22:38:43 232

原创 【错误】 undefined symbol: cublasLtHSHMatmulAlgoInit, version libcublasLt.so.11

pip安装完pytorch=1.13.1后,build代码时出错:原因因为pytorch1.13安装时会给我们自动安装但由于一般用户已经安装CUDAtoolkit,所以会产生这个错误。

2023-10-17 15:54:20 143

原创 Lee滤波python实现(还包括frost等滤波)

Lee滤波调包,findpeaks提供lee, frost等多种滤波方法。

2023-08-31 11:20:52 248

转载 无需安装VS,一行命令解决“Unable to find vcvarsall.bat“

Python 3.7。

2023-08-31 11:12:41 132

原创 PyTorch Lightning错误TypeError: lr_scheduler_step() takes 3 positional arguments but 4 were given

使用PyTorch Lightning时对lr_scheduler_step定义如下: 出错: 出错原因是参数差异导致的,函数定义接收3个参数,但是实际调用的时候传参并不是3个,而是4个,可以在定义函数的时候使用参数列表,避免参数数量差异出错。参考:Error in `lr_scheduler_step()` function - LightningModule - Lightning AI

2023-08-23 07:30:46 120

转载 SSIM (Structure Similarity Index Measure) 结构衡量指标+代码

结构相似指标可以衡量图片的失真程度,也可以衡量两张图片的相似程度。与MSE和PSNR衡量绝对误差不同,SSIM是感知模型,即更符合人眼的直观感受。同样MSE下,不同SSIM展现的图片结果:SSIM的取值范围[-1, 1], 具有对成性,边界性,唯一最大性(当且仅当x=y时SSIM=1),是一种距离公式。

2023-07-31 19:05:44 175

转载 Coco数据集中的rle格式处理

原文链接:https://blog.csdn.net/xx_xjm/article/details/126608359。rle = {'size':[512,512],'counts': '一个很长的字符串乱码'}直接利用下面这条命令就可以得到二值mask。此时该如何转化为可以训练的mask呢?2:mask转rle。1:rle转mask。

2023-07-31 18:46:32 207

转载 docker gpu报错Error response from daemon: could not select device driver ““ with capabilities: [[gpu]]

Docker容器中使用Nvidia GPU报错 docker: Error response from daemon: could not select device driver “” with capabilities: [[gpu]]

2023-07-28 04:58:53 320

转载 PyQt5中多线程模块QThread使用方法

本文主要讲解使用多线程模块QThread解决PyQt界面程序唉执行耗时操作时,程序卡顿出现的无响应以及界面输出无法实时显示的问题。用户使用工具过程中出现这些问题时会误以为程序出错,从而把程序关闭。这样,导致工具的用户使用体验不好。下面我们通过模拟上述出现的问题并讲述使用多线程QThread模块解决此类问题的方法。

2023-07-21 11:47:42 359

转载 Linux&Windows系统Qt应用打包发布

最近在发布Qt应用时遇到了一些困难,Windows还好,在Linux上面发布遇到了不少的麻烦(实际Linux应该简单才对),经过在网络搜索发现帖子不少,但都比较片面,现把Qt应用程序在Linux&Windows打包部署总结如下。

2023-07-21 11:42:11 261

原创 Linux下搭建pyqt5开发环境—基于Pycharm

防踩坑Tips:1、不能学windows那样直接用pip安装PyQt5Designer和pyqt5-tools。这两个模块最根本的是用的windows的程序,linux上是运行不了的,特别是PyQt5Designer,会提示安装失败。2、推荐在python环境安装同系统版本一致的pyqt,例如ubuntu18.04下默认安装的pyqt版本是5.10.1,则在python环境中也可以安装对应版本 pip install PyQt5==5.10.1。

2023-07-20 11:20:07 1068

转载 Linux顺序执行多行命令

在终端执行Linux命令时,有时需要顺序执行多行命令,每行命令的执行时间可能会很长时间,如果人为的逐条输入执行则会非常麻烦和不确定,也会很浪费时间。

2023-07-04 23:30:15 521

原创 ESA卫星任务查询网站

欧空局的卫星任务查询网站,卫星任务十分丰富,介绍也很详尽。

2023-06-27 18:15:36 86

原创 numpy矩阵旋转rot90

numpy提供了直角旋转函数rot90用于矩阵旋转,支持2维及更高维度矩阵。

2023-06-19 17:17:51 709

原创 pycocotools报错,NameError: name ‘unicode’ is not defined

参考:https://blog.csdn.net/weixin_43788752/article/details/130087686。据网上说应该是python2和3版本的问题,Python2 的unicode函数在 Python3 中不再使用。

2023-06-15 11:59:19 82

原创 【mmcls】mmdet中使用mmcls的网络及预训练模型

mmcls现在叫mmpretrain,以前叫mmclassification,这里为了统一称为mmcls。在基于MM框架的下游任务,例如检测(mmdetection)中可以使用mmcls中的backbone进行特征提取,但这就需要知道网络的参数以及输出特征的维度。本文简单介绍了在mmdetection中使用mmcls中backbone的方法。mmdetection中需要配置backbone、模型权重及neck的特征维度等信息。

2023-06-15 11:55:05 1145

转载 【MMDetection】ERROR:The testing results of the whole dataset is empty

使用MMdetection复现论文swin Transformer,显示错误:与此同时,各项评价指标如AP,AR结果趋于零,F1值变成-1,loss与grad_norm爆炸增加,具体情形如下图: 看到报错的第一眼,猜测可能是数据集的问题,所以检查了数据集的路径,然后检查了数据集里面是否有图片,但经过一番验证,排除了这种可能性。如果数据集本身有问题,代码一开始就无法运行起来,因为mmdet一定会报错,而且报错内容是:找不到数据集或者说找不到某张图片。再仔细观察报错:ERROR:The testing res

2023-06-14 17:24:55 394 2

原创 GitHub 下载某个程序的特定版本(代码)

可以强制切换分支以舍弃修改,再checkout。你当前文件夹下的源码会变成这个版本号的源码。git checkout +某版本号。git tag 列出所有版本号。git clone 下载源码。

2023-06-12 14:06:33 490

原创 平面坐标变换(单应性变换/Homography变换)

单应性(homography)变换用来描述物体在两个平面之间的转换关系,可以用于描述平移、翻转、缩放、旋转、仿射变换等。下面以翻转为例简单介绍其变换矩阵。将矩阵带入变换公式,可以得到实际的变换为:x' = w-x, y' = y。

2023-06-08 12:16:34 788

原创 MMDetection 3.x中的PackDetInputs

重新规范化了一下,更标准化的输入数据有利于进行检测 /语义分割 /全景分割。源码附在最后,其keys默认包括'img_id', 'img_path', 'ori_shape', 'img_shape', 'scale_factor', 'flip', 'flip_direction'。可以在函数定义的注释中查看,例如RandomFlip函数(mmdetection-3.0.0\mmdet\datasets\transforms\transforms.py)可以看到。关于源码理解可以参考这位博主的。

2023-06-08 11:47:21 441 1

转载 Python机器学习笔记:异常点检测算法——Isolation Forest

1,异常点检测算法使用场景什么时候我们需要异常点检测算法呢?常用的有三种情况。1.做数据预处理的时候需要对异常的数据做过滤,防止对归一化等处理的结果。2.对没有标记输出的特征数据做筛选,找出异常的数据。3.对有标记输出的特征数据做二分类时,由于某些类别的训练样本非常少,类别严重不平衡,此时也可以考虑用非监督的异常点检测算法来做。

2023-06-06 18:28:48 507

转载 scikit-learn奇异值和异常值检测

判断新观测值是否与现有观测值具有相同的分布(它是一个内点(inlier)),或者应该被认为是不同的(它是一个离群值)。离群点检测和奇异值检测都用于异常检测, 其中一项感兴趣的是检测异常或异常观察。离群点检测又被称之为无监督异常检测,奇异值检测又被称之为半监督异常检测。在。相反的,在奇异值检测的背景下,奇异值/异常点只要位于训练数据的低密度区域,是可以形成稠密聚类簇的,在此背景下被认为是正常的。scikit-learn项目提供了一组机器学习工具,可用于新颖性或离群值检测。然后可以使用以下predict。

2023-06-06 18:25:49 233

原创 timm错误features_only not implemented for Vision Transformer models.

使用timm的ViT模型时出错:features_only not implemented for Vision Transformer models.

2023-06-05 19:05:17 192

转载 使用timm模型的金字塔特征

【代码】使用timm模型的金字塔特征。

2023-06-05 18:58:39 64

转载 mmdetection修改backbone使用mmcls和timm已有模型

官方文档对更换backbone已经有了比较详细的介绍,特别是较新的版本已经支持mmcls库以及timm库中的现有分类网络,一般直接拿来修改使用即可,但这里最重要的一点就是需要保证修改后的backbone要和后面的neck结构进行进行匹配,主要是通道数方面。目标检测模型的通用结构如下图所示,如果更改backbone后导致于neck的结构不适配,将导致模型失效报错。

2023-06-05 18:51:59 414

转载 git如何进行断点续传

当git项目较大或网速不快的情况下,git clone可能会中断,其不支持断点续传,导致要重新操作,那如何进行断点续传呢。为了在断掉后,自动git fetch, 我写了一个bash脚本样例, 会循环执行,重试2000次,直到成功后退出。5.命令行执行 git remote add origin [项目地址]1.新建目录, 命令行进入目录,执行 git init。2. 命令行执行: git fetch [项目地址]3. 若断掉后,重复执行步骤2, 直到完成下载。

2023-06-01 11:34:31 1168

转载 nvidia-smi 在 MIG M. 出现 Disabled

两卡的 NVIDIA A100 服务器,在输入命令 nvidia-smi 时,出现了和之前不同的界面,如下图所示:在最右列的选项中,除了 Uncorr. ECC 和 Compute M. 之外,还多出了一个 MIG M. 选项,并且其状态置为。

2023-05-30 14:53:36 389

原创 MMRotate注册模型无法使用,提示is not in the model registry

使用MMRotate注册了backbone模型后,发现无法使用,出现错误:模型中的伪代码如下:(这里是mmrotate-1.x/mmdet-3.x,用法与mmrotate-0.x/mmdet-2.x不同)

2023-05-24 16:17:09 722 1

原创 【nvidia-smi报错】Failed to initialize NVML: Driver/library version mismatch

使用nvidia-smi命令查看显卡状态时,出现错误:而使用nvcc -V查看cuda版本时,显示正常。

2023-05-19 09:39:45 280

转载 nvidia-smi命令输出结果缓慢问题

比如你服务器插着4张卡的时候,有个BUS-ID 02的卡坏了,你把它拔了,再运行$ nvidia-smi,发现还会有BUS-ID 02的显卡出现在结果中。可以看到BUS-ID 02对应的卡槽为SLOT-2,SLOT标号一般在主板上,白色字体,在每个PCIE插槽(很长的那个插槽,插显卡的)的上方。可以看到,损坏的显卡(BUS-ID 02)的序列号(Serial Number)尾号为4953。4、去机房,找到这台服务器上SLOT-2卡槽插的序列号(显卡上一般会贴有白色的序列号标签)尾号为4953的那张卡!

2023-05-10 09:53:32 1980

转载 nvidia-smi报错:NVIDIA-SMI has failed because it couldn‘t communicate with the NVIDIA driver 原因及避坑解决方案

这是由于重启服务器,linux内核升级导致的,由于linux内核升级,之前的Nvidia驱动就不匹配连接了,但是此时Nvidia驱动还在,可以通过命令 nvcc -V 找到答案。如果失败了,别急,接着往下看>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>如果安装失败了,请跟者本文走>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>到了这里,如果你安装成功,那么恭喜你,此时输入nvidia-smi就会成功连接了!

2023-05-10 09:32:50 7377 1

转载 YOLOv5之autoanchor看这一篇就够了

简单粗暴,废话也不罗嗦了,学习目的就是解决下面三个问题,传送门: yolov5/autoanchor.py来先粗略的概览一下函数名来了解一下整个过程,以coco128数据作为学习数据集,这是一个阉割版的COCO数据集,里面只有128张图片,929个标注框。总揽一下yolov5工程下utils/autoanchor.py这个文件,文件中函数从上面函数名还是比较明确的,kmeans就是很常用的聚类方法,说明anchor是通过kmeans聚类而来。

2023-05-08 11:23:46 754

转载 多任务学习中各loss权重应该如何设计呢?

在网络架构的设计中,最简单和最流行的方法是硬参数共享(HPS,LibMTL.architecture.HPS),如图1所示,其中编码器在所有任务之间共享,每个任务都有自己的编码器以及特定的解码器。(1)把各loss统一到同一个数量级上,其背后的原因是不同任务的不同损失函数尺度有很大的差异,因此需要考虑用权值将每个损失函数的尺度统一。和每个子任务之间的约束。而对于“不同网络部分梯度的数量级”问题,虽然梯度值相同,但不同的loss在task上的表现也是不同的,所以还是要找不同loss的合适平衡点。

2023-05-05 15:32:30 567

转载 yolov5源码解析--损失计算与anchor

本文章基于yolov5-6.2版本。主要讲解的是yolov5在训练过程中是怎么由推理结果和标签来进行损失计算的。损失函数往往可以作为调优的一个切入点,所以我们首先要了解它。

2023-04-25 10:46:24 639

转载 yolov5源码解析--输出

本文章基于yolov5-6.2版本。主要讲解的是yolov5是怎么在最终的特征图上得出物体边框、置信度、物体分类的。

2023-04-25 10:08:01 1383

原创 目标检测 YOLOv5的loss权重,以及与图像大小的关系

YOLOv5中有三个损失分别是 box, obj, cls在超参数配置文件hyp.*.yaml中可以设置基础值,例如训练使用时,在train.py进行更新可以看到损失与nl(number of detection layers,检测层的层数,这里是3)和图像尺寸相关,与layers相关这个好理解,是因为损失多个layers的加和。与图像尺寸相关则需要进一步探讨。然后,在loss计算时会乘上各自的权重loss.py训练时会过滤掉小于2像素的框。

2023-04-23 15:43:40 2212 1

原创 yolov5关闭wandb

yolov5训练过程中wandb总是提示登入账号,不登入还不能继续训练,想要关闭wandb,直接不使用即可。参考:https://blog.csdn.net/athrunsunny/article/details/123428667。在\yolov5\utils\loggers\wandb\wandb_utils.py中。同时在\yolov5\utils\loggers\__init__.py中。import wandb的位置下面同样加上wandb = None。这样就可以关闭wandb。

2023-04-21 16:52:41 1337 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除