def eval_align_batchN(model, loader, P=256):
    """
    return:
    predictList: (N, P) e.g. (N, 256)
    lossList:    (B, )
    """
    predictList = [] # sample_num x point_num(256)
    lossList = []
    # model.clear_confusion()
    for data in loader:
        loss, out = model.test(data, if_eval=True)
        lossList.append(loss.item())
        predictList.extend(out.reshape(-1, P).tolist())

    return predictList, lossList