Pytorch實現(xiàn)各種2d卷積示例
普通卷積
使用nn.Conv2d(),一般還會接上BN和ReLu
參數(shù)量NNCin*Cout+Cout(如果有bias,相對來說表示對參數(shù)量影響很小,所以后面不考慮)
class ConvBNReLU(nn.Module): def __init__(self, C_in, C_out, kernel_size, stride, padding, affine=True): super(ConvBNReLU, self).__init__() self.op = nn.Sequential( nn.Conv2d(C_in, C_out, kernel_size, stride=stride, padding=padding, bias=False), nn.BatchNorm2d(C_out, eps=1e-3, affine=affine), nn.ReLU(inplace=False) ) def forward(self, x): return self.op(x)
深度可分離卷積depthwise separable convolution
卷積操作可以分為NN 的Depthwise卷積(不改變通道數(shù))和11的Pointwise卷積(改變?yōu)檩敵鐾ǖ罃?shù)),同樣后接BN,ReLU。參數(shù)量明顯減少
參數(shù)量:
NNCin+Cin11*Cout
class SepConv(nn.Module): def __init__(self, C_in, C_out, kernel_size, stride, padding, affine=True): super(SepConv, self).__init__() self.op = nn.Sequential( nn.ReLU(inplace=False), nn.Conv2d(C_in, C_in, kernel_size=kernel_size, stride=stride, padding=padding, groups=C_in, bias=False), nn.Conv2d(C_in, C_out, kernel_size=1, padding=0, bias=False), nn.BatchNorm2d(C_out, eps=1e-3, affine=affine) ) def forward(self, x): return self.op(x)
空洞卷積dilated convolution
空洞卷積(dilated convolution)是針對圖像語義分割問題中下采樣會降低圖像分辨率、丟失信息而提出的一種卷積思路。利用添加空洞擴大感受野。
參數(shù)量不變,但感受野增大(可結(jié)合深度可分離卷積實現(xiàn))
class DilConv(nn.Module): def __init__(self, C_in, C_out, kernel_size, stride, padding, dilation, affine=True): super(DilConv, self).__init__() self.op = nn.Sequential( nn.ReLU(inplace=False), nn.Conv2d(C_in, C_in, kernel_size=kernel_size, stride=stride, padding=padding, dilation=dilation, groups=C_in, bias=False), nn.Conv2d(C_in, C_out, kernel_size=1, padding=0, bias=False), nn.BatchNorm2d(C_out, eps=1e-3, affine=affine), ) def forward(self, x): return self.op(x)
Identity
這個其實不算卷積操作,但是在實現(xiàn)跨層傳遞捷徑
class Identity(nn.Module): def __init__(self): super(Identity, self).__init__() def forward(self, x): return x
以上這篇Pytorch實現(xiàn)各種2d卷積示例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Python如何聲明以管理員方式運行(附實戰(zhàn)案例)
由于Windows的安全機制,Python寫的腳本缺少了管理員權限,運行就會受到一些限制,這篇文章主要介紹了Python如何聲明以管理員方式運行的相關資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2025-04-04
python DataFrame轉(zhuǎn)dict字典過程詳解
這篇文章主要介紹了python DataFrame轉(zhuǎn)dict字典過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-12-12
python實現(xiàn)DEM數(shù)據(jù)的陰影生成的方法
這篇文章主要介紹了python實現(xiàn)DEM數(shù)據(jù)的陰影生成的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-07-07

