我有一个使用 tf.data 的训练管道。在数据集中有一些坏元素,在我的例子中值为 0。如何根据它们的值删除这些坏数据元素?由于数据集很大,我希望能够在训练时在管道中删除它们。
假设从以下伪代码:
def parse_function(element):
height = element['height']
if height <= 0: skip() #How to skip this value
labels = element['label']
features['height'] = height
return features, labels
ds = tf.data.Dataset.from_tensor_slices(ds_files)
clean_ds = ds.map(parse_function)
建议是根据特征值使用 ds.skip(1),还是提供某种中性的重量/损失?