1. 程式人生 > 程式設計 >pytorch 計算ConvTranspose1d輸出特徵大小方式

pytorch 計算ConvTranspose1d輸出特徵大小方式

問題:如何經過convTransposed1d輸出指定大小的特徵?

import torch
from torch import nn
import torch.nn.functional as F

conv1 = nn.Conv1d(1,2,3,padding=1)
conv2 = nn.Conv1d(in_channels=2,out_channels=4,kernel_size=3,padding=1)
#轉置卷積
dconv1 = nn.ConvTranspose1d(4,1,stride=2,padding=1,output_padding=1)

x = torch.randn(16,8)
print(x.size())

x1 = conv1(x)
x2 = conv2(x1)
print(x2.size())

x3 = dconv1(x2)
print(x3.size())

'''
torch.Size([16,8])
torch.Size([16,4,8]) #conv2輸出特徵圖大小
torch.Size([16,16]) #轉置卷積輸出特徵圖大小
'''

pytorch 計算ConvTranspose1d輸出特徵大小方式

#轉置卷積
dconv1 = nn.ConvTranspose1d(1,stride=3,8)
print(x.size()) #torch.Size([16,23])

x3 = dconv1(x)
print(x3.size()) #torch.Size([16,23])

下面兩圖為演示conv1d,在padding和不padding下的輸出特徵圖大小

不帶padding

pytorch 計算ConvTranspose1d輸出特徵大小方式

帶padding

pytorch 計算ConvTranspose1d輸出特徵大小方式

補充知識:判斷pytorch是否支援GPU加速

如下所示:

print torch.cuda.is_available()

pytorch 計算ConvTranspose1d輸出特徵大小方式

以上這篇pytorch 計算ConvTranspose1d輸出特徵大小方式就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。