TFRecord格式数据读取+划分训练集、验证集和测试集

可以参考深度学习笔记:在小数据集上从头训练卷积神经网络_笨牛慢耕的博客-CSDN博客_小数据集训练

ImageDataGenerator.flow_from_directory可以提取TFrecord数据格式。
image_dataset_from_directory是更古老的东西也能作为TFrecord数据提取的工具,但是提取的是整个文件夹中的文件数据集,如果想要划分为训练集和验证集,可以尝试使flow_from_directory。

示例如下:

#使用原模块,subset参数是取0-1之间的浮点型数(但是我没整明白返回的是几个数据集)
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,
)

 (此代码块出现subset设置问题,因为我不需要这个代码块了就没有再去解决这个问题)

##返回的是整个train文件夹中所有的文件,标签也按文件夹名所分类
train_generator = train_datagen.flow_from_directory(root_path+'/train',target_size=(size_img,size_img),color_mode='grayscale',batch_size=batch_siz,class_mode='categorical',shuffle=True,seed=42)

返回的结果: 

 

##仅添加了参数subset就能将整个训练集分为训练接70%,验证集30%
train_generator = train_datagen.flow_from_directory(root_path+'/train',target_size=(size_img,size_img),color_mode='grayscale',batch_size=batch_siz,class_mode='categorical',subset='training',shuffle=True,seed=42)
val_generator = train_datagen.flow_from_directory(root_path+'/train',target_size=(size_img,size_img),color_mode='grayscale',batch_size=batch_siz,class_mode='categorical',subset='validation',shuffle=True,seed=42)

返回的结果是 

 

整个提取文件夹并划分好数据集的代码如下:

#设置图像生成器,(此处并未添加任何文件),
train_datagen = ImageDataGenerator(rescale=1./255,validation_split=0.3)
test_datagen = ImageDataGenerator(rescale = 1./255)

#以文件分类名划分label
train_generator = train_datagen.flow_from_directory(root_path+'/train',target_size=(size_img,size_img),color_mode='grayscale',batch_size=batch_siz,class_mode='categorical',subset='training',shuffle=True,seed=42)
val_generator = train_datagen.flow_from_directory(root_path+'/train',target_size=(size_img,size_img),color_mode='grayscale',batch_size=batch_siz,class_mode='categorical',subset='validation',shuffle=True,seed=42)
test_generator = test_datagen.flow_from_directory(root_path+'/test',target_size=(size_img,size_img),color_mode='grayscale',batch_size=batch_siz,class_mode='categorical',shuffle=False,seed=42)

返回的结果:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值