Spaces:
Runtime error
Runtime error
# AUTOGENERATED! DO NOT EDIT! File to edit: app.ipynb. | |
# %% auto 0 | |
__all__ = ['single_classifier', 'multi_class_classifier', 'multi_label_classifier', 'binary_labels', 'multi_class_labels', | |
'multi_label_labels', 'label_func', 'single_classification', 'multi_class_classification', | |
'multi_label_classification'] | |
# %% app.ipynb 1 | |
import gradio as gr | |
import nbdev | |
from fastai.vision.all import * | |
import os | |
# %% app.ipynb 2 | |
def label_func(f): return 'Cat' if f[0].isupper() else 'Dog' | |
# %% app.ipynb 3 | |
single_classifier = load_learner('models/dog-cat-classifier.pkl') | |
multi_class_classifier = load_learner('models/breeds-classifier.pkl') | |
multi_label_classifier = load_learner('models/multi-label-classification.pkl') | |
# %% app.ipynb 4 | |
binary_labels = single_classifier.dls.vocab | |
def single_classification(img): | |
img = PILImage.create(img) | |
pred, pred_idx, probs = single_classifier.predict(img) | |
return dict(zip(binary_labels, map(float, probs))) | |
# %% app.ipynb 5 | |
multi_class_labels = multi_class_classifier.dls.vocab | |
def multi_class_classification(img): | |
img = PILImage.create(img) | |
pred, pred_idx, probs = multi_class_classifier.predict(img) | |
return dict(zip(multi_class_labels, map(float, probs))) | |
# %% app.ipynb 6 | |
multi_label_labels = multi_label_classifier.dls.vocab | |
def multi_label_classification(img): | |
img = PILImage.create(img) | |
pred, pred_idx, probs = multi_label_classifier.predict(img) | |
return dict(zip(multi_label_labels, map(float, probs))) | |
# %% app.ipynb 7 | |
with gr.Blocks() as demo: | |
gr.Markdown("This demo allowing you to try different vision classification models - \ | |
From binary classification through multi-class and multi-label classification and finally segmentation.") | |
with gr.Tab("Binary"): | |
with gr.Row(): | |
with gr.Column(): | |
b_image_input = gr.inputs.Image(shape = (460,460)) | |
with gr.Row(): | |
b_button = gr.Button("Run") | |
b_examples = 'models/Examples/Pets' | |
examples = gr.Examples(examples=[b_examples + '/shiba_inu_44.jpg', b_examples + '/Bengal_132.jpg',], inputs = b_image_input) | |
binary_out = gr.Label(num_top_classes=len(binary_labels)) | |
with gr.Tab("MultiClass"): | |
with gr.Row(): | |
with gr.Column(): | |
m_image_input = gr.inputs.Image(shape = (460,460)) | |
with gr.Row(): | |
m_button = gr.Button("Run") | |
m_examples = 'models/Examples/Pets' | |
examples = gr.Examples(examples=[os.path.join(m_examples, s) for s in os.listdir(m_examples) if s.endswith('jpg')], inputs = m_image_input) | |
multi_out = gr.Label(num_top_classes=len(multi_class_labels)) | |
with gr.Tab("MultiLabel"): | |
with gr.Row(): | |
with gr.Column(): | |
ml_image_input = gr.inputs.Image(shape = (460,460)) | |
with gr.Row(): | |
ml_button = gr.Button("Run") | |
ml_examples = 'models/Examples/Pascal' | |
examples = gr.Examples(examples=[os.path.join(ml_examples, s) for s in os.listdir(ml_examples) if s.endswith('jpg')], inputs = ml_image_input) | |
multil_out = gr.Label(num_top_classes=len(multi_label_labels)) | |
b_button.click(single_classification, inputs=b_image_input, outputs=binary_out) | |
m_button.click(multi_class_classification, inputs=m_image_input, outputs=multi_out) | |
ml_button.click(multi_label_classification, inputs=ml_image_input, outputs=multil_out) | |
demo.launch() | |