这篇文章将为大家详细讲解有关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, kernel_size=3, stride=2, padding=1, output_padding=1) x = torch.randn(16, 1, 8) print(x.size()) x1 = conv1(x) x2 = conv2(x1) print(x2.size()) x3 = dconv1(x2) print(x3.size()) ''' torch.Size([16, 1, 8]) torch.Size([16, 4, 8]) #conv2输出特征图大小 torch.Size([16, 1, 16]) #转置卷积输出特征图大小 '''
#转置卷积 dconv1 = nn.ConvTranspose1d(1, 1, kernel_size=3, stride=3, padding=1, output_padding=1) x = torch.randn(16, 1, 8) print(x.size()) #torch.Size([16, 1, 23]) x3 = dconv1(x) print(x3.size()) #torch.Size([16, 1, 23])
下面两图为演示conv1d,在padding和不padding下的输出特征图大小
不带padding
带padding
补充知识:判断pytorch是否支持GPU加速
如下所示:
print torch.cuda.is_available()