# Hide - Connects voila to current notebook #!jupyter serverextension enable --sys-prefix voila # Voila runs jpnb but hides the code cells and only displays the output (including the ipywidgets) as well as the markdown cells. #import fastbook #fastbook.setup_book() from fastbook import * from fastai.vision.widgets import * # Load the model path = Path() path.ls(file_exts='.pkl') learn_inf = load_learner(path/'export.pkl') # Create a button widget btn_upload = widgets.FileUpload() btn_upload # Create a clear_output widget out_pl = widgets.Output() out_pl.clear_output() # Create a label widget lbl_pred = widgets.Label() # Create a run button widget btn_run = widgets.Button(description='Classify') btn_run # Function to classify the image def on_click_classify(change): img = PILImage.create(btn_upload.data[-1]) out_pl.clear_output() with out_pl: display(img.to_thumb(128,128)) pred,pred_idx,probs = learn_inf.predict(img) lbl_pred.value = f'Prediction: {pred}; Probability: {probs[pred_idx]:.04f}' btn_run.on_click(on_click_classify) # Create a Vertical Box (VBox) to hold the widgets btn_upload = widgets.FileUpload() VBox([widgets.Label('Select your forest!'), btn_upload, btn_run, out_pl, lbl_pred])