我有2个build_model
函数,如下所示:
def build_model01():
X_input = Input(shape=(784,))
Y = Dense(1, activation='sigmoid')(X_input)
model = Model(inputs = X_input, outputs = Y, name='build_model')
return model
def build_model02():
model = Sequential()
model.add(Dense(input_dim=784,units=1,activation='sigmoid'))
return model
build_model01
和build_model02
有什么区别?它们实际上是一样的吗?差异会影响其他层吗?
答案 0 :(得分:2)
实际上,使用功能性API创建的模型(即build_model01
)与作为顺序模型创建的相同模型(即build_model02
)之间没有区别。您可以通过检查Sequential
类source code来进一步确认。如您所见,它是Model
类的子类。当然,使用Keras功能API gives you more flexibility,它可以让您创建具有复杂架构的模型(例如,具有多个输入/输出或多个分支的模型)。