def rel_mixed_to_abs_mixed(rel_pred_distribution, start):
    """
    Transform from rel to abs distribution. Notice that distribution along x and y is seperate.
    :param rel_pred_distribution: [..., pred_len, 5]
    :param start: [batch_size, 2]
    :return: [..., pred_len, 5]. Notice that mixed distribution only use 4 parameters, so the last one is useless.
    """
    abs_pred_distribution = rel_pred_distribution.clone()
    abs_pred_distribution[..., 0, 0:2] = start + rel_pred_distribution[..., 0, 0:2]
    abs_pred_distribution[..., 0, 2:4] = rel_pred_distribution[..., 0, 2:4]
    for step in range(1, rel_pred_distribution.shape[-2]):
        abs_pred_distribution[..., step, 0:4] = rel_pred_distribution[..., step, 0:4] + \
                                                abs_pred_distribution[..., step - 1, 0:4]
    return abs_pred_distribution