前言:
膨胀卷积操作是指将卷积核扩张到指定尺寸,并将原卷积核中没有占用的区域用零填充(如下图所示)。
膨胀卷积计算公式:
膨胀的卷积核尺寸 = 膨胀系数*(原始卷积核尺寸-1)+1
代码实现:
import tensorflow as tf
import tensorflow.contrib.slim as slim
def conv_bn_relu(x,out_channel,kernel_size,stride=1,dilation=1):
with tf.variable_scope(None,'conv_bn_relu'):
x = slim.conv2d(x,out_channel,kernel_stride,rate=dilation,biases_initializer=None,
activation_fn=None)
x = slim.batch_norm(x,activate_fn=tf.nn.relu,fused=False)
return x
其中,参数dilation表示卷积核的膨胀系数,默认值为1,表示不做膨胀卷积操作。