如何从tf.data.Dataset映射/生成图像和标签列表

时间:2019-10-15 16:20:46

标签: python tensorflow tensorflow-datasets

我有一个DataFrame,其中每一行都是两列= [图像列表,标签]。我想创建一个tf.data.Dataset对象,该对象将处理后的图像作为堆栈或单独的图像和标签吐出来。

我尝试使用map函数和生成器。

我尝试了两种方法:

AUTOTUNE = tf.data.experimental.AUTOTUNE
def read_images(set_path):
    images = tf.io.gfile.glob(set_path+'/*.png') # Just reading the images list
    return images, tf.strings.split(file_path, '/')[-2]

ds = tf.data.Dataset.from_tensor_slices(train['file_path'].values)
labeled_ds = ds.map(read_images, num_parallel_calls=AUTOTUNE)

def gen():
    for idx, row in train.iterrows():
        yield glob.glob(row['file_path']+'/*.png'), row['label']

ds = tf.data.Dataset.from_generator(gen, output_types=(tf.string, tf.string), output_shapes=([None], [None])) # This outputs error, not sure about output_types and output_shapes

有帮助吗?

0 个答案:

没有答案