最典型和常用的神经网络结构是将一堆层按特定顺序叠加起来,那么,我们是不是只需要提供一个层的列表,就能由 Keras 将它们自动首尾相连,形成模型呢?Keras 的 Sequential API 正是如此。通过向 tf.keras.models.Sequential() 提供一个层的列表,就能快速地建立一个 tf.keras.Model 模型并返回:

    不过,这种层叠结构并不能表示任意的神经网络结构。为此,Keras 提供了 Functional API,帮助我们建立更为复杂的模型,例如多输入 / 输出或存在参数共享的模型。其使用方法是将层作为可调用的对象并返回张量(这点与之前章节的使用方法一致),并将输入向量和输出向量提供给 tf.keras.Modelinputsoutputs 参数,示例如下:

    使用 Keras Model 的 compile 、 fit 和 evaluate 方法训练和评估模型

    当模型建立完成后,通过 tf.keras.Modelcompile 方法配置训练过程:

    接受 3 个重要的参数:

    接下来,可以使用 tf.keras.Model 的 方法训练模型:

    tf.keras.Model.fit 接受 5 个重要的参数:

    • y :目标数据(数据标签);

    • epochs :将训练数据迭代多少遍;

    • validation_data :验证数据,可用于在训练过程中监控模型的性能。

    最后,使用 评估训练效果,提供测试数据及标签即可: