如何在 Tensorflow 中使用 Datatset.map 创建图像、标签对的数据集?

pythonserver side programmingprogrammingtensorflow

通过转换路径组件列表,然后将标签编码为整数格式,可以创建 (图像、标签) 对。‘map’ 方法有助于创建与 (图像、标签) 对相对应的数据集。

阅读更多: 什么是 TensorFlow,以及 Keras 如何与 TensorFlow 配合使用来创建神经网络?

我们将使用 flowers 数据集,其中包含数千朵花的图像。它包含 5 个子目录,每个类都有一个子目录。

我们使用 Google Colaboratory 来运行以下代码。Google Colab 或 Colaboratory 有助于在浏览器上运行 Python 代码,并且不需要任何配置,并且可以免费访问 GPU(图形处理单元)。Colaboratory 是在 Jupyter Notebook 之上构建的。

print("The 'num_parallel_calls' is set so that multiple images are loaded and processed in parallel")
train_ds = train_ds.map(process_path, num_parallel_calls=AUTOTUNE)
val_ds = val_ds.map(process_path, num_parallel_calls=AUTOTUNE)

for image, label in train_ds.take(1):
   print("The shape of image is : ", image.numpy().shape)
   print("The label is : ", label.numpy())

输出

The 'num_parallel_calls' is set so that multiple images are loaded and processed in parallel
The shape of image is :   (180, 180, 3)
The label is :   0

代码来源:https://www.tensorflow.org/tutorials/load_data/images

解释

  • 同时加载和处理多幅图像。
  • 使用 'map' 方法创建包含 (图像,标签) 对的数据集。
  • 对其进行迭代,形状的尺寸和标签显示在控制台上。

相关文章