def METHOD_NAME(self, inputs):
    emb = []
    # input feature data
    for data in inputs:
        feat_emb = self.embedding(data)
        # sum pooling
        feat_emb = paddle.sum(feat_emb, axis=1)
        emb.append(feat_emb)
    concat_emb = paddle.concat(x=emb, axis=1)
    expert_outputs = []
    for i in range(0, self.expert_num):
        linear_out = self._param_expert[i](concat_emb)
        expert_output = F.relu(linear_out)
        expert_outputs.append(expert_output)
    expert_concat = paddle.concat(x=expert_outputs, axis=1)
    expert_concat = paddle.reshape(
        expert_concat, [-1, self.expert_num, self.expert_size])
    output_layers = []
    for i in range(0, self.gate_num):
        cur_gate_linear = self._param_gate[i](concat_emb)
        cur_gate = F.softmax(cur_gate_linear)
        cur_gate = paddle.reshape(cur_gate, [-1, self.expert_num, 1])
        cur_gate_expert = paddle.multiply(x=expert_concat, y=cur_gate)
        cur_gate_expert = paddle.sum(x=cur_gate_expert, axis=1)
        cur_tower = self._param_tower[i](cur_gate_expert)
        cur_tower = F.relu(cur_tower)
        out = self._param_tower_out[i](cur_tower)
        out = F.softmax(out)
        out = paddle.clip(out, min=1e-15, max=1.0 - 1e-15)
        output_layers.append(out)
    out_list = []
    ctr_out = output_layers[0]
    cvr_out = output_layers[1]
    ctr_prop_one = paddle.slice(ctr_out, axes=[1], starts=[1], ends=[2])
    cvr_prop_one = paddle.slice(cvr_out, axes=[1], starts=[1], ends=[2])
    ctcvr_prop_one = paddle.multiply(x=ctr_prop_one, y=cvr_prop_one)
    ctcvr_prop = paddle.concat(
        x=[1 - ctcvr_prop_one, ctcvr_prop_one], axis=1)
    out_list = []
    out_list.append(ctr_out)
    out_list.append(ctr_prop_one)
    out_list.append(cvr_out)
    out_list.append(cvr_prop_one)
    out_list.append(ctcvr_prop)
    out_list.append(ctcvr_prop_one)
    if self.counterfact_mode == "DR":
        imp_out = output_layers[2]
        imp_prop_one = paddle.slice(
            imp_out, axes=[1], starts=[1], ends=[2])
        out_list.append(imp_prop_one)
    return out_list