import gradio as gr from PIL import Image import requests import hopsworks import joblib import pandas as pd # def greet(name): # return "Oj Hello " + name + "!!" # iface = gr.Interface(fn=greet, inputs="text", outputs="text") # iface.launch() def iris(sepal_length, sepal_width, petal_length, petal_width): print("Calling iris() function") # df = pd.DataFrame([[sepal_length],[sepal_width],[petal_length],[petal_width]], df = pd.DataFrame([[sepal_length, sepal_width, petal_length, petal_width]], columns=['sepal_length', 'sepal_width', 'petal_length', 'petal_width']) print("Predicting...") print(df) # 'res' is a list of predictions returned as the label. res = model.predict(df) # We add '[0]' to the result of the transformed 'res', because 'res' is a list, and we only want # the first element. # print("Res: {0}").format(res) print(res) 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 print("Logging in to Hopsworks...") project = hopsworks.login() print("Getting feature store...") fs = project.get_feature_store() print("Getting model registry...") mr = project.get_model_registry() print("Getting model: ...") model = mr.get_model("iris_model", version=1) print("Downloading model...") model_dir = model.download() print("Initializing model locally...") model = joblib.load(model_dir + "/iris_model.pkl") print("Gradio version:", gr.__version__) print("Configuring gradio interface...") # demo = gr.Interface( # fn=iris, # title="Iris Flower Predictive Analytics", # description="Experiment with sepal/petal lengths/widths to predict which flower it is.", # allow_flagging="never", # inputs=[ # gr.inputs.Number(default=2.0, label="sepal length (cm)"), # gr.inputs.Number(default=1.0, label="sepal width (cm)"), # gr.inputs.Number(default=2.0, label="petal length (cm)"), # gr.inputs.Number(default=1.0, label="petal width (cm)"), # ], # outputs=gr.Image(type="pil")) demo = gr.Interface( fn=iris, title="Iris Flower Predictive Analytics", description="Experiment with sepal/petal lengths/widths to predict which flower it is.", inputs=[ gr.Number(label="sepal length (cm)", value=2.0), gr.Number(label="sepal width (cm)", value=1.0), gr.Number(label="petal length (cm)", value=2.0), gr.Number(label="petal width (cm)", value=1.0) ], outputs=gr.Image(type="pil"), ) print("Launching gradio...") demo.launch(debug=True) """ Logging in to Hopsworks... Connected. Call `.close()` to terminate connection gracefully. Logged in to project, explore it here https://c.app.hopsworks.ai:443/p/201877 Getting feature store... Connected. Call `.close()` to terminate connection gracefully. Getting model registry... Connected. Call `.close()` to terminate connection gracefully. Getting model: ... Downloading model... Downloading file ... Initializing model locally... Gradio version: 4.1.2 Configuring gradio interface... Traceback (most recent call last): File "/home/user/app/app.py", line 62, in gr.inputs.Number(default=2.0, label="sepal length (cm)"), AttributeError: module 'gradio' has no attribute 'inputs """