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

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.

主站蜘蛛池模板: 永修县| 临洮县| 舒兰市| 宁明县| 辽阳市| 房山区| 凤城市| 昂仁县| 蕉岭县| 兴山县| 兴国县| 金昌市| 杭锦后旗| 麻阳| 建阳市| 辽源市| 柯坪县| 自治县| 芒康县| 安化县| 梨树县| 祁东县| 镇安县| 淳化县| 云林县| 乐清市| 资兴市| 汉源县| 且末县| 于田县| 芷江| 阳原县| 瑞安市| 荃湾区| 称多县| 买车| 甘泉县| 昂仁县| 金川县| 泸水县| 镇巴县|