Pytorch中nn.Conv2d的用法


Pytorch中nn.Conv2d的用法

nn.Conv2d是二維卷積方法,相對應的還有一維卷積方法nn.Conv1d,常用於文本數據的處理,而nn.Conv2d一般用於二維圖像。

先看一下接口定義:

class torch.nn.Conv2d(in_channels, out_channels, kernel_size, stride=1, padding=0, dilation=1, groups=1, bias=True)

參數解釋:

這里寫圖片描述

stride:步長

zero-padding:圖像四周填0

dilation:控制 kernel 點之間的空間距離,這個看着定義有點抽象,看下面的圖就理解了(圖源

img

groups:分組卷積

Convolution 層的參數中有一個group參數,其意思是將對應的輸入通道與輸出通道數進行分組, 默認值為1, 也就是說默認輸出輸入的所有通道各為一組。 比如輸入數據大小為90x100x100x32,通道數32,要經過一個3x3x48的卷積,group默認是1,就是全連接的卷積層。

如果group是2,那么對應要將輸入的32個通道分成2個16的通道,將輸出的48個通道分成2個24的通道。對輸出的2個24的通道,第一個24通道與輸入的第一個16通道進行全卷積,第二個24通道與輸入的第二個16通道進行全卷積。

極端情況下,輸入輸出通道數相同,比如為24,group大小也為24,那么每個輸出卷積核,只與輸入的對應的通道進行卷積。

來源:https://blog.csdn.net/qq_39938666/article/details/89378096

bias:卷積后是否加偏移量


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM