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()