Spaces:
Sleeping
Sleeping
| __all__ = [ | |
| 'learn', 'classify_image', 'categories', 'image', 'label', 'examples', 'intf' | |
| ] | |
| from fastai.vision.all import * | |
| import gradio as gr | |
| import timm # keep only if your model actually needs timm | |
| def is_real(x): | |
| # Recreate the original function used during training | |
| # Example: return x > 0.5 or whatever logic you had | |
| pass # Replace with actual logic | |
| # β Load the fastai model properly β no manual pickle.load() | |
| learn = load_learner('model.pkl', cpu=True) | |
| # Define your categories exactly as trained | |
| categories = ('Virtual Staging', 'Real') | |
| # Prediction function for Gradio | |
| def classify_image(img): | |
| pred, idx, probs = learn.predict(img) | |
| # Cast to float so Gradio handles them cleanly | |
| return dict(zip(categories, map(float, probs))) | |
| # Gradio UI components | |
| image = gr.inputs.Image(shape=(192, 192)) | |
| label = gr.outputs.Label() | |
| examples = ['virtual.jpg', 'real.jpg'] # sample files in your Space | |
| # Create and launch interface | |
| intf = gr.Interface( | |
| fn=classify_image, | |
| inputs=image, | |
| outputs=label, | |
| examples=examples, | |
| share=True | |
| ) | |
| if __name__ == "__main__": | |
| intf.launch() | |