Sequential 顺序模型 API - Keras 中文文档
https://keras.io/zh/models/sequential/
Sequential 序贯模型
序贯模型是函数式模型的简略版,为最简单的线性、从头到尾的结构顺序,不分叉,是多个网络层的线性堆叠。
详见以下博客:
【tensorflow】Sequential 模型方法_电子生医小白的博客-CSDN博客 https://blog.csdn.net/m0_53732376/article/details/117048515
编译
在训练模型之前,我们需要配置学习过程,这是通过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 参数指定它们。它应该是单个张量(对于单输出 Sequential 模型)。kwargs
: 当使用 Theano/CNTK 后端时,这些参数被传入 K.function。当使用 TensorFlow
后端时,这些参数被传递到 tf.Session.run。
可能出现的异常
- ValueError: 如果 optimizer, loss, metrics 或 sample_weight_mode 这些参数不合法。