lucifertrj's picture
fix outputs
c279238
import gradio as gr
from collections import OrderedDict
import numpy as np
from huggingface_hub import from_pretrained_keras
def predict(
age,workclass,fnlwgt,education,education_num,marital_status,occupation,relationship,
race,gender,capital_gain,capital_loss,hours_per_week,native_country
):
user_data = {}
user_data['age'] = np.array([age],dtype=np.float32)
user_data['workclass'] = np.array([f'{workclass}'],dtype="object")
user_data['fnlwgt'] = np.array([fnlwgt],dtype=np.float32)
user_data['education'] = np.array([f'{education}'],dtype="object")
user_data['education_num'] = np.array([education_num],dtype=np.float32)
user_data['marital_status'] = np.array([f'{marital_status}'],dtype="object")
user_data['occupation'] = np.array([f'{occupation}'],dtype="object")
user_data['relationship'] = np.array([f'{relationship}'],dtype="object")
user_data['race'] = np.array([f'{race}'],dtype="object")
user_data['gender'] = np.array([f'{gender}'],dtype="object")
user_data['capital_gain'] = np.array([capital_gain],dtype=np.float32)
user_data['capital_loss'] = np.array([capital_loss],dtype=np.float32)
user_data['hours_per_week'] = np.array([hours_per_week],dtype=np.float32)
user_data['native_country'] = np.array([f'{native_country}'],dtype="object")
test_user_data = OrderedDict(user_data)
model = from_pretrained_keras("keras-io/neural-decision-forest")
pred = model.predict(test_user_data)
pred = np.argmax(pred,axis=1)
return f"Outcome: {pred}"
work_class_list = [' Self-emp-not-inc', ' Private', ' State-gov', ' Federal-gov',' Local-gov', ' ?', ' Self-emp-inc', ' Without-pay',' Never-worked']
education_list = [' Bachelors', ' HS-grad', ' 11th', ' Masters', ' 9th',' Some-college', ' Assoc-acdm', ' Assoc-voc', ' 7th-8th',' Doctorate', ' Prof-school', ' 5th-6th', ' 10th', ' 1st-4th',' Preschool', ' 12th']
martial_list = [' Married-civ-spouse',' Divorced',' Married-spouse-absent',' Never-married',' Separated',' Married-AF-spouse',' Widowed']
race_list = [' White',' Black',' Asian-Pac-Islander',' Amer-Indian-Eskimo',' Other']
relation_list = [' Husband',' Not-in-family',' Wife',' Own-child',' Unmarried',' Other-relative']
occupation_list = [' Exec-managerial',' Handlers-cleaners',' Prof-specialty',' Other-service',' Adm-clerical',' Sales',' Craft-repair',' Transport-moving',' Farming-fishing',' Machine-op-inspct',' Tech-support',' ?',' Protective-serv',' Armed-Forces',' Priv-house-serv']
countries = [' United-States',' Cuba',' Jamaica',' India',' Mexico',' South',' Puerto-Rico',' Honduras',' England',' Canada',' Germany',' Iran',' Philippines',' Italy',' Poland',' Columbia',' Cambodia',' Thailand',' Ecuador',' Laos',' Taiwan',' Haiti',' Portugal',' Dominican-Republic',' El-Salvador',' France',' Guatemala',' China',' Japan',' Yugoslavia',' Peru',' Outlying-US(Guam-USVI-etc)',' Scotland',' Trinadad&Tobago',' Greece',' Nicaragua',' Vietnam',' Hong',' Ireland',' Hungary',' Holand-Netherlands']
title = "Deep Neural Decision Forest"
description = "This example uses the United States Census Income Dataset provided by the UC Irvine Machine Learning Repository. The task is binary classification to predict whether a person is likely to be making over USD 50,000 a year."
article = """<p style='text-align: center'>
<a href='https://keras.io/examples/structured_data/deep_neural_decision_forests/' target='_blank'>Keras Example given by Khalid Salama</a>
<br/>
<a href="https://huggingface.co/lucifertrj">Space by @lucifertrj</a>
</p>
"""
demo = gr.Interface(
predict,
[
gr.Slider(12, 85, value=1),
gr.Dropdown(work_class_list),
gr.Slider(1260, 12225, value=200),
gr.Dropdown(education_list),
gr.Slider(1, 16, value=2),
gr.Dropdown(martial_list),
gr.Dropdown(occupation_list),
gr.Dropdown(relation_list),
gr.Dropdown(race_list),
gr.Dropdown([' Male',' Female']),
gr.Slider(0, 10000, value=100),
gr.Slider(0, 4500, value=75),
gr.Slider(1, 100, value=2),
gr.Dropdown(countries),
],
outputs = "text",
title = title,
description = description,
article = article,
examples=
[
[35,' Private',5000,' Masters',8,' Divorced',' Tech-support',' Husband',' White',' Male',6000,0,40,' Germany'],
[27,' Self-emp-inc',2400,' Bachelors',6,' Separated',' Prof-specialty',' Wife',' Amer-Indian-Eskimo',' Female',4000,1050,32,' England'],
]
)
if __name__ == "__main__":
demo.launch()