__all__ = ['install', 'learn', 'categories', 'classify_image', 'image', 'label', 'examples', 'intf'] # Kept getting "No module named 'fastai'" from huggingface..workaround: # https://stackoverflow.com/a/50255019 import subprocess import sys def install(package): subprocess.check_call([sys.executable, "-m", "pip", "install", package]) install("fastai") from fastai.vision.all import * #from fast.ai.vision.all import * import gradio as gr # def greet(name): # return "Hello " + name + "!!" # iface = gr.Interface(fn=greet, inputs="text", outputs="text") # iface.launch() # from: # https://course.fast.ai/Lessons/lesson2.html # https://github.com/fastai/fastbook/blob/master/02_production.ipynb #learn_inf = load_learner(path/'export.pkl') #learn_inf.predict('images/grizzly.jpg') #learn_inf.dls.vocab # model created from: https://www.kaggle.com/code/zachwormgoor/stock-photo-recognizer learn = load_learner('model.pkl') categories = ('amateur', 'stock') #may have categories swapped? #add probs to UI somewhere def classify_image(img): pred,idx,probs = learn.predict(img) return dict(zip(categories, map(float,probs))) image = gr.inputs.Image(shape=(192, 192)) label = gr.outputs.Label() examples = ['stock.jpg', 'stock-easy.jpg', 'stock-easy2.jpg', 'amateur.jpg', 'amateur-easy.jpg', 'amateur-easy2.jpg', 'unsure.jpg'] # stock: https://image.shutterstock.com/image-photo/industrial-interior-storage-tank-rusty-260nw-132762554.jpg # amateur: https://cimg3.ibsrv.net/cimg/www.honda-tech.com/1024x768_85/479/AAApril-2-Control-Arms-01-58479.jpg # unsure: https://en.wikipedia.org/wiki/Joshua_Bean intf = gr.Interface(fn=classify_image, inputs=image, outputs=label, examples=examples) intf.launch(inline=False)