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