| from fastai.vision.all import * | |
| import gradio as gr | |
| learn = load_learner('model.pkl') | |
| categories = ['abraham_grampa_simpson', 'agnes_skinner', 'apu_nahasapeemapetilon', 'barney_gumble', | |
| 'bart_simpson', 'carl_carlson', 'charles_montgomery_burns', 'chief_wiggum', | |
| 'cletus_spuckler', 'comic_book_guy', 'disco_stu', 'edna_krabappel', 'fat_tony', | |
| 'gil', 'groundskeeper_willie', 'homer_simpson', 'kent_brockman', 'krusty_the_clown', | |
| 'lenny_leonard', 'lionel_hutz', 'lisa_simpson', 'maggie_simpson', 'marge_simpson', | |
| 'martin_prince', 'mayor_quimby', 'milhouse_van_houten', 'miss_hoover', 'moe_szyslak', | |
| 'ned_flanders', 'nelson_muntz', 'otto_mann', 'patty_bouvier', 'principal_skinner', | |
| 'professor_john_frink', 'rainier_wolfcastle', 'ralph_wiggum', 'selma_bouvier', | |
| 'sideshow_bob', 'sideshow_mel', 'snake_jailbird', 'troy_mcclure', 'waylon_smithers'] | |
| def classify_image(img): | |
| pred, idx, probs = learn.predict(img) | |
| return {cat: float(prob) for cat, prob in zip(categories, probs)} | |
| demo = gr.Interface( | |
| fn=classify_image, | |
| inputs=gr.Image(), | |
| outputs=gr.Label(), | |
| examples=[ | |
| 'ednar.jpg', | |
| 'maggie.jpg', | |
| 'bart.jpg' | |
| ] | |
| ) | |
| demo.launch() |