import tensorflow as tf

            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',
                                     kernel_initializer=tf.initializers.lecun_uniform(self.seed))
            self.prediction = tf.nn.sigmoid(logits)

            self.loss = loss_fn(labels=self.labels, logits=logits)
            train_op = train_fn(self.loss, learning_rate=self.learning_rate, learner=self.learner)

            initializer = tf.global_variables_initializer()
