image_dataset_from_directory function
# from tensorflow.keras.preprocessing import image_dataset_from_directory
tf.keras.preprocessing.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,
)
从目录中的图像文件生成一个 tf.data.Dataset
如果你的目录结构是:
main_directory/
...class_a/
......a_image_1.jpg
......a_image_2.jpg
...class_b/
......b_image_1.jpg
......b_image_2.jpg
然后调用 image_dataset_from_directory(main_directory, labels='inferred') 将返回一个tf.data.Dataset, 该数据集从子目录class_a和class_b生成批次图像,同时生成标签0和1(0对应class_a,1对应class_b).
支持的图像格式:jpeg, png, bmp, gif. 动图被截断到第一帧。
sparse_categorical_crossentropy
loss)。‘categorical’指标签被编码为分类向量(例如:categorical_crossentropy
loss)。‘binary’意味着标签(只能有2个)被编码为值为0或1的float32标量(例如:binary_crossentropy)。None(无标签)。bilinear。支持bilinear
, nearest
, bicubic
, area
, lanczos3
, lanczos5
, gaussian
, mitchellcubic
.。一个tf.data.Dataset对象。
关于labels格式规则:
有关生成图像中通道数量的规则:
如果color_mode 是 grayscale, 图像张量有1个通道。
如果color_mode 是 rgb, 图像张量有3个通道。
如果color_mode 是 rgba, 图像张量有4个通道。