0

我正在运行下面的代码,它工作正常,results_summary()函数状态如下:

输入单位:100

n_GRU_layers: 2

GRU_units: 35

n_Dense_layers: 0

GRU_0_units:185

GRU_1_units:160

GRU_2_units:115

Dense_0_units: 10

GRU_3_units:180

Dense_1_units: 185

Dense_2_units: 140

Dense_3_units: 165

我的问题是为什么它告诉 n_GRU_layers : 2ie (3 GRU 层 0,1,2) 但它显示了四层,第四层在 ( GRU_3_units: 180) 上。

同样它告诉 n_Dense_layers: 0ie(一个密集层),但又是四个

Dense_0_units: 10

Dense_1_units: 185

Dense_2_units: 140

Dense_3_units: 165

def build_model(hp):  
    model = Sequential()


    model.add(GRU(hp.Int('input_units',
                            min_value=10,
                            max_value=200,
                            step=5),return_sequences=True,  input_shape=(n_steps,   n_features)))
   model.add(Activation('relu'))




    for i in range(hp.Int('n_GRU_layers', 0, 4)):  # adding variation of layers.
        model.add(GRU(hp.Int(f'GRU_{i}_units',
                            min_value=10,
                            max_value=200,
                            step=5),return_sequences=True))
    model.add(Activation('relu'))

    model.add(GRU(hp.Int(f'GRU_units',
                            min_value=10,
                            max_value=50,
                            step=5), activation='relu'))

    for i in range(hp.Int('n_Dense_layers', 0, 4)):  # adding variation of layers.
        model.add(Dense(hp.Int(f'Dense_{i}_units',
                            min_value=10,
                            max_value=200,
                             step=5)))
    model.add(Activation('relu'))
    model.add(Dense(5, activation='softmax'))

    model.compile(optimizer="adam",
                  loss="categorical_crossentropy",
                   metrics=["accuracy"])
return model



tuner = RandomSearch(
    build_model,
    objective='val_accuracy',
    max_trials=5,  
    executions_per_trial=3,  
    directory=LOG_DIR)

tuner.search(x=x_train,
             y=y_train,
             verbose=2, 
             epochs=500,
             #callbacks=[tensorboard],  
             validation_data=(x_test, y_test))
4

0 回答 0