tensorflow2.x keras 几种使用Dataset 读 Images 的方式

本文详细介绍了在 TensorFlow 2.x 中利用 `image_dataset_from_directory`、`ImageDataGenerator` 和 `tf.image.decode_image` 三种方式加载和预处理图像。重点讲解了 `image_dataset_from_directory` 的参数配置,包括自动标签推断、图像尺寸调整和数据批处理等。还提到了从 CSV 文件加载图像和标签的方法,以及使用 Dataset 时避免维度错误的关键点。
摘要由CSDN通过智能技术生成

1. image_dataset_from_directory

官方API 文档 : tf.keras.utils.image_dataset_from_directory
下图代码展示了从data/minist_subfolders/下面读取image的过程。
labels:'inferred’指的是自动从文件目录加载label。这里拿Mnist数据集举例

img_height = 28
img_width = 28
batch_size  = 32
ds_train = tf.keras.utils.image_dataset_from_directory(
    'data/minist_subfolders/',
    labels='inferred',
    label_mode= "int", #categorical, binary
    # class_names = ['0','1','2','3'],
    color_mode = 'grayscale',
    batch_size = batch_size,
    image_size = (img_height, img_width),
    shuffle=True,
    seed=123,
    validation_split = 0.1,
    subset="training",
)

用法

tf.keras.utils.image_dataset_from_directory(
directory, labels=‘inferred’, label_mode=‘int’,
class_names=None, color_mode=‘rgb’, batch_size=32, image_size=(256,
256), shuffle=True, seed=None, validation_split=None, subset=None,
interpolation=‘bilinear’, follow_links=False,
crop_to_aspect_ratio=False, **kwargs
)

参数

  • directory 数据所在的目录。如果labels是"inferred",它应该包含子目录,每个子目录都包含一个类的图像。否则,目录结构将被忽略。

  • labels “inferred”(从目录结构生成标签)、None(无标签)或与目录中找到的图像文件数量相同大小的整数标签列表/元组。标签应根据图像文件路径的字母数字顺序排序(通过Python 中的os.walk(directory) 获得)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值