如何使用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构建的。以下是代码片段−
更多Python相关文章,请阅读:Python 教程
例子
print("正在创建三个密集的层")
layer = layers.Dense(3)
print("与层相关的权重为")
print(layer.weights)
print("在测试数据上调用创建的层")
x = tf.ones((2, 3))
y = layer(x)
print("现在,权重为:")
print(layer.weights)
代码来源− https://www.tensorflow.org/guide/keras/sequential_model
输出
正在创建三个密集的层
与层相关的权重为
[]
在测试数据上调用创建的层
现在,权重为:
[<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模型中的所有层都需要知道输入的形状,以便创建最优权重。
-
最初,当创建层时,它没有与之关联的任何权重。
-
因此,在第一次调用输入时它会创建权重。
-
这是因为权重取决于输入的形状。
-
层按顺序创建。
-
这是在测试数据上调用的。
-
与这个新模型相关的权重显示在控制台上。