File size: 1,226 Bytes
1361040
 
 
 
90ff4ab
 
1361040
a058b69
 
 
1361040
 
 
 
a058b69
 
 
1361040
 
 
 
 
 
82dd379
 
 
 
1361040
 
 
 
 
82dd379
 
 
1361040
 
 
 
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
import gradio as gr
from transformers import AutoTokenizer
import torch
from fastai.text.all import *
from blurr.text.data.all import *
from blurr.text.modeling.all import *

# Define the path to your model and dataloaders
model_path = "origin-classifier-stage-2.pkl"
dls_path = "dls_origin-classifier_v1.pkl"

# Load the learner
learner_inf = load_learner(model_path)

# Load the DataLoaders
dls = torch.load(dls_path)

# Create a mapping from class labels to indices
class_label_mapping = {label: idx for idx, label in enumerate(learner_inf.dls.vocab)}

# Define a function to make predictions
def predict_text(text):
    prediction = learner_inf.blurr_predict(text)[0]
    predicted_probs = prediction['probs']
    top_5_indices = predicted_probs.argsort(descending=True)[:5]
    top_5_labels = [list(class_label_mapping.keys())[list(class_label_mapping.values()).index(idx)] for idx in top_5_indices]
    return top_5_labels

# Create a Gradio interface
iface = gr.Interface(
    fn=predict_text,
    inputs="text",
    outputs=gr.outputs.Label(num_top_classes=5),
    title="Food Origin Classification App",
    description="Enter a Recipe, and it will predict the class label.",
)

# Start the Gradio app
iface.launch()