Python 如何使用谓词按标签筛选自定义tensorflow数据集

Python 如何使用谓词按标签筛选自定义tensorflow数据集,python,tensorflow2.0,tensorflow-datasets,Python,Tensorflow2.0,Tensorflow Datasets,我使用以下代码从本地图像目录创建了tensorflow数据集: train_ds = tf.keras.preprocessing.image_dataset_from_directory( train_dir=my_img_dir, validation_split=0.2, subset="training", seed=123, image_size=(256,256), b

我使用以下代码从本地图像目录创建了tensorflow数据集:

train_ds = tf.keras.preprocessing.image_dataset_from_directory(
        train_dir=my_img_dir,
        validation_split=0.2,
        subset="training",
        seed=123,
        image_size=(256,256),
        batch_size=32)
我有1301个标签。这是一个分类图像问题。由于类别众多,我选择尝试暹罗网络 我正在尝试创建成对的图像来为我的暹罗网络提供信息,因此我需要相同类别的成对图像和不同类别的成对图像。为此,我尝试使用此代码进行筛选(例如,仅筛选标签==314)

上面的每个过滤器都给了我一个错误。 使用lambda的过滤器出现以下错误:

ValueError: `predicate` return type must be convertible to a scalar boolean tensor. Was TensorSpec(shape=(None,), dtype=tf.bool, name=None).
使用定制的函数谓词,我没有发现任何错误,但它根本不是过滤。 我想了解它是如何工作的。知道数据集是成批加载的,如何进行筛选。 如何返回具有相同类别/标签的两个图像的元组? 谢谢你的帮助

ValueError: `predicate` return type must be convertible to a scalar boolean tensor. Was TensorSpec(shape=(None,), dtype=tf.bool, name=None).