import tensorflow as tf

        os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3'
        tf.compat.v1.logging.set_verbosity(tf.compat.v1.logging.ERROR)

        graph = tf.Graph()
        with graph.as_default():
            tf.set_random_seed(self.seed)

            self.user_id = tf.placeholder(shape=[None, ], dtype=tf.int32, name='user_id')
            self.item_id = tf.placeholder(shape=[None, ], dtype=tf.int32, name='item_id')
            self.labels = tf.placeholder(shape=[None, 1], dtype=tf.float32, name='labels')

            self.interaction = gmf(uid=self.user_id, iid=self.item_id, num_users=self.train_set.num_users,
                                   num_items=self.train_set.num_items, emb_size=self.num_factors,
                                   reg_user=self.regs[0], reg_item=self.regs[1], seed=self.seed)

            logits = tf.layers.dense(self.interaction, units=1, name='logits',
