Python 如何使用谓词按标签筛选自定义tensorflow数据集
我使用以下代码从本地图像目录创建了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
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).