titanic / app.py
howlbz's picture
Upload app.py
63bbcc5
raw
history blame contribute delete
No virus
1.9 kB
import gradio as gr
import numpy as np
from PIL import Image
import requests
import hopsworks
import joblib
project = hopsworks.login(api_key_value="U1TTeOPaUDFWhd6N.H604QVLj5yOFVPGeSrXsoFY2IKrGkdqR0iTzWMr22rZxXQrn5VoYKdb4fghqxTna")
fs = project.get_feature_store()
#HwJaWmtvaCzFra3g.89QYueFGuScRnJkiepzG2tiWtKSrqNHCCJrnVie9fwhIMeJxRUpAGAT7mF36MDMv
mr = project.get_model_registry()
model = mr.get_model("titanic_modal", version=1)
model_dir = model.download()
model = joblib.load(model_dir + "/titanic_model.pkl")
def titanic(Pclass, Sex, Age, SibSp):
input_list = []
input_list.append(Pclass)
input_list.append(Sex)
input_list.append(Age)
input_list.append(SibSp)
# '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.
# flower_url = "https://raw.githubusercontent.com/featurestoreorg/serverless-ml-course/main/src/01-module/assets/" + res[0] + ".png"
# img = Image.open(requests.get(flower_url, stream=True).raw)
# return img
if (res[0] == 0):
result = "I'm sorry, the person is dead"
else:
result = "Awesome, the person is survived!!!!!!"
return result
demo = gr.Interface(
fn=titanic,
title="Titanic Predictive Analytics",
description="Experiment with Passenger class/Sex/Age/SibSp to predict if the person is survived or not.",
allow_flagging="never",
inputs=[
gr.inputs.Number(default=1.0, label="Pclass (Flight class 1/2/3)"),
gr.inputs.Number(default=1.0, label="Sex (male=1/female=2)"),
gr.inputs.Number(default=1.0, label="Age (in years)"),
gr.inputs.Number(default=1.0, label="SibSp (number of siblings)"),
],
outputs=gr.Textbox(label="Result: "))
demo.launch()