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

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.

主站蜘蛛池模板: 天津市| 肥西县| 望奎县| 日土县| 揭西县| 灯塔市| 华宁县| 赤水市| 林州市| 鸡泽县| 依安县| 会宁县| 鹰潭市| 峨眉山市| 彭泽县| 长沙县| 巴马| 海林市| 桂东县| 石景山区| 河东区| 肃北| 黑河市| 云和县| 应城市| 瑞金市| 张家港市| 宁津县| 灵宝市| 宝兴县| 永德县| 彭水| 阿拉尔市| 思南县| 广饶县| 湖州市| 凤城市| 新宾| 建水县| 和龙市| 石柱|