如何使用 Keras 创建一个模型,其中模型的输入形状事先指定?
Tensorflow 是 Google 提供的一个机器学习框架。它是一个开源框架,与 Python 结合使用以实现算法、深度学习应用程序等等。它用于研究和生产目的。
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 之上。以下是代码片段:
示例
print("Three dense layers are being created") layer = layers.Dense(3) print("The weights associated with the layers are") print(layer.weights) print("The created layers is called on test data") x = tf.ones((2, 3)) y = layer(x) print("Now, the weights are : ") print(layer.weights)
代码来源:https://tensorflowcn.cn/guide/keras/sequential_model
输出
Three dense layers are being created The weights associated with the layers are [] The created layers is called on test data Now, the weights are : [<tf.Variable 'dense_11/kernel:0' shape=(3, 3) dtype=float32, numpy= array([[-0.9901273 , -0.70897937, -0.44804883], [ 0.6849613 , 0.5198808 , 0.48534775], [-0.07876515, -0.73648643, 0.44018626]], dtype=float32)>, <tf.Variable 'dense_11/bias:0' shape=(3,) dtype=float32, numpy=array([0., 0., 0.], dtype=float32)>]
解释
Keras 模型中的所有层都需要知道输入的形状,以便能够创建最佳权重。
最初,当创建层时,它没有任何与之关联的权重。
因此,当它第一次在输入上被调用时,它会创建权重。
这是因为权重取决于输入的形状。
这些层是按顺序创建的。
这在测试数据上调用。
与这个新模型相关的权重显示在控制台上。
广告