File size: 2,215 Bytes
4cfee44 64157b7 f59b209 64157b7 4cfee44 f59b209 4cfee44 f59b209 4cfee44 22b9a98 4cfee44 f59b209 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
import gradio as gr
from fastai.vision.all import *
import skimage
import pathlib
import pandas as pd
plt = platform.system()
if plt == 'Linux': pathlib.WindowsPath = pathlib.PosixPath
# learn = load_learner('export.pkl')
# labels = learn.dls.vocab
# def predict(img):
# img = PILImage.create(img)
# pred,pred_idx,probs = learn.predict(img)
# return {labels[i]: float(probs[i]) for i in range(len(labels))}
title = "Face condition Analyzer"
description = "A face condition detector trained on the custom dataset with fastai. Created using Gradio and HuggingFace Spaces."
examples = [['harmonal_acne.jpg'],['forehead_wrinkles.jpg'],['oily_skin.jpg']]
enable_queue=True
# gr.Interface(fn=predict,inputs=gr.inputs.Image(shape=(512, 512)),outputs=gr.outputs.Label(num_top_classes=3),title=title,
# description=description,examples=examples,enable_queue=enable_queue).launch()
with gr.Blocks(title=title,description=description,examples=examples,enable_queue=enable_queue) as demo:
learn = load_learner('export.pkl')
labels = learn.dls.vocab
def predict(img):
img = PILImage.create(img)
pred,pred_idx,probs = learn.predict(img)
return {labels[i]: float(probs[i]) for i in range(len(labels))}
gr.Markdown("# Face Skin Analyzer")
gr.Markdown("A face condition detector trained on the custom dataset with fastai. Created using Gradio and HuggingFace Spaces. Kindly upload a photo of your face.")
with gr.Row():
inputs = gr.inputs.Image(shape=(512, 512))
outputs = gr.outputs.Label(num_top_classes=3)
btn = gr.Button("Predict")
btn.click(fn=predict, inputs=inputs, outputs=outputs)
df=pd.read_excel("recommendation.xlsx")
classes = df['class'].unique()
with gr.Accordion("Find your skin condition using above analyzer and see the Recommended solutions",open=False):
for c in classes:
with gr.Accordion(c,open=False):
df_temp = df[df['class']==c]
for i,current_row in df_temp.iterrows():
html_box = gr.HTML("<span><a href='{}'><img src ='{}'></a></span>".format(current_row['profit_link'],current_row['product_image']))
demo.launch() |