import tensorflow as tf

    def get_variables(self):
        #TODO: self.v should be l2-normalized or not? / currently not.
        return {'v':self.v,'b':self.b,'g':self.g}

class DepthConv2d(object) :
    def __init__(self,name,input_dim,channel_multiplier,k_h=4,k_w=4,d_h=2,d_w=2,
                 stddev=0.02, data_format='NCHW', padding='SAME') :
        with tf.variable_scope(name) :
            assert(data_format == 'NCHW' or data_format == 'NHWC')
            self.w = tf.get_variable('w', [k_h, k_w, input_dim, channel_multiplier],
                                initializer=tf.truncated_normal_initializer(stddev=stddev))
            self.b = tf.get_variable('b',[input_dim*channel_multiplier], initializer=tf.constant_initializer(0.0))
            if( data_format == 'NCHW' ) :
                self.strides = [1, 1, d_h, d_w]
