DanielFD's picture
Upload 4 files
016d6f4
import pandas as pd
import pycaret
from pycaret.classification import *
import gradio as gr
model = load_model('ML_Model_Size_Frames')
load_config('ML_Model_Size_Frames_config')
def ml_classication(Height,Working_Distance,IPD_Infinity,IPD_WD,IPD_300mm):
columns = ['Frame_Size_Refractives','Height','Working_Distance','IPD_Infinity','IPD_WD','IPD_300mm']
df = pd.DataFrame(columns=columns)
df = df.append({'Height':Height,
'Working_Distance': Working_Distance, 'IPD_Infinity': IPD_Infinity,
'IPD_WD':IPD_WD, 'IPD_300mm': IPD_300mm}, ignore_index=True)
new_prediction = predict_model(model, data=df)
prediction = new_prediction['Label'].iloc[0]
score = new_prediction['Score'].iloc[0]
#
return prediction, score
inputs = [
gr.Slider(120, 220, 175, label="Height [cm]"),
gr.Slider(400, 600, 300, label="Working Distance [mm]"),
gr.Slider(45, 100, 60, label='IPD Infinity [mm]'),
gr.Slider(45, 100, 60, label="IPD Working Distance [mm]"),
gr.Slider(45, 100, 60, label="IPD 300 mm [mm]"),
]
outputs = [
gr.Text(label='Frame Size'),
gr.Text(label = 'Score'),
]
demo = gr.Interface(
fn=ml_classication,
inputs=inputs,
outputs=outputs,
examples=[
[163, 490, 62.0, 58.0, 56.0],
[180, 510, 63.5, 59.5, 57.5],
],
cache_examples=True,
)
if __name__ == "__main__":
demo.launch()