graduation / app.py
Pandora41
fix
ccd6d84
import gradio as gr
import numpy as np
import tensorflow as tf
# Load the model
model = tf.keras.models.load_model('graduate_prediction.h5')
# Define the prediction function
def predict(curricular_units_2nd_sem_approved, curricular_units_2nd_sem_grade, curricular_units_1st_sem_approved, curricular_units_1st_sem_grade,
curricular_units_2nd_sem_evaluations, curricular_units_1st_sem_evaluations, admission_grade, tuition_fees_up_to_date,
previous_qualification_grade, scholarship_holder):
# Prepare the input data (ensure it's in the correct shape)
input_data = np.array([[curricular_units_2nd_sem_approved, curricular_units_2nd_sem_grade, curricular_units_1st_sem_approved,
curricular_units_1st_sem_grade, curricular_units_2nd_sem_evaluations, curricular_units_1st_sem_evaluations,
admission_grade, tuition_fees_up_to_date, previous_qualification_grade, scholarship_holder]])
# Perform prediction
prediction = model.predict(input_data)
return prediction
# Create Gradio interface
inputs = [
gr.Number(label="Curricular units 2nd sem (approved)"),
gr.Number(label="Curricular units 2nd sem (grade)"),
gr.Number(label="Curricular units 1st sem (approved)"),
gr.Number(label="Curricular units 1st sem (grade)"),
gr.Number(label="Curricular units 2nd sem (evaluations)"),
gr.Number(label="Curricular units 1st sem (evaluations)"),
gr.Number(label="Admission grade"),
gr.Number(label="Tuition fees up to date"),
gr.Number(label="Previous qualification (grade)"),
gr.Number(label="Scholarship holder")
]
# Correct the output definition
output = gr.Textbox(label="Predicted Result")
gr.Interface(fn=predict, inputs=inputs, outputs=output).launch()