def predict(self, Xi, Xv):
    '\n        :param Xi: list of list of feature indices of each sample in the dataset\n        :param Xv: list of list of feature values of each sample in the dataset\n        :return: predicted probability of each sample\n        '
    dummy_y = ([1] * len(Xi))
    batch_index = 0
    (Xi_batch, Xv_batch, y_batch) = self.get_batch(Xi, Xv, dummy_y, self.batch_size, batch_index)
    y_pred = None
    while (len(Xi_batch) > 0):
        num_batch = len(y_batch)
        feed_dict = {self.feat_index: Xi_batch, self.feat_value: Xv_batch, self.dropout_keep_fm: ([1.0] * len(self.dropout_fm)), self.dropout_keep_deep: ([1.0] * len(self.dropout_deep)), self.train_phase: False}
        batch_out = self.sess.run(self.out, feed_dict=feed_dict)
        if (batch_index == 0):
            y_pred = np.reshape(batch_out, (num_batch,))
        else:
            y_pred = np.concatenate((y_pred, np.reshape(batch_out, (num_batch,))))
        batch_index += 1
        (Xi_batch, Xv_batch, y_batch) = self.get_batch(Xi, Xv, dummy_y, self.batch_size, batch_index)
    return y_pred
:param Xi: list of list of feature indices of each sample in the dataset
:param Xv: list of list of feature values of each sample in the dataset
:return: predicted probability of each sample
def predict(self, Xi, Xv):
    '\n        :param Xi: list of list of feature indices of each sample in the dataset\n        :param Xv: list of list of feature values of each sample in the dataset\n        :return: predicted probability of each sample\n        '
    dummy_y = ([1] * len(Xi))
    batch_index = 0
    (Xi_batch, Xv_batch, y_batch) = self.get_batch(Xi, Xv, dummy_y, self.batch_size, batch_index)
    y_pred = None
    while (len(Xi_batch) > 0):
        num_batch = len(y_batch)
        feed_dict = {self.feat_index: Xi_batch, self.feat_value: Xv_batch, self.dropout_keep_fm: ([1.0] * len(self.dropout_fm)), self.dropout_keep_deep: ([1.0] * len(self.dropout_deep)), self.train_phase: False}
        batch_out = self.sess.run(self.out, feed_dict=feed_dict)
        if (batch_index == 0):
            y_pred = np.reshape(batch_out, (num_batch,))
        else:
            y_pred = np.concatenate((y_pred, np.reshape(batch_out, (num_batch,))))
        batch_index += 1
        (Xi_batch, Xv_batch, y_batch) = self.get_batch(Xi, Xv, dummy_y, self.batch_size, batch_index)
    return y_pred