Keras之Model 类模型方法compile

Model 类模型方法

compile

compile(optimizer, loss=None, metrics=None, loss_weights=None, sample_weight_mode=None, weighted_metrics=None, target_tensors=None)

用于配置训练模型。

参数

 

异常

 

  • optimizer: 字符串(优化器名)或者优化器实例。 详见 optimizers
  • loss: 字符串(目标函数名)或目标函数。 详见 losses。 如果模型具有多个输出,则可以通过传递损失函数的字典或列表,在每个输出上使用不同的损失。 模型将最小化的损失值将是所有单个损失的总和。
  • metrics: 在训练和测试期间的模型评估标准。 通常你会使用 metrics = ['accuracy']。 要为多输出模型的不同输出指定不同的评估标准, 还可以传递一个字典,如 metrics = {'output_a':'accuracy'}
  • loss_weights: 可选的指定标量系数(Python 浮点数)的列表或字典, 用以衡量损失函数对不同的模型输出的贡献。 模型将最小化的误差值是由 loss_weights 系数加权的加权总和误差。 如果是列表,那么它应该是与模型输出相对应的 1:1 映射。 如果是张量,那么应该把输出的名称(字符串)映到标量系数。
  • sample_weight_mode: 如果你需要执行按时间步采样权重(2D 权重),请将其设置为 temporal。 默认为 None,为采样权重(1D)。 如果模型有多个输出,则可以通过传递 mode 的字典或列表,以在每个输出上使用不同的 sample_weight_mode
  • weighted_metrics: 在训练和测试期间,由 sample_weight 或 class_weight 评估和加权的度量标准列表
  • target_tensors: 默认情况下,Keras 将为模型的目标创建一个占位符,在训练过程中将使用目标数据。 相反,如果你想使用自己的目标张量(反过来说,Keras 在训练期间不会载入这些目标张量的外部 Numpy 数据), 您可以通过 target_tensors 参数指定它们。 它可以是单个张量(单输出模型),张量列表,或一个映射输出名称到目标张量的字典。
  • **kwargs: 当使用 Theano/CNTK 后端时,这些参数被传入 K.function。 当使用 TensorFlow 后端时,这些参数被传递到 tf.Session.run
  • ValueError: 如果 optimizer, loss, metricssample_weight_mode 这些参数不合法。

后端函数:categorical_crossentropy

keras.backend.categorical_crossentropy(target, output, from_logits=False)

输出张量与目标张量之间的分类交叉熵。

参数

  • target: 与 output 尺寸相同的张量。
  • output: 由 softmax 产生的张量 (除非 from_logits 为 True, 在这种情况下 output 应该是对数形式)。
  • from_logits: 布尔值,output 是 softmax 的结果, 还是对数形式的张量。

返回

输出张量。

参考:https://keras.io/zh/models/model/#compile 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章