import tensorflow as tf

    :param x:             [Tensor]     Input to the downsample.
    :param ksize          [list]       4-D kernel shape.
    :param strides:       [list]       4-D strides array.
    :param padding:       [string]     Convolution padding strategy.
    :param data_format:   [string]     'NHWC' or 'NCHW'.

    :return:              [Tensor]     Convolution output.
    """
    with tf.variable_scope(name):
        in_filters = ksize[2]
        out_filters = ksize[3]
        n = ksize[0] * ksize[1] * out_filters
        init = tf.truncated_normal_initializer(
            mean=0.0, stddev=np.sqrt(2.0 / n), seed=0, dtype=dtype)

        def _reg(x):
