X = train_data
Y = train_targets

def create_model():
input_tensor = Input( shape = ([входная форма], ))
x = слои.Dense( 13, активация = 'relu')( input_tensor )
x = слои.Dense( 26, активация = 'relu')( x )
x = слои.Dense( 13, активация = 'relu')( x )
concat = слои.concatenate( [ x, input_tensor ] )
output_tensor = layer.Dense( 1 )( concat )
function_model = Model( input_tensor, output_tensor )
function_model.compile( loss = 'mae', оптимизатор = 'rmsprop', metrics = ['MSE'] )
вернуть функциональную_модель

def scheduler_lr( эпоха ):
если эпоха ‹ 100 :
вернуть 0,001
вернуть ( эпоха // 100 ) * 0,00001 + 0,001

модель = создать_модель()

tensorboard_name = «tensorboard»
tensorboard = TensorBoard(log_dir='./logs/{}'.format(tensorboard_name))
Earlystop = tf.keras.callbacks.EarlyStopping(monitor = 'val_loss', терпение = 1000, подробный = 1)
скорость обучения = tf.keras.callbacks.LearningRateScheduler( scheduler_lr )

model.fit(X, Y, эпохи = 10000, validation_split = 0,2, обратные вызовы = [тензорная доска, ранняя остановка, скорость обучения])