keras图像预处理-ImageDataGenerator

相关参数描述:http://keras-cn.readthedocs.io/en/latest/preprocessing/image/
其中validation_split参数(官方上使用方法未描述):设置训练集与验证集的比例。
  要与flow_from_directory或flow函数配合。在函数中subset参数中设置为'training' 或者 'validation',生成对应的数据集。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
from keras.models import Sequential
from keras.layers import Dense, Dropout, Activation, Flatten
from keras.layers import Convolution2D, MaxPooling2D
from keras.models import load_model
import keras.callbacks as callbacks
from keras.preprocessing.image import ImageDataGenerator
 
# 在目录下建立子文件夹,每个子文件夹对应1个类
# 如以0,1,2或a, b, c命名的文件夹
train_dir = 'e:\Python_Project\images\'
 
num_epochs = 1
batch_size = 100
 
data_gen = ImageDataGenerator(rescale=1. / 255, validation_split=0.1)
 
# classes: 可选参数,为子文件夹的列表,如['dogs','cats']默认为None.
# 若未提供,则该类别列表将从directory下的子文件夹名称/结构自动推断。
# 每一个子文件夹都会被认为是一个新的类。(类别的顺序将按照字母表顺序映射到标签值)。
# 通过属性class_indices可获得文件夹名与类的序号的对应字典。
# 本例中使用默认的参数,表示按数字或字母升序,对应类的序号
train_generator = data_gen.flow_from_directory(train_dir,
                                               target_size=(64, 64),
                                               batch_size=batch_size,
                                               class_mode='categorical', subset='training')
validation_generator = data_gen.flow_from_directory(train_dir,
                                               target_size=(64, 64),
                                               batch_size=batch_size,
                                               class_mode='categorical', subset='validation')
# 建立模型
model = Sequential()
# ..
# ...............
 
# 训练模型
tensor_board = callbacks.TensorBoard()
model.fit_generator(generator=train_generator,
                    epochs=num_epochs,
                    validation_data=validation_generator,
                    callbacks=[tensor_board])

 

posted @   冂冋冏囧  阅读(13661)  评论(5编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
点击右上角即可分享
微信分享提示