上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所示。
图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)
图3-7 两层序贯模型的网络拓扑结构