在 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”方法创建一个顺序模型。
在测试数据上调用此模型。
模型各层的详细信息显示在控制台上。