def final_image(n_chns, x):
    with tf.name_scope('final_image'):
        if (add_noise > 0):
            feature_shape = x.shape.as_list()[0:(- 1)]
            noise_shape = (feature_shape + [add_noise])
            noise = tf.random_normal(noise_shape, 0, 0.1)
            x = tf.concat([x, noise], axis=3)
        conv_layer = ConvolutionalLayer(n_output_chns=n_chns, kernel_size=3, acti_func='tanh', feature_normalization=None, with_bias=True, w_initializer=self.initializers['w'], b_initializer=self.initializers['b'])
        x_sample = conv_layer(x, is_training=is_training, keep_prob=keep_prob_ph)
        return tf.image.resize_images(x_sample, image_size[:(- 1)])
def final_image(n_chns, x):
    with tf.name_scope('final_image'):
        if (add_noise > 0):
            feature_shape = x.shape.as_list()[0:(- 1)]
            noise_shape = (feature_shape + [add_noise])
            noise = tf.random_normal(noise_shape, 0, 0.1)
            x = tf.concat([x, noise], axis=3)
        conv_layer = ConvolutionalLayer(n_output_chns=n_chns, kernel_size=3, acti_func='tanh', feature_normalization=None, with_bias=True, w_initializer=self.initializers['w'], b_initializer=self.initializers['b'])
        x_sample = conv_layer(x, is_training=is_training, keep_prob=keep_prob_ph)
        return tf.image.resize_images(x_sample, image_size[:(- 1)])