Я пытаюсь использовать KerasRegressor с моей моделью:
estimator = KerasRegressor(build_fn=create_model, epochs=num_epochs, batch_size=batch_size, verbose=0)
kfold = KFold(n_splits=10, random_state=seed_value)
results = cross_val_score(estimator, input_var, output_var, cv=kfold)
В учебном пособии для создания модели используется:
def create_model():
# create model
model = Sequential()
model.add(Dense(2, input_dim=3, kernel_initializer='normal', activation='relu'))
model.add(Dense(2, kernel_initializer='normal', activation='relu'))
model.add(Dense(1, kernel_initializer='normal'))
model.compile(loss='mean_squared_error', optimizer=adam)
return model
Это сработало. Однако, когда я пытаюсь использовать функциональные кера вместо последовательного:
def create_model():
# create model
#Start defining the input tensor:
input_data = layers.Input(shape=(3,))
#create the layers and pass them the input tensor to get the output tensor:
hidden1Out = Dense(units=2, activation='relu')(input_data)
finalOut = Dense(units=2, activation='relu')(hidden1Out)
output = Dense(1, activation='linear', name='u')(finalOut)
# Compile model
model.compile(loss='mean_squared_error', optimizer=adam)
return model
, я получаю ошибку «UnboundLocalError: локальная переменная« слои », на которую ссылаются до назначения»
Это происходит в:
input_data = layers.Input(shape=(3,))
Так что с ним не так? как мне это решить?