如何使用Tensorflow使用文件路径创建花卉数据集的对?

如何使用Tensorflow使用文件路径创建花卉数据集的对?

要创建(image, label)对,需要将路径首先转换为路径组件列表。然后,将倒数第二个值添加到目录中。接下来,将标签编码为整数格式。压缩字符串转换为张量,然后将其重新调整为所需大小。

更多Python相关文章,请阅读:Python 教程

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

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

print("将文件路径转换为(image,label)对的函数")
print("首先,将路径转换为路径组件列表")
print("然后,将倒数第二个值添加到类目录中")
print("标签编码为整数")
def get_label(file_path):
    parts = tf.strings.split(file_path, os.path.sep)
    one_hot = parts[-2] == class_names
    return tf.argmax(one_hot)

print("将压缩字符串转换为3维int张量")
print("将图像重新调整为所需大小")
def decode_img(img):
    img = tf.image.decode_jpeg(img, channels=3)
    return tf.image.resize(img, [img_height, img_width])

print("从文件中加载原始数据作为字符串值")
def process_path(file_path):
    label = get_label(file_path)
    img = tf.io.read_file(file_path)
    img = decode_img(img)
    return img, label

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

输出

将文件路径转换为(image,label)对的函数
首先,将路径转换为路径组件列表
然后,将倒数第二个值添加到类目录中
标签编码为整数
将压缩字符串转换为3维int张量
将图像重新调整为所需大小
从文件中加载原始数据作为字符串值

解释

  • 定义了一个“get_label”函数,将文件路径转换为(image,label)对。
  • 将文件路径转换为路径组件列表。
  • 将倒数第二个值添加到类目录中。
  • 接下来,将标签编码为整数。
  • 使用名为“decode_img”的另一个函数来调整图像大小并返回它。
  • 首先将压缩字符串转换为三维整数张量,然后调整大小。
  • 定义了另一个名为“process_path”的函数,该函数将原始数据从文件中加载为字符串值。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程