Keras功能API是定义复杂模型的一个途径,例如多输出模型、有向非循环图,具有共性层的模型。
示例一: fully connected network
Sequential 模型可能是一个更好的选择来实现一个这样的网络,但是从简单的开始更有帮助;
一个层实例是可调用的,它返回一个向量;
输入向量和输出向量能够用来定义一个模型;
如此的模型能够被训练,就像Keras模型似的;
from keras.layers import Input, Dense
from keras.models import Model
# this returns a tensor
inputs = Input(shape=(784,))
# a layer instance is callable on a tensor, and returns a tensor
x = Dense(64, activation='relu')(inputs)
x = Dense(64, activation='relu')(x)
predictions = Dense(10, activation='softmax')(x)
# this creates a model that includes
# the Input layer and three Dense layers
model = Model(input=inputs, output=predictions)
model.compile(optimizer='rmsprop',
loss='categorical_crossentropy',
metrics=['accuracy'])
model.fit(data, labels) # starts training
所有的模型都是可调用的,就像层实例一样;
关于功能API,重用被训练的模型是简单的:你能够把任何模型视为一个层,使用一个向量来调用它。值得注意的是调用一个模型不仅仅复用这个模型的架构&