titanic / app.py
nandovallec
Init
593b89c
raw
history blame contribute delete
No virus
2.17 kB
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("titanic_modal", version=2)
model_dir = model.download()
model = joblib.load(model_dir + "/titanic_model.pkl")
def titanic_passanger(age, sex, sibsp, parch, fare, embarked, pclass):
input_list = []
sex_value = 1 if sex=='female' else 0
pclass_value = int(pclass)
if embarked == 'S':
embarked_value = 0
elif embarked == 'C':
embarked_value = 1
else:
embarked_value = 2
input_list.append(pclass_value)
input_list.append(sex_value)
input_list.append(age)
input_list.append(sibsp)
input_list.append(parch)
input_list.append(fare)
input_list.append(embarked_value)
# '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.
img_urls=["https://uxwing.com/wp-content/themes/uxwing/download/health-sickness-organs/skull-icon.png", "https://uxwing.com/wp-content/themes/uxwing/download/emoji-emoticon/happy-icon.png"]
img_url = img_urls[res[0]]
img = Image.open(requests.get(img_url, stream=True).raw)
return img
demo = gr.Interface(
fn=titanic_passanger,
title="Titanic Survivor Predictive Analytics",
description="Experiment with the features to predict survivor status.",
allow_flagging="never",
inputs=[
gr.inputs.Number(default=22.0, label="Age"),
gr.inputs.Radio(['female', 'male'], label="Sex"),
gr.inputs.Number(default=1.0, label="Number of siblings and spouses aboard"),
gr.inputs.Number(default=1.0, label="Number of parents and children aboard"),
gr.inputs.Number(default=1.0, label="Fare"),
gr.inputs.Radio(['S', 'C', 'Q'], label="Port embarked"),
gr.inputs.Radio(['1', '2', '3'], label="Ticket class"),
],
outputs=gr.Image(type="pil"))
demo.launch()