如何使用Python在Tensorflow中添加密集层?
可以使用“add”方法将密集层添加到连续模型中,并将层类型指定为“Dense”。首先将图层展平,然后添加一个新层,该层将应用于整个训练数据集。
更多Python相关文章,请阅读:Python 教程
我们将使用Keras Sequential API来构建顺序模型,该模型用于处理一个简单的层堆栈,其中每个层都有一个输入张量和一个输出张量。
我们使用Google Colaboratory运行以下代码。Google Colab或Colaboratory可帮助在浏览器上运行Python代码,不需要任何配置,可以免费访问GPU(图形处理器)。Colaboratory是建立在Jupyter Notebook之上的。
print("Adding dense layer on top")
model.add(layers.Flatten())
model.add(layers.Dense(64, activation='relu'))
model.add(layers.Dense(10))
print("Complete architecture of the model")
model.summary()
代码来源:https://www.tensorflow.org/tutorials/images/cnn
输出
添加密集层
模型完整架构
模型:sequential_1
_________________________________________________________________
类型 输出形状 参数 #
=================================================================
conv2d_3 (Conv2D) (None, 30, 30, 32) 896
_________________________________________________________________
max_pooling2d_2 (MaxPooling2 (None, 15, 15, 32) 0
_________________________________________________________________
conv2d_4 (Conv2D) (None, 13, 13, 64) 18496
_________________________________________________________________
max_pooling2d_3 (MaxPooling2 (None, 6, 6, 64) 0
_________________________________________________________________
conv2d_5 (Conv2D) (None, 4, 4, 64) 36928
_________________________________________________________________
flatten (Flatten) (None, 1024) 0
_________________________________________________________________
dense (Dense) (None, 64) 65600
_________________________________________________________________
dense_1 (Dense) (None, 10) 650
=================================================================
总参数量:122,570
可训练参数量:122,570
不可训练参数量:0
_________________________________________________________________
解释
- 为了完成模型,将卷积基的最后输出张量(形状为(4,4,64))馈送给一个或多个Dense层以执行分类。
- Dense层将取向量作为输入(这是1D的),当前输出为3D张量。
- 接下来,将3D输出展平为1D,并添加一个或多个Dense层。
- CIFAR有10个输出类,因此添加了一个具有10个输出的最终Dense层。
- 这些(4,4,64)的输出被扁平化为形状为(1024)的向量,然后通过两个Dense层。