在keras中主要有两大类深度学习模型: 一类是序列模型(Sequential);另一类是通用模型(Model),其中的差异主要体现在拓扑结构上.
序列模型
可以说序列模型是通用模型的一个子类,这种模型各层之间是依次顺序的线性关系,通常是叠加形式构造深度学习模型,比如:
1 | from keras.models import Sequential |
通用模型
通用模型可以用来设计比较复杂,任意结构的深度学习模型,比如:
1 | from keras.layers import Input,Dense |
可以看到,对于序列模型跟通用模型,他们的主要差异是在于如何定义从输入层到输出层的各层结构:
- 首先,在序列模型中,是先定义序列模型对象;而在通用模型中是先定义从输入层到输出层各层要素,然后在定义模型对象.
- 其次,在序列模型中,当有了一个模型对象之后,通过add方式依次添加各层信息;而在通用模型中,通过不断的封装各层模型结构的函数作为参数来定义模型结构.
- 最后,在序列模型中,各层只能依次线性添加;而在通用模型中,采用了封装的概念,可以定义出很复杂的网络模型.
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 闲记算法!
评论