如何使用来自两个目录的图像创建预取数据集?

2024-04-19 16:00:06 发布

您现在位置:Python中文网/ 问答频道 /正文

嗨,我正在学习这个教程

https://www.tensorflow.org/tutorials/images/segmentation#define_the_model

但是,使用我自己的数据(工作不太好),假设我有到掩码(target_dir)和原始(trand_dir)图像的路径,我如何制作这样的预取数据集:

[1]:train_dataset.__dict__
[1]: {'_input_dataset': <RepeatDataset shapes: ((None, 128, 128, 3), (None, 128, 128, 1)), types: (tf.float32, tf.float32)>,
 '_buffer_size': <tf.Tensor: shape=(), dtype=int64, numpy=-1>,
 '_variant_tensor_attr': <tf.Tensor: shape=(), dtype=variant, numpy=<unprintable>>,
 '_self_setattr_tracking': True,
 '_self_unconditional_checkpoint_dependencies': [TrackableReference(name='_variant_tracker', ref=<tensorflow.python.data.ops.dataset_ops._VariantTracker object at 0x7f36fc7db320>)],
 '_self_unconditional_dependency_names': {'_variant_tracker': <tensorflow.python.data.ops.dataset_ops._VariantTracker at 0x7f36fc7db320>},
 '_self_unconditional_deferred_dependencies': {},
 '_self_update_uid': -1,
 '_self_name_based_restores': set(),
 '_self_saveable_object_factories': {},
 '_variant_tracker': <tensorflow.python.data.ops.dataset_ops._VariantTracker at 0x7f36fc7db320>,
 '_graph_attr': <tensorflow.python.framework.ops.Graph at 0x7f37279a32e8>,
 '_options_attr': <tensorflow.python.data.ops.dataset_ops.Options at 0x7f36fc7db710>}

我自己的.jpg文件存储在traind_dir和target_dir中的哪个位置

上面的train_数据集是从oxford_iiit_pet数据集获得的,并遵循tensorflow.org教程

编辑:在我的尝试中,如果我使用

getattr(dataset["train"],"_input_dataset")

我明白了

<ParallelMapDataset shapes: {file_name: (), image: (None, None, 3), label: (), segmentation_mask: (None, None, 1), species: ()}, types: {file_name: tf.string, image: tf.uint8, label: tf.int64, segmentation_mask: tf.uint8, species: tf.int64}>

所以我搜索了ParallelMapDataset,我发现我可以用

tf.raw_ops.ParallelMapDataset(
    input_dataset, other_arguments, num_parallel_calls, f, output_types, output_shapes
)

但我有一些问题

在其他的争论中,什么是有意义的?tf.32列表

要将输入图像和目标图像配对,我应该使用f和num_parallel_调用什么


Tags: 数据name图像selfnonedatatftensorflow