str(_D + 1))(tmp_in) else: x = tf.keras.layers.Dense(N, activation='relu', name='dense_' + str(_D + 1))(tmp_in) xn = tf.keras.layers.BatchNormalization()(x) xd = tf.keras.layers.Dropout(0.5)(xn) tmp_in = xd outputs = tf.keras.layers.Dense(1, name='predictions')(xd) model = tf.keras.Model(inputs=inputs, outputs=outputs) if fold_n == 0: model.summary() model.compile(optimizer=tf.keras.optimizers.Adam(), loss=tf.keras.losses.MeanAbsoluteError(), metrics=[tf.keras.metrics.MeanAbsoluteError()]) overfitCallback = tf.keras.callbacks.EarlyStopping( monitor='val_loss', min_delta=0, patience=20, restore_best_weights=True) history = model.fit(X_train, Y_train, batch_size=64, epochs=999, verbose=0, validation_data=(X_valid, Y_valid), callbacks=[overfitCallback]) Y_pred_valid = model.predict(X_valid).reshape(-1, )