import tensorflow as tf

            
            # Upsampling
            up1 = common_deconv2d(dwn5,self.gf*8,stride=1,padding='valid',name='up1')      #  16x16    -> 16x16  
            #print(np.shape(up1))
            up2 = common_deconv2d(up1,self.gf*4,name='up2')                #  16x16    -> 32x32
            up3 = common_deconv2d(up2,self.gf*2,name='up3')               #  32x32    -> 64x64
            up4 = common_deconv2d(up3,self.gf,name='up4')                  #  64x64    -> 128x128 
			
            out_img = tf.contrib.layers.conv2d_transpose(up4,self.channels,kernel_size=4,stride=2,padding='SAME',activation_fn=tf.nn.tanh)  # 128x128 -> 256x256
           #print('out_img',(np.shape(out_img))) 
            
            return out_img

    def build_discriminator(self,image,reuse=False,name='discriminator'):
        
        
