import tensorflow as tf

        return {'w':self.w,'b':self.b}

class WeightNormTransposedConv2d(object):
    def __init__(self,name,input_dim,out_dim,
                 k_h=4,k_w=4,d_h=2,d_w=2,stddev=0.02,data_format='NHWC',epsilon=1e-9) :
        with tf.variable_scope(name) :
            assert data_format == 'NHWC'
            self.v = tf.get_variable('v', [k_h, k_w, out_dim, input_dim],
                                initializer=tf.truncated_normal_initializer(stddev=stddev))
            self.g = tf.get_variable('g',[out_dim],
                                     initializer=tf.constant_initializer(float('nan')))
            self.b = tf.get_variable('b',[out_dim],
                                     initializer=tf.constant_initializer(float('nan')))

            self.strides = [1, d_h, d_w, 1]

