#!/usr/bin/env python # coding: utf-8 # In[1]: import gradio as gr import numpy as np from PIL import Image import requests import hopsworks import joblib project = hopsworks.login() fs = project.get_feature_store() mr = project.get_model_registry() model = mr.get_model("tita_modal", version=1) model_dir = model.download() model = joblib.load(model_dir + "/tita_model.pkl") def tita(passengerid, age, sibsp, parch, fare, cabin_no, cabin_yes, embarked_c, embarked_q, embarked_s, sex_female, sex_male, pclass_1, pclass_2, pclass_3): input_list = [] input_list.append(passengerid) input_list.append(age) input_list.append(sibsp) input_list.append(parch) input_list.append(fare) input_list.append(cabin_no) input_list.append(cabin_yes) input_list.append(embarked_c) input_list.append(embarked_q) input_list.append(embarked_s) input_list.append(sex_female) input_list.append(sex_male) input_list.append(pclass_1) input_list.append(pclass_2) input_list.append(pclass_3) # 'res' is a list of predictions returned as the label. res = model.predict(np.asarray(input_list).reshape(1, -1)) # We add '[0]' to the result of the transformed 'res', because 'res' is a list, and we only want # the first element. if (res[0] == 1): life = "alive" else: life = "dead" flower_url = "https://raw.githubusercontent.com/Man-bearpig/ID2223/main/" + life + ".png" img = Image.open(requests.get(flower_url, stream=True).raw) return img demo = gr.Interface( fn=tita, title="titanic", description="Enter the basic information for a passenger.", allow_flagging="never", inputs=[ gr.inputs.Number(default=1.0, label="passengerid"), gr.inputs.Number(default=1.0, label="age"), gr.inputs.Number(default=1.0, label="sibsp"), gr.inputs.Number(default=1.0, label="parch"), gr.inputs.Number(default=1.0, label="fare"), gr.inputs.Number(default=1.0, label="cabin_no"), gr.inputs.Number(default=1.0, label="cabin_yes"), gr.inputs.Number(default=1.0, label="embarked_c"), gr.inputs.Number(default=1.0, label="embarked_q"), gr.inputs.Number(default=1.0, label="embarked_s"), gr.inputs.Number(default=1.0, label="sex_female"), gr.inputs.Number(default=1.0, label="sex_male"), gr.inputs.Number(default=1.0, label="pclass_1"), gr.inputs.Number(default=1.0, label="pclass_2"), gr.inputs.Number(default=1.0, label="pclass_3"), ], outputs=gr.Image(type="pil")) demo.launch() # In[ ]: