![Keras深度学习:入门、实战与进阶](https://wfqqreader-1252317822.image.myqcloud.com/cover/725/41309725/b_41309725.jpg)
上QQ阅读APP看书,第一时间看更新
3.2.1 序贯模型
可以通过将多个层堆叠并传递给Sequential的构造函数来创建序贯模型。以下程序代码将创建一个包含四个网络层的序贯网络。
- 第1层是全连接层(稠密层),其input_shape为(*,784),output_shape为(*,32)。
- 第2层是激活层,将tanh激活函数用于激活输入张量,activation也可以作为参数应用于稠密层。
- 第3层是一个稠密层,输出为(*,10)。
- 第4层是激活层,函数为softmax。
> library(keras) > model <- keras_model_sequential() > model %>% + layer_dense(units = 32, input_shape = c(784)) %>% + layer_activation('relu') %>% + layer_dense(units = 10) %>% + layer_activation('softmax') > deepviz::plot_model(model)
执行以上程序代码,得到的四层序贯模型的网络拓扑结构如图3-6所示。
![072-1](https://epubservercos.yuewen.com/EC9CCF/21511155008171806/epubprivate/OEBPS/Images/072-1.jpg?sign=1739175772-vW4p6tjzHKWvTvE0d5MmuYSB83iEb9s6-0-05a98a2e8cc50b445bd52ab515c1d9b3)
图3-6 四层序贯模型的网络拓扑结构
deepviz包的安装方法将在下一节介绍。从图3-6可知,当稠密层未指定激活函数时,默认为linear。由前文可知,也可以在稠密层指定激活函数。下面我们创建一个两层序贯模型,效果与前面创建的模型相同。运行以下代码,得到两层序贯模型的网络拓扑结构,如图3-7所示。
> model1 <- keras_model_sequential() > model1 %>% + layer_dense(units = 32,input_shape = c(784),activation = 'relu') %>% + layer_dense(units = 10,activation = 'softmax') > deepviz::plot_model(model1)
![072-2](https://epubservercos.yuewen.com/EC9CCF/21511155008171806/epubprivate/OEBPS/Images/072-2.jpg?sign=1739175772-ieiPCu3z6v8nkPci0NdNnkRElAH9GSdW-0-be1ef0a6d7e12d40a0ebd93c048cd139)
图3-7 两层序贯模型的网络拓扑结构