自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 X-anylabeling使用ai模型标注闪退

这表明设备安装了cuda,但没有启动成功,本人经过搜索,发现是由于安装cuda时,默认不按照cudnn导致,但是由于pytorch包自带了cudnn运行所需文件,因此我们在执行训练时不会出错。遇到该问题首先确保使用的是源码启动,如果不是,请到github下载源码运行。

2024-07-12 11:25:41 356 1

原创 python使用product优化循环

【代码】python使用product优化循环。

2024-04-16 15:53:04 801 1

原创 python条件分支简化

比如我们需要编写一个电影评分的判断,小于6分的评分为D,6-7评分为C,7-8评分为B,8-8.5评分为A,8.5以上评分为S。我们可以使用python内置的二分查找包。只需要将对应的区间与评分对齐即可,这时python会自动完成相应区间查找,并返回对应的评分。当在编写复杂的业务逻辑需要大量嵌套if-else语句时,会导致代码可读性很差,并且难以维护。

2024-04-14 13:46:04 456 2

原创 yolov8添加/删除模块报错Expected to have finished reduction in the prior iteration before starting a new one

这个时候我们从第0层开始数,可以发现我们的添加的层应当是5,因此下面的Concat和Detect操作凡是有层数大于等于5的,全部需要+1,修改如下。不懂得这些参数含义的同学可以先把配置文件的含义搞清楚,再进行修改。

2024-04-11 21:06:33 440 1

原创 yolo报错RuntimeError: CUDA error: device-side assert triggered

此问题是由于数据集配置有误,导致类别id与yaml文件中的索引号匹配不上导致的,这里我以为hrsid数据集为例,由于该数据集在标注时默认从1开始索引,这与yolo从0开始的不匹配,因此如果直接使用通用的coco2yolo脚本进行转换后,进行训练就会报错。该数据集只有一个类别,但索引却是1,因此我们需要修改coco2yolo脚本,找到你的脚本对应的id部分。这时候我们打开转换后的任意一个标注文件。其他的脚本大同小异,修改后开始炼丹!

2024-04-10 19:53:54 787 1

原创 yolov8参数解析

【代码】yolov8参数解析。

2024-04-09 13:40:43 472

原创 mmyolo常用命令

【代码】mmyolo常用命令。

2024-04-05 22:35:56 253 1

原创 释放gpu显存

在进行深度学习时,有时候会出现训练结束后,显存依旧占用的问题,可能是因为训练进程未能正确关闭,使用如下命令查看gpu进程占用。接着使用linux的kill命令杀掉进程即可。

2024-04-01 22:49:58 329

原创 mmdetection常用命令

使用--show将会在窗口中展示原图和测试后的图像,--show-dir将会把show展示的结果保存到指定路径,请注意,这两个命令相互独立,可以单独运行。resume将会接着上次的epoch继续训练,直到达到设置的最大epoch。本篇博客是本人在进行目标检测实验中使用到的一些命令,不定时更新。

2024-03-29 21:01:38 364

原创 pytorch中元素维度扩张和广播的个人理解

这里可能比较绕,我直接给出规律,即对于新的矩阵第二个维度的“第一行”相当于原来第一个元素的x坐标重复了4次,第二行是原来的第二个元素的x坐标重复了4次,以此类推,也就是说第二个维度保存了原本矩阵的4个元素的x坐标;于是,第二个维度也就保存了原本矩阵的每个元素的y坐标。可以看到,从第二个维度开始,好像是fmpa转置了一样,也就是说,对于第二个维度的每一行,保存的是原来fmp矩阵的第一个元素的x坐标,也就是说第一行重复了四次第一个元素的x坐标,第二行重复了广播前fmp矩阵的第二个元素的x坐标。

2024-03-22 21:18:45 265 2

原创 Python中NamedTuple的用法以及好处

而自定义类则需要更多的代码来定义类及其属性,并且需要手动编写。我们必须一一找到并进行修改,这带来了巨大的工作量,但是如果我们一开始就使用NamedTuple,这些问题就可以得到规避。而在自定义类中,需要手动编写方法来实现属性的访问和设置。实例是不可变的,一旦创建就无法修改其字段的值。而自定义类的实例通常是可变的,可以通过方法修改实例的属性值。如果我们有新的业务需求,只需修改address类即可,之前调用的代码不需要更改。可以看到,如果继承NamedTuple,我们的类就拥有了元组的特性。

2024-03-22 16:49:59 454

原创 transformer流程梳理

接着引入了位置编码,它的功能主要解决了self-attention不能关注位置信息的缺陷,在这里我们通过直接将位置信息与嵌入层进行相加,从而得到了含有位置信息的特征,至于为什么是相加而不是连接,我查阅资料发现,连接虽然保留了位置信息和原始信息的独立性,但最终的结果并没有比直接相加效果好多少,反而增加了计算量,因此直接进行相加操作。对于输入(n, d)的文本序列,其中n是词元数量,d是文本的嵌入层后的维度,位置编码使用相同形状的位置嵌入矩阵,矩阵第i行、第2j列和2j+1列上的元素为pi,2j(2j+1)

2024-03-11 22:02:32 1625 1

空空如也

空空如也

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

TA关注的人

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