实现的代码:
#方法一:功能API
input = keras.layers.Input(shape=x_train[1:])
hidden1 = keras.layers.Dense(30,activation='relu')(input)
hidden2 = keras.layers.Dense(30,activation='relu')(hidden1)
concat = keras.layers.concatenate((input,hidden2))
output = keras.layers.Dense(1)(concat)
将模型固化
model = keras.models.Model(inputs = [input],
outputs = [output])
#方法二:子类API
class Wide_and_deep(keras.models.Model):
def __init__(self):
super(Wide_and_deep,self).__init__()
self.hidden1_layer = keras.layers.Dense(30,activation='relu')
self.hidden2_layer = keras.layers.Dense(30,activation='relu')
self.output_layer = keras.layers.Dense(1)
def call(self,input):
hidden1 = self.hidden1_layer(input)
hidden2 = self.hidden2_layer(hidden1)
concat = keras.layers.concatenate((input,hidden2))
output = self.output_layer(concat)
return output
model = Wide_and_deep()
model.build(input_shape=(None,13))