当前位置: 首页 > wzjs >正文

我的三次做网站的经历semir森马

我的三次做网站的经历,semir森马,网站更换域名多少钱,汕头提供关键词平台模块出处 [NC 25] [link] Graph-based context learning network for infrared small target detection 模块名称 Patch-based Graph Reasoning (PGR) 模块结构 模块特点 使用图结构更好的捕捉特征的全局上下文将图结构与特征切片(Patching)相结合,从而促进全局/…
模块出处

[NC 25] [link] Graph-based context learning network for infrared small target detection


模块名称

Patch-based Graph Reasoning (PGR)


模块结构

在这里插入图片描述


模块特点
  • 使用图结构更好的捕捉特征的全局上下文
  • 将图结构与特征切片(Patching)相结合,从而促进全局/局部特征互补

模块代码
import torch
import torch.nn as nn
import torch.nn.functional as Fclass graph(nn.Module):def __init__(self, p2=4, nIn=64, N=16):super(graph, self).__init__()self.p2 = p2self.N = Nself.conv30 = nn.Sequential(nn.Conv2d(nIn, self.N, kernel_size=3, stride=1, padding=1, groups=1),nn.ReLU(inplace=True))self.conv10 = nn.Sequential(nn.Conv1d(nIn, nIn, kernel_size=1, stride=1, padding=0),nn.ReLU(inplace=True))self.conv11 = nn.Sequential(nn.Conv1d(self.N, self.N, kernel_size=1, stride=1, padding=0),nn.ReLU(inplace=True))self.adaptivemax = nn.AdaptiveAvgPool2d((8, 8))self.conv12 = nn.Sequential(nn.Conv1d(p2 ** 2, p2, kernel_size=1, stride=1, padding=0),nn.ReLU(inplace=True),nn.Conv1d(p2, p2, kernel_size=1, stride=1, padding=0),nn.ReLU(inplace=True),nn.Conv1d(p2, p2 ** 2, kernel_size=1, stride=1, padding=0),nn.Sigmoid())def ADP_weight(self, x):b, C, H, W = x.shapefg = self.adaptivemax(x)  fg1 = fg.view(b, C, self.p2 ** 2)  fg1 = torch.transpose(fg1, 1, 2)  fg2 = self.conv12(fg1)  fg3 = fg2.unsqueeze(-1).unsqueeze(-1)return fg3def graph_convolution(self, fs, x):b, C, H, W = x.shapeh, w = H // self.p2, W // self.p2L = h * wB = self.conv30(fs)  B1 = B.view(-1, self.N, L)  fs1 = fs.view(-1, C, L)  fs1 = torch.transpose(fs1, 1, 2) fs2 = torch.bmm(B1, fs1)  fs3 = self.conv11(fs2)  fs5 = self.conv10(torch.transpose(fs3, 1, 2))  fs6 = torch.bmm(torch.transpose(B1, 1, 2), torch.transpose(fs5, 1, 2))fs6 = torch.transpose(fs6, 1, 2) fs6 = fs6.view(b, self.p2 ** 2, C, h, w) return fs6def forward(self, fs, x):fs6 = self.graph_convolution(fs, x)weight = self.ADP_weight(x)out = weight * fs6return outclass PGR(nn.Module):def __init__(self, p2=4, nIn=32, nOut=32, add=True):super(PGR, self).__init__()self.p2 = p2self.N = nIn // 4self.add = addself.graph0 = graph(p2, nIn, self.N)self.conv31 = nn.Sequential(nn.Conv2d(nOut, nOut, kernel_size=1, stride=1),nn.BatchNorm2d(nOut),nn.ReLU(inplace=True))def forward(self, x):b, C, H, W = x.shapeh, w = H // self.p2, W // self.p2L = h * wfs = torch.zeros((b, self.p2 ** 2, C, h, w)).cuda()for i in range(1, self.p2 + 1):for j in range(1, self.p2 + 1):fs[:, i * j - 1, :, :, :] = x[:, :, (i - 1) * h: i * h, (j - 1) * w: j * w]fs = fs.view(b * self.p2 ** 2, C, h, w)fs6 = self.graph0(fs, x)out = torch.zeros_like(x)for i in range(1, self.p2 + 1):for j in range(1, self.p2 + 1):out[:, :, (i - 1) * h: i * h, (j - 1) * w: j * w] = fs6[:, i * j - 1, :, :, :]out = self.conv31(out)if self.add:out = out + xreturn outif __name__ == '__main__':x = torch.randn([1, 64, 44, 44]).cuda()pgr = PGR(p2=8, nIn=64, nOut=64).cuda()out = pgr(x)print(out.shape) # [1, 64, 44, 44]

http://www.dtcms.com/wzjs/286988.html

相关文章:

  • 如何给公司网站做推广seo分析报告
  • 全国网站建设有实力东莞网络科技公司排名
  • 虹桥做网站百度关键词检测工具
  • php网站开发文章管理系统5g站长工具查询
  • 深圳市招投标中心官网搜索引擎优化什么意思
  • 珠海网站设计多少钱搜索引擎推广一般包括哪些
  • 网页导航视频网站在线制作教程免费收录网站推广
  • 邯郸疫情最新数据消息网站关键词优化代理
  • 做日本的网站好卖的东西电商怎么做
  • 山东建设厅官方网站孙松青网站排名怎么做上去
  • 网站专题报道怎么做app开发费用一览表
  • 网站开发能不能用win7系统seo外包上海
  • 惠州做网站建设价格网络营销app有哪些
  • 网站页面格式2022最新新闻素材摘抄
  • 网站开发人员主要干什么的seo引擎优化软件
  • 专门做网站的每天三分钟新闻天下事
  • 网站建设项目可行性研究报告新浪微舆情大数据平台
  • 做站群的网站怎么来seo综合
  • 2003iis网站建设错误com天堂网
  • 国外设计公司网站app怎么推广运营
  • 南宁网站建设 超博网络汕头seo排名
  • 宿迁网站建设价格低百度关键词推广费用
  • 餐厅网站开发背景谷歌浏览器直接打开
  • 品牌营销推广要怎么做seo推广软件代理
  • 网站制作和美工企业网站seo案例
  • 专业做幼儿园设计的网站如何创建网站
  • 怎么做能上谷歌网站重庆seo什么意思
  • 做婚庆的网站有哪些内容搜索网站排名优化
  • 想学做网站seo 在哪学 电话多少搜索引擎推广实训
  • 北京网站建设项目做网站用什么软件