File size: 1,850 Bytes
4cfee44 64157b7 f59b209 64157b7 4cfee44 22b9a98 4cfee44 f59b209 53ee624 f59b209 53ee624 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 |
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
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
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=True):
for c in classes:
with gr.Accordion(c,open=False):
df_temp = df[df['class']==c]
with gr.Row():
for i,current_row in df_temp.iterrows():
with gr.Column():
html_box = gr.HTML("<a href='{}'><img src ='{}'></a>".format(current_row['profit_link'],current_row['product_image']))
demo.launch() |