import tensorflow as tf


        self.train_summary = tf.summary.merge_all(key='train')
        self.eval_summary = tf.summary.merge_all(key='eval')
        self.saver = tf.train.Saver(tf.global_variables())

    def separate_gradient_update(self):
        denoise_params = tf.get_collection(tf.GraphKeys.TRAINABLE_VARIABLES, "denoising_model")
        ranking_model_params = tf.get_collection(tf.GraphKeys.TRAINABLE_VARIABLES, "ranking_model")
        self.weighs_propen=denoise_params
        if self.hparams.l2_loss > 0:
            for p in denoise_params:
#                 self.weighs_propen=p
#                 p=tf.Print(p,[p],message="show the weights")
                self.exam_loss += self.hparams.l1_loss * tf.reduce_sum(tf.abs(p))
