news 2026/4/28 21:27:01

YOLO中task.py改复杂的模块

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
YOLO中task.py改复杂的模块

比如改一个多输入模块,我们需要记录输入1的通道,输入2的通道,Conv_reduce的输入通道

YOLO中这个模块接受层1和层2的作为输入,那么层1和层2的输出通道肯定是知道的,所以现在只需要在yaml里面标记整个模块的输出通道即可。

class AF(nn.Module): def __init__(self,c1,c2,dim1,dim2): super().__init__() self.avg_pool = nn.AdaptiveAvgPool2d(1) self.conv_atten = nn.Sequential( nn.Conv2d(c1, c1,1), nn.Sigmoid() ) self.conv_redu = nn.Conv2d(c1, c2, kernel_size=1, bias=False) self.conv1 = nn.Conv2d(dim1, 1, 1, 1) self.conv2 = nn.Conv2d(dim2, 1, 1, 1) self.nonlin = nn.Sigmoid() def forward(self, x): output = torch.cat(x,1) att = self.conv_atten(self.avg_pool(output)) #print(att.shape) output = output * att output = self.conv_redu(output) #print(output.shape) att = self.conv1(x[0]) + self.conv2(x[1]) att = self.nonlin(att) #print(att.shape) output = output * att return output
- [[-1, 6], 1, AF, [32]] # cat backbone P4

例如这条yaml,接受第6层和上一层的输入,输出通道数为32。这里参数为什么是一个?因为这里只需要给出输出通道数即可,其他参数可以再网络的记录中得到。

elif m is AF: c1 = sum(ch[x] for x in f) c3 = ch[f[0]] c4 = ch[f[1]] c2 = args[0] args = [c1,c2,c3,c4] print(args)

f是一个表表示来自那一层,这里的f里面就保存的内容相当于【-1,6】的索引,ch是每一层的输出通道数,ch[层索引]不就得到某层的输出通道了。这里随便借助一个中间变量,c1,c2,c3,c4,记录参数后,合成列表【c1,c2,c3,c4】

torch.nn.Sequential(*(m(*args))

m相当于类名称,加入类名为AF,不就相当于AF(c1,c2,c3,c4)吗

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/11 7:44:47

VBA-JSON:Excel与JSON数据互转的终极解决方案

VBA-JSON:Excel与JSON数据互转的终极解决方案 【免费下载链接】VBA-JSON JSON conversion and parsing for VBA 项目地址: https://gitcode.com/gh_mirrors/vb/VBA-JSON 在当今数据驱动的办公环境中,Excel用户经常需要与各种Web API、数据库和现代…

作者头像 李华
网站建设 2026/4/11 7:44:46

解放你的音乐收藏:qmcdump带你轻松解密QQ音乐加密格式

解放你的音乐收藏:qmcdump带你轻松解密QQ音乐加密格式 【免费下载链接】qmcdump 一个简单的QQ音乐解码(qmcflac/qmc0/qmc3 转 flac/mp3),仅为个人学习参考用。 项目地址: https://gitcode.com/gh_mirrors/qm/qmcdump 你是否…

作者头像 李华
网站建设 2026/4/11 7:41:07

从SVR到LSSVR:一个等式约束如何让MATLAB建模快10倍?

从SVR到LSSVR:等式约束如何重构MATLAB建模效率 在机器学习领域,支持向量回归(SVR)长期被视为解决非线性回归问题的黄金标准。但当你第一次在MATLAB中运行SVR模型时,是否曾被长达数十分钟的训练时间震惊?这种…

作者头像 李华
网站建设 2026/4/11 7:38:04

Xinference-v1.17.1 GitHub协作开发:团队AI项目实战指南

Xinference-v1.17.1 GitHub协作开发:团队AI项目实战指南 1. 引言 团队开发AI项目时,版本控制和协作是个让人头疼的问题。不同成员的环境配置不同,代码修改冲突频繁,模型版本管理混乱——这些都是我们实际开发中经常遇到的痛点。…

作者头像 李华
网站建设 2026/4/11 7:37:09

奥运排行榜背后的数据博弈:如何为不同国家定制最佳排名策略

1. 奥运排行榜的数据游戏:为什么各国榜单不一样? 每次奥运会结束,我们总能看到各种版本的奖牌排行榜。中国媒体喜欢突出金牌榜,美国媒体更关注奖牌总数,而一些小国可能会强调人均奖牌数。这背后其实是一场精妙的数据博…

作者头像 李华
网站建设 2026/4/11 7:32:12

Qwen2.5-VL-7B-Instruct图文对话进阶:多图对比分析、跨图逻辑推理技巧

Qwen2.5-VL-7B-Instruct图文对话进阶:多图对比分析、跨图逻辑推理技巧 1. 认识Qwen2.5-VL-7B-Instruct Qwen2.5-VL-7B-Instruct是一款强大的多模态视觉-语言模型,能够同时理解图像和文本信息。与普通图文对话模型不同,它不仅能够识别单张图…

作者头像 李华