import os import pickle import tensorflow as tf import gradio as gr import pandas as pd from sklearn.preprocessing import StandardScaler data_heading = ['longitude', 'latitude', 'housing_median_age', 'total_rooms', 'total_bedrooms', 'population', 'households', 'median_income', 'median_house_value'] # Model and scaler loading with open("./model/scaler_sklearn.pkl", "rb") as f: scaler = pickle.load(f) loaded_model = tf.keras.saving.load_model('./model/house_value_model.keras') def test_ml_model(longitude, latitude, housing_median_age, total_rooms, total_bedrooms, population, households, median_income, median_house_value): df_test = pd.DataFrame(data=[longitude, latitude, housing_median_age, total_rooms, total_bedrooms, population, households, median_income, median_house_value], columns=data_heading) df_test_norm = pd.DataFrame(scaler(df_test), columns=data_heading) result = loaded_model.predict(df_test_norm) return (f'predicted: {result}') demo = gr.Interface(fn=test_ml_model, inputs=[gr.Number(value=0.0), gr.Number(value=0.0), gr.Number(value=0.0), gr.Number(value=0.0), gr.Number(value=0.0), gr.Number(value=0.0), gr.Number(value=0.0), gr.Number(value=0.0), gr.Number(value=0.0), gr.Number(value=0.0),], outputs="text", description="It will help to classifiy the houses in this neighborhood above a avaerage price or not.", title='Classifier') demo.launch()