tf.data.Dataset.from_generator通过preprocessing.image.ImageDataGenerator构造Dataset
虽然自己定义生成器就可以构建dataset,但是用一些已经写好且功能比较完善的库,处理起数据会更方便。比如,处理图片数据,可以使用tf.keras.preprocessing.image.ImageDataGenerator制作生成器,再用tf.data.Dataset构造dataset
ImageDataGenerator有很多写好的方法,例如
import tensorflow as tf
tf.keras.preprocessing.image.ImageDataGenerator(
rescale = 1./255, # 将8bit的图像归一化到0~1
rotation_range = 10, # 对图像进行旋转角度在10以内的旋转
)
此外,ImageDataGenerator还有一个功能,就是可以直接从文件夹读取图片,并制作好对应的标签。图片要按照这样的格式存放
比如根目录是imgs, 这个目录下放了2个文件夹。cat文件夹中放猫猫的图片,dog文件夹中放狗狗的图片。
img_generator = tf.keras.preprocessing.image.ImageDataGenerator(
rescale = 1./255, # 将8bit的图像归一化到0~1
rotation_range