Compile:配置模型,然后进行训练
compile(optimizer, loss=None, metrics=None, loss_weights=None, sample_weight_mode=None, weighted_metrics=None, target_tensors=None)
参数说明:
optimizer: 优化器 loss:如果模型有多个输出,则可以通过传递字典或损失列表输出每个不同输出的损失。模型将最小化损失值然后计算所有单个损失的总和。 metrics:可以使用metrics=[‘accuracy‘]指定输出级别,对于多个输出模型,可以指定每个输出模型的输出级别,如{‘output_a‘: ‘accuracy‘}。 loss_weights:对不同模型输出的损失进行加权可以用列表或字典作为标量系数(Python浮点数),模型将所有单个损失最小化后再通过损耗加权系数加权,再求和,计算出加权和,如果是一个列表,则它与模型的输出应该有1:1的映射。如果是张量,需要将输出名称(字符串)映射到标量系数。 sample_weight_mode:如果需要进行时间步进采样加权(二维权重),请将其设置为“temporal”。None 代表默认为样本权重(1d)。如果模型有多个输出,您可以通过传递字典或模式列表,在每个输出上使用不同的样本权重模式。 weighted_metrics: 在训练和测试过程中,sample_weight 或者 class_weight进行评估和加权的指标列表。 target_tensors:默认情况下,keras将为目标模型创建占位符,在培训期间将向这些占位符提供目标数据。如果您希望使用自己的目标张量(Keras在训练时不会要求额外的numpy数据),可以通过目标张量参数指定, 。它可以是单个张量(对于单个输出模型)、张量列表或一个字典(name:target_tensors)。 **kwargs:当使用Theano/CNTK 后端时, 这个参数被传递到 K.function. 当使用 TensorFlow 后端时, 这个参数被传到 tf.Session.run.