Spaces:
Running
Running
import gradio as gr | |
from fastai.vision.all import load_learner | |
from fastai import * | |
import torch | |
import os | |
from PIL import Image | |
import pandas as pd | |
model_path = 'multi_target_resnet34.pkl' | |
helper_csv = 'info.csv' | |
df = pd.read_csv(helper_csv) | |
model = load_learner(model_path) | |
def result(path): | |
pred,_,probability = model.predict(path) | |
arr = ['Species','Scientific_Name','Name','Conservation_Status','Color','habitat','Found_In','Diet'] | |
vals = ['','','','','','','',''] | |
# pred = ['Acrantophis madagascariensis', 'Carnivore', 'Critically Endangered', 'Forest', 'Gray', 'Madagascar', 'Madagascar ground boa ', 'Snake'] | |
for x in pred: | |
val = df[df['values'] == x]['columns'].values[0] | |
ind = arr.index(val) | |
vals[ind] = x | |
return f'{arr[0]}:\t{vals[0]}\n{arr[1]}:\t{vals[1]}\n{arr[2]}:\t{vals[2]}\n{arr[3]}:\t{vals[3]}\n{arr[4]}:\t{vals[4]}\n{arr[5]}:\t{vals[5]}\n{arr[6]}:\t{vals[6]}\n{arr[7]}:\t{vals[7]}\n' | |
path = 'test images/' | |
image_path = [] | |
for i in os.listdir(path): | |
image_path.append(path+i) | |
image = gr.inputs.Image(shape =(300,300)) | |
label = gr.outputs.Label() | |
iface = gr.Interface(fn=result, inputs=image, outputs='text', examples = image_path) | |
iface.launch(inline = False) | |