欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

pytorch SENet實(shí)現(xiàn)案例

 更新時間:2020年06月24日 14:38:25   作者:小偉db  
這篇文章主要介紹了pytorch SENet實(shí)現(xiàn)案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

我就廢話不多說了,大家還是直接看代碼吧~

from torch import nn

class SELayer(nn.Module):
 def __init__(self, channel, reduction=16):
  super(SELayer, self).__init__()

  //返回1X1大小的特征圖,通道數(shù)不變
  self.avg_pool = nn.AdaptiveAvgPool2d(1)
  self.fc = nn.Sequential(
   nn.Linear(channel, channel // reduction, bias=False),
   nn.ReLU(inplace=True),
   nn.Linear(channel // reduction, channel, bias=False),
   nn.Sigmoid()
  )

 def forward(self, x):
  b, c, _, _ = x.size()

  //全局平均池化,batch和channel和原來一樣保持不變
  y = self.avg_pool(x).view(b, c)

  //全連接層+池化
  y = self.fc(y).view(b, c, 1, 1)

  //和原特征圖相乘
  return x * y.expand_as(x)

補(bǔ)充知識:pytorch 實(shí)現(xiàn) SE Block

論文模塊圖

代碼

import torch.nn as nn
class SE_Block(nn.Module):
 def __init__(self, ch_in, reduction=16):
  super(SE_Block, self).__init__()
  self.avg_pool = nn.AdaptiveAvgPool2d(1)				# 全局自適應(yīng)池化
  self.fc = nn.Sequential(
   nn.Linear(ch_in, ch_in // reduction, bias=False),
   nn.ReLU(inplace=True),
   nn.Linear(ch_in // reduction, ch_in, bias=False),
   nn.Sigmoid()
  )

 def forward(self, x):
  b, c, _, _ = x.size()
  y = self.avg_pool(x).view(b, c)
  y = self.fc(y).view(b, c, 1, 1)
  return x * y.expand_as(x)

現(xiàn)在還有許多關(guān)于SE的變形,但大都大同小異

以上這篇pytorch SENet實(shí)現(xiàn)案例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論