PyTorch中的反卷积(Transposed Convolution)
反卷积是计算机视觉领域中的一种上采样的方法,除了反卷积以外,还可以采用unpooling和bilinear interpolation方法做上采样。反卷积并不是卷积操作的逆过程。通过反卷积,只能恢复原矩阵的大小,但并不能完全恢复原矩阵的数值。
Output计算公式
在pytorch中,反卷积的函数为ConvTranspose. 因为最近需要用到一维的反卷积,所以下面以一维的反卷积操作为例。计算反卷积output shape的公式如下:
I n p u t : ( N , C i n , L i n ) O u t p u t : ( N , C o u t , L o u t ) L o u t = ( L i n − 1 ) × s t r i d e − 2 × p a d d i n g + d i l a t i o n × ( k e r n e l _ s i z e − 1 ) + o u t p u t _ p a d d i n g + 1 Input: (N, C_{in}, L_{in}) \\ Output:(N, C_{out}, L_{out}) \\ L_{out} =(L_{in}−1)×stride−2×padding+dilation×(kernel\_size−1)+output\_padding+1 Input:(N,Cin,L