Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| from fastai.vision.all import * | |
| # MODELS_PATH = Path('./models') | |
| # EXAMPLES_PATH = Path('./examples') | |
| # Required function expected by fastai learn object | |
| # it wasn't exported as a part of the pickle | |
| # as it was defined externally to the learner object | |
| # during the training time dataloaders setup | |
| # def label_func(filepath): | |
| # return filepath.parent.name | |
| LEARN = load_learner('Garbage_Classification.pkl') | |
| # LEARN = load_learner('Garbage_Classification (1).pkl') | |
| LABELS = LEARN.dls.vocab | |
| def gradio_predict(img): | |
| img = img.resize((512, 512)) | |
| # img = PILImage.create(img) | |
| pred, pred_idx, probs = LEARN.predict(img) | |
| return dict(zip(LABELS, map(float,probs))) | |
| # with open('gradio_article.md') as f: | |
| # article = f.read() | |
| # interface_options = { | |
| # "title": "Food Image Classifier (Food-101|ResNet50|fast.ai)", | |
| # "description": "", | |
| # "article": article, | |
| # "examples" : [f'{EXAMPLES_PATH}/{f.name}' for f in EXAMPLES_PATH.iterdir()], | |
| # "layout": "horizontal", | |
| # "theme": "default", | |
| # } | |
| image = gr.Image(type="pil", label="Upload an image") | |
| label = gr.Label() | |
| examples = ['battery.jpg', 'biological.jpg', 'cardboard.jpg'] | |
| intf = gr.Interface(fn=gradio_predict, inputs=image, outputs=label, examples=examples) | |
| intf.launch(inline=False) | |
| # demo = gr.Interface(fn=gradio_predict, | |
| # inputs=gradio.Image(type="pil", label="Upload an image"), | |
| # outputs=gradio.outputs.Label(num_top_classes=5), | |
| # **interface_options) | |
| # launch_options = { | |
| # "enable_queue": True, | |
| # "share": False, | |
| # } | |
| # demo.launch(**launch_options) | |