在 Python 中使用 Tensorflow 时,何时应该使用顺序模型?请举例说明。


当存在一个简单的层堆栈时,顺序模型是相关的。在这个堆栈中,每一层都只有一个输入张量和一个输出张量。当模型有多个输入或多个输出时,它不适用。当需要共享层时,它不适用。当层有多个输入或多个输出时,它不适用。当需要非线性架构时,它不适用。

Tensorflow 是 Google 提供的一个机器学习框架。它是一个开源框架,与 Python 结合使用以实现算法、深度学习应用程序等等。它用于研究和生产目的。它具有优化技术,有助于快速执行复杂的数学运算。这是因为它使用 NumPy 和多维数组。这些多维数组也称为“张量”。

Keras 是作为 ONEIROS(开放式神经电子智能机器人操作系统)项目研究的一部分开发的。Keras 是一个深度学习 API,用 Python 编写。它是一个高级 API,具有高效的界面,有助于解决机器学习问题。它运行在 Tensorflow 框架之上。它旨在帮助快速进行实验。它具有高度的可扩展性,并具有跨平台功能。这意味着 Keras 可以运行在 TPU 或 GPU 集群上。Keras 模型也可以导出到 Web 浏览器或手机上运行。

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

import tensorflow
from tensorflow import keras

我们正在使用 Google Colaboratory 来运行以下代码。Google Colab 或 Colaboratory 帮助在浏览器上运行 Python 代码,无需任何配置即可免费访问 GPU(图形处理单元)。Colaboratory 建立在 Jupyter Notebook 之上。

让我们看一个使用 Tensorflow(包括 Keras)定义顺序模型的示例:

示例

import tensorflow as tf
from tensorflow import keras
from tensorflow.keras import layers
print("A sequential model is being defined, that has three layers")
model = keras.Sequential(
   [
      layers.Dense(2, activation="relu", name="layer_1"),
      layers.Dense(3, activation="relu", name="layer_2"),
      layers.Dense(4, name="layer_3"),
   ]
)
print("The model is being called on test data")
x = tf.ones((2, 2))
y = model(x)

代码来源 -  https://tensorflowcn.cn/guide/keras/sequential_model

输出

A sequenital model is being defined, that has three layers
The model is being called on test data
The layers are
[<tensorflow.python.keras.layers.core.Dense object at 0x7fe921aaf7b8>, <tensorflow.python.keras.layers.core.Dense object at 0x7fe921a6d898>, <tensorflow.python.keras.layers.core.Dense object at 0x7fe921a6dc18>]

解释

  • 导入并为所需的包设置别名。

  • 使用 Keras 中的“sequential”方法创建一个顺序模型。

  • 在测试数据上调用此模型。

  • 模型各层的详细信息显示在控制台上。

更新于: 2021年1月21日

225 次查看

启动你的 职业生涯

通过完成课程获得认证

开始
广告