
YOLO疑难杂症
文章平均质量分 53
MatpyMaster
有问题夹魏,评论及私聊不回!
展开
-
【已解决】RuntimeError: CUDA error: CUBLAS_STATUS_INVALID_VALUE when calling `cublasSgemm( handle, opa, o
错误消息暗示一个索引t超出了按类索引的数组或张量的有效范围。这里,t应该在范围内,其中n_classes是类的数量。原创 2024-04-13 08:16:04 · 4264 阅读 · 2 评论 -
Yolov8中conv和block添加模块代码
将其复制粘贴到YOLOv8的""或者""目录下面。但是,最好新建一个文件在conv.py的同级目录下,通过建立文件导入其中类的形式。任何一个模块都可以像下面的图片一样直接建立一个文件粘贴复制进去。建立上面的文件之后,存在两种情况,一种是官方代码可以直接使用;另外一种需要进行一定的处理。下面分别讲解两种情况。直接修改""文件就可以了官方代码的并不能直接使用,需要经过处理,文件""修改:导入模块:将额外处理代码添置conv模块,将所需代码添加到conv.py的末尾处:配置头文件:重复情况一的步骤修改"原创 2024-01-08 09:59:07 · 4806 阅读 · 0 评论 -
Yolov8修改损失函数
(这里可以使用Focus的思想,如果想使用则在下面的红框内添加Foucs=True即可,Focus一般情况下精度会更高,但也有个别的例外)③找到文件ultralytics/utils/tal.py,在这个文件中找到如下的代码块,这里已经修改完了(这里不要开启Focus,如果步骤二开启这里也不要开启,同时现在修改了,如果你想要使用inner就设置inner为True,举例如果你使用WIoU,如果不设置inner则此时为WIoU,如果你设置inner为True,那么此时使用的就是inner_WIoU)原创 2024-01-04 19:14:37 · 7286 阅读 · 6 评论 -
YOLO使用COCO评价指标输出每个类别AP结果
在调用的文件中找到coco.py,cocoeval.py文件(pycharm通过Ctrl和鼠标跳转即可)appdesigner,gui设计、simulink仿真......希望能帮到你!如果你想要进一步了解更多的相关知识,、通信仿真、算法设计、原创 2023-12-11 20:23:24 · 1064 阅读 · 0 评论 -
YOLOv8断点训练
打开ultralytics/engine/model.py代码,找到train方法,将self.trainer.model = self.model注释掉。/default.yaml中的resume改成True发现并没有作用,感觉yolov8代码还是有很多bug。在check_resume方法里面将resume=中断地方的last.pt。在训练YOLOv8的时候,因为开太多其他程序,导致在150多次的时候崩溃。在yolov8中,将ultralytics/=中断地方的last.pt。、通信仿真、算法设计、原创 2023-12-03 09:12:35 · 911 阅读 · 1 评论 -
YOLOv8检测结果的误差
因为PR的原始真值点并不是按照R均匀分布,数量也不固定,所以需要在原始真值点的基础上采样出101个点用于计算AP。pycocotools采用的临近真值方式会更加合理,因为参与计算的P值全部是真值,而yolov8采用的线性插值方式会存在估值误差。在R依次从0均匀采样到1的过程中,遇到没有对应P真值的情况时,yolov8采用的线性插值方式会寻找左右临近两个真值点通过线性插值计算得到采样点对应。,而pycocotools采用的临近真值方式则是寻找最接近采样点的真值点的P值作为采样点P值。、通信仿真、算法设计、原创 2023-12-03 09:10:39 · 977 阅读 · 0 评论 -
YOLOv7已解决:module ‘numpy‘ has no attribute ‘float‘.
将代码中的np.float改为float,如下:在大多数情况下,只需将 numpy 的别名替换为内置的 Python 类型就可以解决问题。bool、str、int等也类似。出现这个问题是因为np.float从1.24起被删除。所用的代码是依赖于旧版本的Numpy。您可以将你的numpy版本降级到1.23.5.appdesigner,gui设计、simulink仿真......希望能帮到你!如果你想要进一步了解更多的相关知识,不用改代码的,就重新安装。、通信仿真、算法设计、原创 2023-11-28 21:11:28 · 288 阅读 · 0 评论 -
YOLOv7已解决:‘<‘ not supported between instances of ‘int‘ and ‘str‘
解释:sorted是排序,aitod标签里有int类型和str类型的,不能够排序,所以可以去掉这个sorted。在84行把sorted(cocoGt.getImgIds())改成cocoGt.getImgIds()appdesigner,gui设计、simulink仿真......希望能帮到你!会不定期发布相关设计内容包括但不限于如下内容:信号处理、通信仿真、算法设计、在COCOeval点击ctrl跳转到cocoeval.py中。如果你想要进一步了解更多的相关知识,原创 2023-11-22 21:11:53 · 451 阅读 · 0 评论 -
YOLOv7已解决:ModuleNotFoundError: No module named ‘aitodpycocotools._mask‘
在进行项目环境安装时,出现了ModuleNotFoundError: No module named 'aitodpycocotools._mask'的问题,查找了网上各种资料没有找到解决方案,追根溯源找到了问题所在。再次查看之前import的代码,发现路径已经变成了site-packages里的pycocotools了,代码没有报错了。因为提示说没有找到aitodpycocotools._mask模块,觉得可能是因为导入时的路径不对,因此找到报错的代码。如果你想要进一步了解更多的相关知识,原创 2023-11-22 21:10:58 · 394 阅读 · 0 评论 -
yolov7添加Normalized Wasserstein Distance (NWD)损失函数
IoU对于微小物体来说不是一个很好的度量,因此,文中提出了一个用Wasserstein距离度量边界盒相似性的新度量来代替标准IoU。具体来说,首先将边界框建模为二维高斯分布,然后使用提出的归一化Wasserstein距离(NWD)来度量派生高斯分布的相似性。Wasserstein距离的主要优点是,即使没有重叠或重叠可以忽略不计,它也可以度量分布的相似度。此外,NWD不仅可以代替标签分配中的IoU,还可以代替非最大抑制(NMS)和回归损失函数中的IoU。如果你想要进一步了解更多的相关知识,原创 2023-11-22 21:09:39 · 1374 阅读 · 0 评论 -
YOLOv7训练参数解释
在我们平时的训练中我们在每一轮训练结束的时候都会计算mAP值,如果开始此参数,那么只在最后一轮计算mAP值。数据集路径,默认为coco.yaml,主要定义数据集路径,以txt文件保存【训练集、验证集和测试集】,类的数量【默认nc=80】,类名【names】。训练中模型的参数定义,采用yaml文件【注意是training下的yaml,不是deploy下的】,可以用于模型的选择。设备选择,如果是GPU就输入GPU索引【如0,1,2..】,CPU训练就填cpu。默认是开启的,可以简化训练过程;原创 2023-11-22 21:07:47 · 2560 阅读 · 0 评论 -
yolov7自定义计算锚框
自动计算时,会自动根据你所使用的数据集,来计算合适的阈值。🔆path:包含数据集文件路径等相关信息的 yaml 文件(比如 coco128.yaml), 或者 数据集张量(yolov5 自动计算锚定框时就是用的这种方式,先把数据集标签信息读取再处理)计算数据集样本标签框的宽高比时,是需要缩放到 img_size 大小后再计算的;yolov7的默认锚框都在 .\cfg\training 的yaml文件里面,比如yolov7-tiny.yaml。🔆verbose:是否打印输出所有计算结果,默认值是true。原创 2023-11-22 21:06:51 · 693 阅读 · 0 评论 -
YOLOv7 tiny 新增小目标检测层
会不定期发布相关设计内容包括但不限于如下内容:信号处理、通信仿真、算法设计、matlab appdesigner,gui设计、simulink仿真......希望能帮到你!④修改[[92,93,94,95], 1, IDetect, [nc, anchors]], # Detect(P2,P3, P4, P5)②设置anchors 4 #[5,6, 8,14, 15,11] ## P2或者自动调用autoanchor.py。如果你想要进一步了解更多的相关知识,①修改nc 自己数据集类别数;原创 2023-11-14 21:26:04 · 750 阅读 · 0 评论 -
YOLOv7 Upsample报错已解决:AttributeError: ‘Upsample‘ object has no attribute ‘recompute_scale_factor‘
会不定期发布相关设计内容包括但不限于如下内容:信号处理、通信仿真、算法设计、matlab appdesigner,gui设计、simulink仿真......希望能帮到你!如果你想要进一步了解更多的相关知识,原创 2023-11-14 21:24:12 · 261 阅读 · 0 评论 -
Python实现随机选取Yolo数据集及标签
会不定期发布相关设计内容包括但不限于如下内容:信号处理、通信仿真、算法设计、matlab appdesigner,gui设计、simulink仿真......希望能帮到你!从数据集中随机取11725张图片做训练集生成新的文件夹,剩余的图片做测试集保存为一个新的文件夹,请用python完成这个功能。根据标签文件夹中txt文件名称在图片文件夹中找到对应的jpg图片,并将这些图片生成一个新的文件夹。如果你想要进一步了解更多的相关知识,原创 2023-11-14 21:22:15 · 480 阅读 · 0 评论 -
yolov5中超参数配置文件hyp.scratch.yaml中各参数具体含义
会不定期发布相关设计内容包括但不限于如下内容:信号处理、通信仿真、算法设计、matlab appdesigner,gui设计、simulink仿真......希望能帮到你!yolov5中超参数配置文件hyp.scratch.yaml中各参数具体含义:若某项设置为0,则意味着关闭该项功能。如果你想要进一步了解更多的相关知识,原创 2023-11-14 21:20:55 · 909 阅读 · 0 评论 -
YOLOv7损失函数修改
如果你想要进一步了解更多的相关知识,原创 2023-11-14 21:20:03 · 649 阅读 · 0 评论 -
YOLOv7输出大中小目标的AP值
会不定期发布相关设计内容包括但不限于如下内容:信号处理、通信仿真、算法设计、matlab appdesigner,gui设计、simulink仿真......希望能帮到你!①新建一个python文件,命名为“yolotococo”,放入下面代码,运行后会生成一个“instances_val2017.json”文件。如有需要请接着往下看!注意:需要将--save-json命令设置成True,不然json文件是没调用的。②在test.py中,找到save_json,如果你想要进一步了解更多的相关知识,原创 2023-11-14 21:18:00 · 898 阅读 · 1 评论 -
YOLOv7解决无法打印参数量和计算量问题
会不定期发布相关设计内容包括但不限于如下内容:信号处理、通信仿真、算法设计、matlab appdesigner,gui设计、simulink仿真......希望能帮到你!今天,不晓得为啥子改了代码之后,运行结果不能显示计算量GFLOPS。🔆对于每秒浮点运算次数FLOPs,GFLOPs=109FLOPs。🔆对于参数量,换算成M的含义是million百万,1M=106。使用models/yolo.py来打印参数量和计算量。如果你想要进一步了解更多的相关知识,原创 2023-11-14 21:15:58 · 1278 阅读 · 0 评论 -
YOLOv7报错已解决:backward_out_cuda does not have deterministic implementation
也就是说,在给定相同输入的情况下,当在相同的软件和硬件上运行时,算法总是产生相同的输出。启用后,操作将在可用时使用确定性算法,如果只有不确定性算法可用,则在调用时会抛出RuntimeError。如果为 True,则使潜在的非确定性操作切换到确定性算法或引发运行时错误。①解决:找到torch.use_deterministic_algorithms()方法,将warn_only = False ,改为warn_only = True。如果不是对精度要求极高,其实不太建议修改,因为会使计算效率降低。原创 2023-11-14 21:15:04 · 1586 阅读 · 0 评论 -
YOLOv7报错已解决:adaptive_avg_pool2d_backward_cuda
会不定期发布相关设计内容包括但不限于如下内容:信号处理、通信仿真、算法设计、matlab appdesigner,gui设计、simulink仿真......希望能帮到你!🔆🔆🔆分析可能是在池化层的反向传播中出现在问题,可以把。加在train.py#Backward 377行前面。如果你想要进一步了解更多的相关知识,原创 2023-11-14 21:14:11 · 782 阅读 · 0 评论 -
DIOR数据集yaml配置文件
会不定期发布相关设计内容包括但不限于如下内容:信号处理、通信仿真、算法设计、matlab appdesigner,gui设计、simulink仿真......希望能帮到你!如果你想要进一步了解更多的相关知识,原创 2023-11-14 21:13:07 · 325 阅读 · 0 评论 -
YOLOv7检测不出框问题:已解决
在YOLOv7中,detect.py不出检测框原因分析:由于NVIDIA 官方的一些软件问题,导致了PyTorch里面一些CUDA代码有些问题,就是fp16(float16)数据类型在卷积等一些运算的时候会出现nan值。导致了训练时候出现了nan值。会不定期发布相关设计内容包括但不限于如下内容:信号处理、通信仿真、算法设计、matlab appdesigner,gui设计、simulink仿真......希望能帮到你!如果你想要进一步了解更多的相关知识,在detect.py中把。这样就可以解决问题啦!原创 2023-11-14 21:12:15 · 1911 阅读 · 4 评论 -
YOLOv7中固定随机种子
会不定期发布相关设计内容包括但不限于如下内容:信号处理、通信仿真、算法设计、matlab appdesigner,gui设计、simulink仿真......希望能帮到你!在train.py中导入set_seeds模块。如果你想要进一步了解更多的相关知识,在yolov7代码中固定随机种子。注释一行代码,再添加一行代码。原创 2023-11-14 21:10:44 · 293 阅读 · 0 评论 -
YOLOv7断点训练
YOLOv7默认保存第0轮训练结果以及最后5轮训练结果,中间训练结果每隔25轮默认保存一次;保存最后一轮模型的优点为:为防止训练过程中断开训练,可以使用 --resume 命令在最后一轮的基础上进行训练。在之前的训练中会出现*.cache缓存,如果不清理的话,YOLOv7断点续训会失败(YOLOv7在每次训练开始的时候都要清除上一次训练的数据集缓存,不然都会出现训练失败的情况)。这一步是将解释器中的断点续训设置为True(即进行断点续训),如果是从头开始训练就不需要更改这个参数值。原创 2023-11-14 21:08:41 · 860 阅读 · 0 评论 -
YOLOv7报错已解决:subprocess.CalledProcessError: Command ‘git tag‘ returned non-zero exit status 128.
这几天遇到了一个难题,找了几种解决方法,都没能成功的解决。今天,这个问题终于被解决了,一大烦恼没有了。之前,我在本地已经调试好的代码,放到集群上去跑,但是遇到了如下图的bug:!另外一种方法是在train.py文件中,找到上图中两行代码,注释掉!以防后续运行代码出错,训练结束后,记得把这两行代码打开。遇到上述问题的原因是在本地没有找到相应的.pt文件,然后自动就到github下载,因为翻墙的原因,没有下载成功,所以就会出现上述的错误。解决方案就是手动下载所需的yolov7.pt,地址为。原创 2023-11-14 21:06:01 · 3286 阅读 · 0 评论 -
YOLOv7网络模型解读
会不定期发布相关设计内容包括但不限于如下内容:信号处理、通信仿真、算法设计、matlab appdesigner,gui设计、simulink仿真......希望能帮到你!如果你想要进一步了解更多的相关知识,原创 2023-11-14 21:03:02 · 172 阅读 · 0 评论