Keras 图片分类算法中的参数设置简介
数据增强(Data Augment)
一般只对训练集增强,不对验证集增强。
1 | ImageDataGenerator.flow_from_directory(TRAIN_PATH, class_mode='categorical', #one hot encode |
class_mode=’categorical’: 使用one-hot编码
class_mode=’binary’: 使用二进制编码,一般用于二分类
target_size: 用来调整网络输入图片大小
batch_size:一次生成图片数
最上层网络
1 | top_model = modelResnet50.output |
最后一个全连接层参数个数应该和lable值的维数一致。多分类一般用one-hot编码,就是类别数。如果是二分类,如果为one-hot编码,设为2,如果为二进制编码(数据增强时设置class_mode=’binary’),则为1。
二分类时激活函数使用sigmoid, 多分类时常使用softmax。
编译时
1 | model.compile(loss='binary_crossentropy', optimizer=opt, metrics=['accuracy']) |
如果为二分类问题损失函数使用binary_crossentropy,多分类则常使用categorical_crossentropy、softmax_crossentropy。