如何使用Python在Tensorflow中添加密集层?

如何使用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层。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程