pytorch轉置卷積(反卷積)參數說明,尺寸輸入輸出的計算


pytorch轉置卷積(反卷積)參數說明,尺寸輸入輸出的計算

函數構造:

class ConvTranspose2d(_ConvTransposeMixin, _ConvNd):

    def __init__(self, in_channels, out_channels, kernel_size, stride=1,
                 padding=0, output_padding=0, groups=1, bias=True,
                 dilation=1, padding_mode='zeros'):
  • in_channels(int) – 輸入信號的通道數
  • out_channels(int) – 卷積產生的通道數
  • kerner_size(int or tuple) - 卷積核的大小
  • stride(int or tuple,optional) - 卷積步長
  • padding(int or tupleoptional) - 輸入的每一條邊補充0的層數
  • output_padding(int or tupleoptional) - 輸出的每一條邊補充0的層數
  • dilation(int or tupleoptional) – 卷積核元素之間的間距
  • groups(intoptional) – 從輸入通道到輸出通道的阻塞連接數
  • bias(booloptional) - 如果bias=True,添加偏置

 

輸入輸出計算過程:

h_in = 128*128

h_out = 56*56

這里h_in指正向卷積輸入

正向卷積:h_out = (h_in + 2*padding - kernl_size) / stride  +1

+1是因為除不盡向下取整

故轉置卷積:h_in = (h_out - 1) * stride + kernl_size - 2*padding + output_padding

output_padding,是因為輸出與期望輸出有偏差,需在下邊補0填充


免責聲明!

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



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