Python自定义数据集实战:17类别鲜花图像教程

47 下载量 17 浏览量 更新于2024-08-29 2 收藏 185KB PDF 举报
本篇文章主要介绍了如何使用Python和TensorFlow在实际场景中创建自己的数据集,以鲜花图像数据集为例进行详细讲解。数据集名为17_Category_Flower,包含了17种英国常见鲜花,每种80张图片,需要用户下载并手动组织到相应的文件夹中。 首先,文章强调了使用Python的os库来操作文件系统,特别是遍历文件夹和获取文件路径。PIL(Python Imaging Library),作为Python中最常用的图像处理库,其Image类在数据预处理过程中扮演重要角色,支持图像的加载、读取和基本处理。 作者利用TFRecords格式来构建数据集,TFRecords是一个二进制文件格式,尽管不直观,但具有内存效率高、便于复制和移动等优点,且无需额外的标签文件。代码实现步骤如下: 1. 导入所需库:os、tensorflow、PIL、matplotlib.pyplot和numpy。 2. 定义当前工作目录(cwd)和花的类别列表(classes)。 3. 创建TFRecordWriter对象,指定要生成的文件名"flower_train.tfrecords"。 4. 使用for循环遍历每一种花的类别和图片: a. 获取每个类别的文件夹路径(class_path)。 b. 遍历文件夹中的所有图片(img_name),构建完整的图片路径(img_path)。 c. 使用Image类加载图片,并可能进行必要的预处理。 d. 将图片转换为numpy数组,并将其编码为TFRecords格式,包括类别标签(通过索引index和类别名称name关联)。 e. 写入TFRecordWriter,将预处理后的数据写入二进制文件。 通过这些步骤,用户能够理解和实践如何使用Python和TensorFlow的数据处理工具来组织、处理和存储自己的数据集,以便于后续的机器学习模型训练。此外,本文还展示了如何将图像数据与标签对应起来,这是训练深度学习模型的关键步骤。