Spaces:
Runtime error
Runtime error
| import gradio as gr | |
| from fastai.learner import load_learner | |
| import pathlib | |
| import platform | |
| plt = platform.system() | |
| if plt == 'Windows': pathlib.PosixPath=pathlib.WindowsPath | |
| from pathlib import Path | |
| import torch | |
| import torch.serialization | |
| def load_learner_safe(fname, map_location=None, pickle_module=None): | |
| # This is to ensure it does not attempt to instantiate a WindowsPath | |
| torch.serialization.add_safe_globals([Learner]) | |
| with open(fname, 'rb') as f: | |
| # Load the model manually using torch.load and avoid WindowsPath instantiation | |
| model_data = torch.load(f, map_location=map_location, pickle_module=pickle_module,weights_only=True) | |
| return model_data | |
| # Use this safe method to load the learner model | |
| path_to_model=Path('export.pkl') | |
| model_data=load_learner_safe(path_to_model) | |
| learn = Learner(data, model=model_data['model'], loss_func=model_data['loss_func'], metrics=model_data['metrics']) | |
| # %% Untitled.ipynb 3 | |
| def predict(img): | |
| labels=learn.dls.vocab | |
| img=PILImage.create(img) | |
| pred,pred_idx,probs=learn.predict(img) | |
| return {labels[i]:float(probs[i]) for i in range (len(labels))} | |
| # %% Untitled.ipynb 5 | |
| learn = load_learner_safe('export.pkl') | |
| # %% Untitled.ipynb 8 | |
| examples = ["covid-19.jpg", "normal.jpg", "viral pneumonia.jpg"] | |
| intf = gr.Interface( | |
| fn=predict, | |
| inputs=gr.Image(type="numpy", label="Upload an Image (256x256)"), | |
| outputs=gr.Label(label="Prediction"), | |
| examples=examples | |
| ) | |
| intf.launch(inline=False) | |