slim.conv2d(inputs, num_outputs, kernel_size, stride=stride,
rate=rate, padding='VALID', scope=scope)
slim
:tensorflow中让结构更加紧凑纤细的函数
num_outputs
:卷积核的个数,体现在输出中
stride
:步幅
rate
:空洞卷积膨胀率,在卷积核的两两数值之间加入rate-1个0
padding
:卷积的方式,包括SAME(卷积核的中心开始接触到图像),VAILD(卷积核全部接触到图像),FULL(卷积核开始接触到图像)
s
a
m
e
:
n
o
u
t
p
u
t
=
⌈
n
i
n
p
u
t
s
⌉
{\mathop{{{same:n}}}\nolimits_{{output}}={ \left\lceil {\frac{{n\mathop{{}}\nolimits_{{input}}}}{{s}}} \right\rceil }}
same:noutput=⌈sninput⌉
V
a
i
l
d
:
n
o
u
t
p
u
t
=
⌈
n
i
n
p
u
t
−
f
+
1
s
⌉
{\mathop{{{Vaild:n}}}\nolimits_{{output}}={ \left\lceil {\frac{{n\mathop{{}}\nolimits_{{input}}-f+1}}{{s}}} \right\rceil }}
Vaild:noutput=⌈sninput−f+1⌉
|
|
|
net = slim.conv2d(inputs, num_outputs, 3, stride=1, padding='SAME')
net = subsample(net, factor=stride)
net = conv2d_same(inputs, num_outputs, 3, stride=stride)
- 据说后两个的结果是一样的,但是第一个的结果貌似在输入的维度存在偶数时会有差异