dhruvshettty's picture
Add gradio for hugging spaces
cb7becb
raw
history blame
1.58 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=1)
model_dir = model.download()
model = joblib.load(model_dir + "/titanic_model.pkl")
# "Pclass", "Sex", "Age", "Parch"
def titanic(pclass, sex, age, parch):
input_list = []
input_list.append(pclass)
input_list.append(sex)
input_list.append(age)
input_list.append(parch)
# '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.
# TODO(Change URL)
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
demo = gr.Interface(
fn=titanic,
title="Titanic Passenger Survival Predictive Analytics",
description="Experiment to predict passenger survival on the Titanic.",
allow_flagging="never",
inputs=[
gr.inputs.Number(default=1.0, label="Pclass (1 -> 3)"),
gr.inputs.Number(default=1.0, label="Sex (0 -> 1)"),
gr.inputs.Number(default=1.0, label="Age (0 -> 100)"),
gr.inputs.Number(default=1.0, label="Parch (0 -> 2)"),
],
outputs=gr.Image(type="pil"))
demo.launch()