打乱point点云元数据顺序以及labels的顺序
def shuffle_data(data, labels):
""" Shuffle data and labels.
Input:
data: B,N,... numpy array
label: B,... numpy array
Return:
shuffled data, label and shuffle indices
"""
idx = np.arange(len(labels))
np.random.shuffle(idx)
return data[idx, ...], labels[idx], idx
调用语句为
current_data, current_label, _ = provider.shuffle_data(current_data, np.squeeze(current_label))
np.squeeze删除current_label中单维数据,只留filesize的那一维数据,因为h5文件中存储的point的模型数目并非是与batchsize完全匹配的,这个数后续还会有处理
经过将filesize维度数据顺序打乱,实现随机打乱current_label以及current_data数据的目的