'Convolution.'

def _conv(self, name, x, filter_size, in_filters, out_filters, strides):

    with tf.variable_scope(name):
        n = ((filter_size * filter_size) * out_filters)
        kernel = tf.get_variable('DW', [filter_size, filter_size, in_filters, out_filters], tf.float32, initializer=tf.random_normal_initializer(stddev=np.sqrt((2.0 / n))))
        return tf.nn.conv2d(x, kernel, strides, padding='SAME')
