Keras中的顺序模型是什么意思

Aad*_*q A 15 python keras tensorflow tf.keras

我最近开始使用 Tensorflow 进行深度学习。我发现这个说法model = tf.keras.models.Sequential() 有点不同。我不明白这到底是什么意思,还有其他深度学习模型吗?我在 MatconvNet(卷积神经网络的 Matlab 库)上做了很多工作。从未在其中看到任何顺序定义。

小智 20

构建 Keras 模型有两种方法:顺序模型和函数模型。

顺序 API 允许您为大多数问题逐层创建模型。它的局限性在于它不允许您创建共享层或具有多个输入或输出的模型。

或者,函数式 API 允许您创建具有更大灵活性的模型,因为您可以轻松定义模型,其中层连接到的不仅仅是上一层和下一层。事实上,您可以将层连接到(字面上)任何其他层。因此,创建复杂的网络,如 siamese 网络和残差网络成为可能。

有关更多详细信息,请访问:https : //machinelearningmastery.com/keras-functional-api-deep-learning/


小智 10

根据Keras文档的定义,Sequential 模型是线性堆栈。您可以通过将层实例列表传递给构造函数来创建 Sequential 模型:

from keras.models import Sequential
from keras.layers import Dense, Activation

model = Sequential([
    Dense(32, input_shape=(784,)),
    Activation('relu'),
    Dense(10),
    Activation('softmax'),
])
Run Code Online (Sandbox Code Playgroud)

您还可以通过 .add() 方法简单地添加图层:

model = Sequential()
model.add(Dense(32, input_dim=784))
model.add(Activation('relu'))
Run Code Online (Sandbox Code Playgroud)

更多详情请点击这里


Meh*_*hdi 5

Sequential模型是层的线性堆栈。

ConvNets 的常见架构是顺序架构。然而,一些架构不是线性堆栈。例如,孪生网络是具有一些共享层的两个并行神经网络。更多例子在这里