import tensorflow as tf

            variables_collections,
            outputs_collections,
            trainable,
            use_spectral_norm,
            is_training,
            scope,
            conv_dims=2)
    if not self_attention:
        return h
    with tf.variable_scope("self_attention"):
        with tf.variable_scope("f"):
            f = convolution(
                    inputs,
                    num_outputs // 8,
                    kernel_size,
                    stride,
                    padding,
                    data_format,
