如何在 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' 方法创建包含 (图像,标签) 对的数据集。
- 对其进行迭代,形状的尺寸和标签显示在控制台上。