compile中的参数
示例
model.compile(loss="sparse_categorical_crossentropy", optimizer="sgd", metrics=["accuracy"])
解释
loss参数
这个参数表示的是模型训练时采用的损失函数
实例中的loss参数是sparse_categorical_crossentropy表明其损失函数使用的是针对稀疏标签的损失函数
loss参数以及应用情况如下表:
loss参数 | 适用情况 |
---|---|
sparse_categorical_crossentropy | 稀疏标签(每个实例都只有一个类目标索引) |
categorical_crossentropy | one hot编码的数据 |
binary_crossentropy | 二分类 |
optimizer参数
这个参数表示的是模型训练时选用的优化器
示例中的优化器选用的是随机梯度下降(SGD),由于学习率在模型训练中起到了很大的作用,所以一般使用optimizer=keras.optimizers.SGD(lr=???)来设置学习率,而不是使用"sgd"(默认的lr=0.01)
metrics参数
metrics=[“accuracy”]相当于metrics = [keras.metrics.sparse_categorical_accuracy]
Callbacks参数
示例
early_stopping_cb = EarlyStopping(patience=10, restore_best_weights=True)
checkpoint_cb = ModelCheckpoint("要保存的模型的名字.h5", save_best_only=True)
patience
表示的是多少轮模型没有提高就退出
restore_best_weights和save_best_only
为True时仅保存最有的模型
TensorBoard参数
示例
from keras.callbacks import TensorBoard
tensorboard_cb = TensorBoard(run_logdir)
解释
TensorBoard是在设置callback的时候使用,其中run_logdir是保存文件的路径