[Python] fit function stops after epoch 1

Discussão em 'Python' iniciado por Stack, Fevereiro 22, 2025.

  1. Stack

    Stack Membro Participativo

    I have implemented this function to fit the model

    def fit_model(model, X_train_sequence_tensor,Y_train_sequence_tensor, epochs, val_set, time_windows, scaler):

    X_column_list = [item for item in val_set.columns.to_list() if item not in ['date', 'user', 'rank','rank_group', 'counts', 'target']]
    X_val_set = val_set[X_column_list].round(2)

    X_val_set[X_val_set.columns] = scaler.transform(X_val_set[X_val_set.columns] )
    X_val_sequence = get_feature_array(X_val_set , X_column_list, time_windows)
    X_val_sequence_tensor = tf.convert_to_tensor(X_val_sequence, dtype=tf.float32)

    Y_column_list = ['target']
    Y_val_set = val_set[Y_column_list].round(2)
    Y_val_sequence = get_feature_array(Y_val_set , Y_column_list, time_windows)
    Y_val_sequence_tensor = tf.convert_to_tensor(Y_val_sequence, dtype=tf.float32)


    history = model.fit(X_train_sequence_tensor,Y_train_sequence_tensor, epochs,
    validation_data=(X_val_sequence_tensor, Y_val_sequence_tensor))
    return model, history



    but when I call it as

    fitted_model, history = fit_model(model, X_train_sequence_tensor,Y_train_sequence_tensor,
    epochs=100, val_set=val_set, time_windows=90, scaler=scaler)


    it stops after the first epoch. It does not run for all the 100 as required.

    I tried to call it outside of the function call and it worked.

    `# Step 3.2 : Fit the model + We pass some validation for
    # monitoring validation loss and metrics
    # at the end of each epoch
    X_val_set = val_set[X_column_list].round(2)

    #X_val_set.values = scaler.transform(X_val_set.values)

    X_val_set[X_val_set.columns] = scaler.transform(X_val_set[X_val_set.columns] )
    X_val_sequence = get_feature_array(X_val_set , X_column_list, 90)
    X_val_sequence_tensor = tf.convert_to_tensor(X_val_sequence, dtype=tf.float32)

    Y_val_set = val_set[Y_column_list].round(2)
    Y_val_sequence = get_feature_array(Y_val_set , Y_column_list, 90)
    Y_val_sequence_tensor = tf.convert_to_tensor(Y_val_sequence, dtype=tf.float32)


    training_history = cnn1d_bilstm_model.fit(X_train_sequence_tensor,Y_train_sequence_tensor, epochs=200,
    # We pass some validation for
    # monitoring validation loss and metrics
    # at the end of each epoch
    validation_data=(X_val_sequence_tensor, Y_val_sequence_tensor))


    What am I doing wrong?

    Continue reading...

Compartilhe esta Página