pytorch forward两个参数实例

yipeiwu_com6年前Python基础

以channel Attention Block为例子

class CAB(nn.Module):
 
  def __init__(self, in_channels, out_channels):
    super(CAB, self).__init__()
    self.global_pooling = nn.AdaptiveAvgPool2d(output_size=1)
    self.conv1 = nn.Conv2d(in_channels, out_channels, kernel_size=1, stride=1, padding=0)
    self.relu = nn.ReLU()
    self.conv2 = nn.Conv2d(out_channels, out_channels, kernel_size=1, stride=1, padding=0)
    self.sigmod = nn.Sigmoid()
 
  def forward(self, x):
    x1, x2 = x # high, low
    x = torch.cat([x1,x2],dim=1)
    x = self.global_pooling(x)
    x = self.conv1(x)
    x = self.relu(x)
    x = self.conv2(x)
    x = self.sigmod(x)
    x2 = x * x2
    res = x2 + x1
    return res

以上这篇pytorch forward两个参数实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Pandas之groupby( )用法笔记小结

Pandas之groupby( )用法笔记小结

groupby官方解释 DataFrame.groupby(by=None, axis=0, level=None, as_index=True, sort=True, group_...

PyQt5实现简单数据标注工具

PyQt5实现简单数据标注工具

本文实例为大家分享了PyQt5实现简单数据标注工具的具体代码,分类用,供大家参考,具体内容如下 第一个最大的图片是当前要标注的类别,接下来的两个图片是对接下来会出现的图片的预览(方便连...

对Python中实现两个数的值交换的集中方法详解

如下所示: #定义两个数并赋值 x = 1 y = 2 #第1种方式:引入第三方变量 z = 0 z = x x = y y = z #第2种:不引入第三方变量 x = x+y...

简述Python中的进程、线程、协程

进程、线程和协程之间的关系和区别也困扰我一阵子了,最近有一些心得,写一下。 进程拥有自己独立的堆和栈,既不共享堆,亦不共享栈,进程由操作系统调度。 线程拥有自己独立的栈和共享的堆,共享堆...

django框架创建应用操作示例

本文实例讲述了django框架创建应用操作。分享给大家供大家参考,具体如下: 18.1.5  安装Django 安装Django node2:/root#pip insta...