本章:通过编写2份 tensorflow 图片分类训练代码,对比结果。总结:
1. 配置训练参数 2,模型建立配置。是训练中重要的部分。通过调节参数对比训练结果。
图片训练集下载地址
图片资源不大,学习使用。
图片分:train 集和验证集 ,每个文件夹的图片不到100张。
代码部分:
怎么加载图片到tensorflow 有2个方式常用,一种是使用我下面的方式用flow_from_directory另一个是使用 tf.data.Dataset(略)
flow_from_directory方式加载涉及2个函数:ImageDataGenerator 和flow_from_directory
函数ImageDataGenerator
train_datagen = ImageDataGenerator(rescale=1. / 255, #归一化
rotation_range=10, #旋转角度
width_shift_range=0.1, #水平偏移
height_shift_range=0.1, #垂直偏移
shear_range=0.1, #随机错切变换的角度
zoom_range=0.1, #随机缩放的范围
horizontal_flip=False, #随机将一半图像水平翻转
fill_mode='nearest') #填充像素的方法
train_data= train_datagen.flow_from_directory(directory=train_dir, #训练文件路径--文件夹下多分类文件夹
target_size=(30, 30), #图像统一尺寸
batch_size=nbatch_size, #batch数据的大小,默认32
class_mode='categorical')#返回标签数组形式 'binary'二进制;
flow_from_directory:
directory: 目标文件夹路径,对于每一个类,该文件夹都要包含一个子文件夹.子文件夹中任何JPG、PNG、BNP、PPM的图片都会被生成器使用.详情请查看此脚本 target_size: 整数tuple,默认为(256, 256). 图像将被resize成该尺寸 color_mode: 颜色模式,为"grayscale","rgb"之一,默认为"rgb".代表这些图片是否会被转换为单通道或三通道的图片. classes: 可选参数,为子文件夹的列表,如['dogs','cats']默认为None. 若未提供,则该类别列表将从directory下的子文件夹名称/结构自动推断。每一个子文件夹都会被认为是一个新的类。(类别的顺序将按照字母表顺序映射到标签值)。通过属性class_indi