转载请注明出处
个人博客:https://maxusun.github.io/
2D卷积
input: (N,
C
i
n
C_{in}
Cin,
H
i
n
H_{in}
Hin,
W
i
n
W_{in}
Win)
output: (N,
C
o
u
t
C_{out}
Cout,
H
o
u
t
H_{out}
Hout,
W
o
u
t
W_{out}
Wout)
计算公式:
H
o
u
t
H_{out}
Hout =
⌊
H
i
n
+
2
∗
p
a
d
d
i
n
g
[
0
]
−
d
i
l
a
t
i
o
n
[
0
]
∗
(
k
e
r
n
e
l
_
s
i
z
e
[
0
]
−
1
)
−
1
s
t
r
i
d
e
[
0
]
+
1
⌋
\lfloor \frac{H_{in}+2*padding[0]-dilation[0]*(kernel\_size[0]-1)-1}{stride[0]} + 1\rfloor
⌊stride[0]Hin+2∗padding[0]−dilation[0]∗(kernel_size[0]−1)−1+1⌋
W
o
u
t
W_{out}
Wout =
⌊
W
i
n
+
2
∗
p
a
d
d
i
n
g
[
1
]
−
d
i
l
a
t
i
o
n
[
1
]
∗
(
k
e
r
n
e
l
_
s
i
z
e
[
1
]
−
1
)
−
1
s
t
r
i
d
e
[
1
]
+
1
⌋
\lfloor \frac{W_{in}+2*padding[1]-dilation[1]*(kernel\_size[1]-1)-1}{stride[1]} + 1\rfloor
⌊stride[1]Win+2∗padding[1]−dilation[1]∗(kernel_size[1]−1)−1+1⌋
H:高度
W:宽度
N:一个batch_size
的样本数
C
i
n
C_{in}
Cin:输入的通道数
C
o
u
t
C_{out}
Cout:卷机后产生的通道数
dilation
的默认值是1
3D卷积
input: (N,
C
i
n
C_{in}
Cin,
D
i
n
D_{in}
Din,
H
i
n
H_{in}
Hin,
W
i
n
W_{in}
Win)
output: (N,
C
o
u
t
C_{out}
Cout,
D
o
u
t
D_{out}
Dout,
H
o
u
t
H_{out}
Hout,
W
o
u
t
W_{out}
Wout)
计算公式:
D
o
u
t
D_{out}
Dout =
⌊
D
i
n
+
2
∗
p
a
d
d
i
n
g
[
0
]
−
d
i
l
a
t
i
o
n
[
0
]
∗
(
k
e
r
n
e
l
_
s
i
z
e
[
0
]
−
1
)
−
1
s
t
r
i
d
e
[
0
]
+
1
⌋
\lfloor \frac{D_{in}+2*padding[0]-dilation[0]*(kernel\_size[0]-1)-1}{stride[0]} + 1\rfloor
⌊stride[0]Din+2∗padding[0]−dilation[0]∗(kernel_size[0]−1)−1+1⌋
H
o
u
t
H_{out}
Hout =
⌊
H
i
n
+
2
∗
p
a
d
d
i
n
g
[
1
]
−
d
i
l
a
t
i
o
n
[
1
]
∗
(
k
e
r
n
e
l
_
s
i
z
e
[
1
]
−
1
)
−
1
s
t
r
i
d
e
[
1
]
+
1
⌋
\lfloor \frac{H_{in}+2*padding[1]-dilation[1]*(kernel\_size[1]-1)-1}{stride[1]} + 1\rfloor
⌊stride[1]Hin+2∗padding[1]−dilation[1]∗(kernel_size[1]−1)−1+1⌋
W
o
u
t
W_{out}
Wout =
⌊
W
i
n
+
2
∗
p
a
d
d
i
n
g
[
2
]
−
d
i
l
a
t
i
o
n
[
2
]
∗
(
k
e
r
n
e
l
_
s
i
z
e
[
2
]
−
1
)
−
1
s
t
r
i
d
e
[
2
]
+
1
⌋
\lfloor \frac{W_{in}+2*padding[2]-dilation[2]*(kernel\_size[2]-1)-1}{stride[2]} + 1\rfloor
⌊stride[2]Win+2∗padding[2]−dilation[2]∗(kernel_size[2]−1)−1+1⌋
D:深度
H:高度
W:宽度
N:一个batch_size
的样本数
C
i
n
C_{in}
Cin:输入的通道数
C
o
u
t
C_{out}
Cout:卷机后产生的通道数
dilation
的默认值是1
2D反卷积
计算公式:
o
u
t
p
u
t
=
(
i
n
p
u
t
−
1
)
∗
s
t
r
i
d
e
+
o
u
t
p
u
t
p
a
d
d
i
n
g
−
2
∗
p
a
d
d
i
n
g
+
k
e
r
n
e
l
_
s
i
z
e
output = (input-1)*stride + outputpadding - 2*padding + kernel\_size
output=(input−1)∗stride+outputpadding−2∗padding+kernel_size
所以当stride=2
,kernelsize=2
,outputpadding=0
,padding=0
时,可以2倍上采样