目录
2、针对mnist数据集学习一些优化方法(交叉熵/正则化/优化器的选择)
6、EarlyStopping与ReduceLROnPlateau
1、keras运行的两种方式:
model = ...
# 第一种训练的方法(第二种更常用)
for i in range(5001):
cost = model.train_on_batch(x_data, y_data)
if i%500==0:
print('cost is {}'.format(cost))
# 第二种性训练模型的方法
model.fit(x_data, y_data, epochs=3000)
2、针对mnist数据集学习一些优化方法(交叉熵/正则化/优化器的选择)
主要是了解怎么调用相关的函数
3、model.compile()的全部参数及说明
4、图像增强
一般是用来增加训练集的数据量
5、keras的参数初始化
model.add(Dense(units=10, input_dim=12, kernel_initializer='he_normal',bias_initializer='zeros'))
# 使用什么样的初始化方法,就输入对应的名字,参见keras中文文档:https://keras.io/zh/initializers/#_1,其中也介绍了怎么自己定义初始化函数
# keras的参数初始化方法与直接使用tensorflow是不一样的,w = tf.Variable(tf.truncated_normal(shape=[12,10],stddev=0.01))
6、EarlyStopping与ReduceLROnPlateau
from keras.callbacks import EarlyStopping,ReduceLROnPlateau
earlystopping = EarlyStopping(monitor='acc/loss/val_acc/val_loss',
min_delta=1e-4, # 最小变动相对值
patience=9, # 没有进步的训练轮数,在这之后训练就会被停止
verbose=1,
mode='auto/max/min', # 一般设置为auto
)
reduce_lr = ReauceLROnPlateau(
monitor='val_loss',
factor=0.2, # new_lr=factor*lr
min_delta=1e-6,
patience=9,
verbose=1, # 0:安静,1:更新消息
mode='auto',
min_lr=1e-7 # 学习率的下限
)
model.fit(callbacks=[earlystopping,reduce_lr])