模型编译,确定训练流程
构建好模型后,通过调用compile配置该模型的学习流程:
compile( optimizer='rmsprop', loss=None, metrics=None, loss_weights=None):
optimizer:优化器;
loss:损失函数,对于二分类任务就是交叉熵,回归任务就是 mse 之类的;
metrics:在训练和测试期间的模型评估标准。比如 metrics = ['accuracy']。 指定不同的评估标准,需要传递一个字典,如 metrics = {'output_a':'accuracy'}。
loss_weights: 如果的模型有多个任务输出,在优化全局loss的时候,需要给每个输出指定相应的权重。
代码:
model = tf.keras.Sequential()
model.add(layers.Dense(10, activation='softmax'))
确定优化器(optimizer)、损失函数(loss)、模型评估方法(metrics)
model.compile(optimizer=tf.keras.optimizers.Adam(0.001),
loss=tf.keras.losses.categorical_crossentropy,
metrics=[tf.keras.metrics.categorical_accuracy])