import tensorflow as tf


    :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):
            if weight_decay is not None:
                return tf.multiply(tf.nn.l2_loss(x), weight_decay)
            else:
                return None

        if weight_decay is not None:
            reg = _reg
        else:
            reg = None

        kernel = tf.get_variable(
            'w', ksize, initializer=init, regularizer=reg, dtype=dtype, trainable=True)

