我最近开始使用Tensorflow进行深度学习。我发现这句话model = tf.keras.models.Sequential()有点不同。我不能理解什么是真正的意思,还有其他的深度学习模型吗?我在MatconvNet (卷积神经网络的Matlab库)上做了很多工作。在这里面从来没有看到任何顺序的定义。
发布于 2019-09-02 14:35:57
有两种方法可以构建Keras模型:顺序模型和函数模型。
顺序API允许您为大多数问题逐层创建模型。它的局限性在于,它不允许创建共享层或具有多个输入或输出的模型。
或者,functional API允许您创建具有更大灵活性的模型,因为您可以轻松地定义模型,在这些模型中,层连接到的不仅仅是上一层和下一层。事实上,您可以将层连接到(字面上)任何其他层。因此,创建复杂的网络,如暹罗网络和残差网络成为可能。
更多详情请访问:https://machinelearningmastery.com/keras-functional-api-deep-learning/
发布于 2019-09-02 12:30:56
根据Keras文档的定义,顺序模型是层的线性堆栈.You可以通过将层实例列表传递给构造函数来创建顺序模型:
from keras.models import Sequential
from keras.layers import Dense, Activation
model = Sequential([
Dense(32, input_shape=(784,)),
Activation('relu'),
Dense(10),
Activation('softmax'),
])您也可以简单地通过.add()方法添加层:
model = Sequential()
model.add(Dense(32, input_dim=784))
model.add(Activation('relu'))有关更多详细信息,请单击here
发布于 2019-09-02 12:41:56
Sequential模型是层的线性堆栈。
ConvNets的常见体系结构是顺序体系结构。但是,有些架构不是线性堆栈。例如,暹罗网络是两个具有共享层的并行神经网络。More examples here。
https://stackoverflow.com/questions/57751417
复制相似问题