使用 compile 方法编译顺序模型 - Keras 和 Python

Keras 是作为 ONEIROS(开放式神经电子智能机器人操作系统)项目研究的一部分而开发的。Keras 是一个深度学习 API,它是用 Python 编写的。它是一种高级 API,具有有助于解决机器学习问题的高效界面。

它运行在 Tensorflow 框架之上。它旨在帮助快速进行实验。它提供了在开发和封装机器学习解决方案中必不可少的基本抽象和构建块。

它具有高度可扩展性,并具有跨平台功能。这意味着 Keras 可以在 TPU 或 GPU 集群上运行。Keras 模型也可以导出以在 Web 浏览器或手机中运行。

Keras 已经存在于 Tensorflow 包中。可以使用以下代码行访问它。

import tensorflow
from tensorflow import keras

与使用顺序 API 创建的模型相比,Keras 函数式 API 有助于创建更灵活的模型。函数式 API 可以处理具有非线性拓扑结构的模型,可以共享层并处理多个输入和输出。深度学习模型通常是包含多个层的有向无环图 (DAG)。函数式 API 有助于构建层图。

我们正在使用 Google Colaboratory 运行以下代码。Google Colab 或 Colaboratory 帮助在浏览器上运行 Python 代码,并且需要零配置和免费访问 GPU(图形处理单元)。Colaboratory 建立在 Jupyter Notebook 之上。以下是代码片段 -

示例

print("Model is being compiled")
model.compile(
   optimizer=keras.optimizers.RMSprop(1e-3),
   loss={
      "priority": keras.losses.BinaryCrossentropy(from_logits=True),
      "department": keras.losses.CategoricalCrossentropy(from_logits=True),
   },
   loss_weights=[1.0, 0.2],
)

代码信用 - https://www.tensorflow.org/guide/keras/functional

输出结果

Model is being compiled

解释

  • 该模型是使用“编译”方法编译的。

  • 编译进行时,可以为每个输出分配不同的损失。

  • 不同的权重也可以分配给不同的损失,这样总的训练损失将被调制。