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("".format(current_row['profit_link'],current_row['product_image'])) demo.launch()