官术网_书友最值得收藏!

Building a deep neural network in Keras

Changing our model is as easy as redefining our previous build_network() function. Our input layer will stay the same because our input hasn't changed. Likewise, the output layer should remain the same. 

I'm going to add parameters to our network by adding additional hidden layers. I hope that by adding these hidden layers, our network can learn more complicated relationships between the input and output. I am going to start by adding four additional hidden layers; the first three will have 32 neurons and the fourth will have 16. Here's what it will look like:

And here's the associated code for building the model in Keras:

def build_network(input_features=None):
inputs = Input(shape=(input_features,), name="input")
x = Dense(32, activation='relu', name="hidden1")(inputs)
x = Dense(32, activation='relu', name="hidden2")(x)
x = Dense(32, activation='relu', name="hidden3")(x)
x = Dense(32, activation='relu', name="hidden4")(x)
x = Dense(16, activation='relu', name="hidden5")(x)
prediction = Dense(1, activation='linear', name="final")(x)
model = Model(inputs=inputs, outputs=prediction)
model.compile(optimizer='adam', loss='mean_absolute_error')
return model

As promised, very little of our code has changed. I've bolded the additional lines. The rest of our code can stay the same; however, you often have to train longer (for more epochs) as network complexity increases.

主站蜘蛛池模板: 嵊州市| 堆龙德庆县| 东光县| 正阳县| 蓬莱市| 固原市| 岳西县| 丹巴县| 平湖市| 西宁市| 任丘市| 建德市| 祁阳县| 建水县| 桂林市| 晋州市| 甘南县| 德庆县| 乳源| 邵武市| 滕州市| 剑阁县| 边坝县| 师宗县| 千阳县| 丽江市| 丹凤县| 德阳市| 资阳市| 疏勒县| 平山县| 正定县| 奎屯市| 会理县| 濉溪县| 屯留县| 永登县| 金门县| 军事| 喀喇| 玉环县|