Spaces:
Build error
Build error
Erik Kenkel
commited on
Commit
·
c306ea0
1
Parent(s):
c0374d5
updated gradio and compatibility with image types
Browse files- app.py +14 -6
- requirements.txt +4 -2
app.py
CHANGED
@@ -1,11 +1,16 @@
|
|
1 |
from fastai.vision.all import load_learner
|
|
|
2 |
import gradio as gr
|
3 |
-
|
|
|
|
|
|
|
|
|
4 |
|
5 |
# For the posix path error: when you train your model on colab/gradient and download it, then do inference on Windows.
|
6 |
# Redirect PosixPath to WindowsPath:
|
7 |
-
|
8 |
-
|
9 |
|
10 |
|
11 |
# Data below sourced from:
|
@@ -14,12 +19,15 @@ import gradio as gr
|
|
14 |
dog_breeds = tuple(['affenpinscher', 'afghan hound', 'african', 'airedale', 'akita', 'american terrier', 'appenzeller', 'australian cattledog', 'australian terrier', 'basenji', 'basset hound', 'beagle', 'bedlington terrier', 'bernese mountain', 'bichon frise', 'blenheim spaniel', 'blood hound', 'bluetick', 'border collie', 'border terrier', 'borzoi', 'boston bulldog', 'bouvier', 'boxer', 'brabancon', 'briard', 'brittany spaniel', 'bull mastiff', 'cairn terrier', 'cardigan corgi', 'caucasian ovcharka', 'cavapoo', 'chesapeake retriever', 'chihuahua', 'chow', 'clumber', 'cockapoo', 'cocker spaniel', 'coonhound', 'cotondetulear', 'curly retriever', 'dachshund', 'dalmatian', 'dandie terrier', 'dhole', 'dingo', 'doberman', 'english bulldog', 'english hound', 'english mastiff', 'english setter', 'english sheepdog', 'english springer', 'entlebucher', 'eskimo', 'flatcoated retriever', 'fox terrier', 'french bulldog', 'german pointer', 'germanlonghair pointer', 'germanshepherd', 'giant schnauzer', 'golden retriever', 'gordon setter', 'great dane', 'groenendael', 'havanese', 'husky', 'ibizan hound', 'irish setter', 'irish spaniel', 'irish terrier', 'irish wolfhound', 'italian greyhound', 'italian segugio', 'japanese spaniel', 'japanese spitz', 'keeshond', 'kelpie', 'kerryblue terrier', 'komondor', 'kuvasz', 'labradoodle', 'labrador', 'lakeland terrier', 'lapphund finnish', 'leonberg', 'lhasa', 'malamute', 'malinois', 'maltese', 'medium poodle', 'mexicanhairless', 'miniature pinscher', 'miniature poodle', 'miniature schnauzer', 'mix', 'newfoundland', 'norfolk terrier', 'norwegian buhund', 'norwegian elkhound', 'norwich terrier', 'otterhound', 'papillon', 'patterdale terrier', 'pekinese', 'pembroke', 'pitbull', 'plott hound', 'pomeranian', 'pug', 'puggle', 'pyrenees', 'redbone', 'rhodesian ridgeback', 'rottweiler', 'russell terrier', 'saluki', 'samoyed', 'schipperke', 'scottish deerhound', 'scottish terrier', 'sealyham terrier', 'sharpei', 'shepherd australian', 'shetland sheepdog', 'shiba', 'shihtzu', 'silky terrier', 'spanish waterdog', 'staffordshire bullterrier', 'standard poodle', 'stbernard', 'sussex spaniel', 'swiss mountain', 'tervuren', 'tibetan mastiff', 'tibetan terrier', 'toy poodle', 'toy terrier', 'vizsla', 'walker hound', 'weimaraner', 'welsh spaniel', 'welsh terrier', 'westhighland terrier', 'wheaten terrier', 'whippet', 'yorkshire terrier'])
|
15 |
|
16 |
def classify_image(img):
|
17 |
-
|
18 |
-
|
|
|
|
|
|
|
19 |
|
20 |
learn = load_learner('dogIdentifierModel.pkl')
|
21 |
|
22 |
-
image = gr.components.Image(
|
23 |
label = gr.components.Label()
|
24 |
examples = ['golden-retriever.jpg', 'german-shepherd.jpg', 'doberman.jpg', 'husky.jpg']
|
25 |
|
|
|
1 |
from fastai.vision.all import load_learner
|
2 |
+
from PIL import Image
|
3 |
import gradio as gr
|
4 |
+
import pathlib
|
5 |
+
from pillow_heif import register_heif_opener
|
6 |
+
import pillow_avif
|
7 |
+
|
8 |
+
register_heif_opener()
|
9 |
|
10 |
# For the posix path error: when you train your model on colab/gradient and download it, then do inference on Windows.
|
11 |
# Redirect PosixPath to WindowsPath:
|
12 |
+
temp = pathlib.PosixPath
|
13 |
+
pathlib.PosixPath = pathlib.WindowsPath
|
14 |
|
15 |
|
16 |
# Data below sourced from:
|
|
|
19 |
dog_breeds = tuple(['affenpinscher', 'afghan hound', 'african', 'airedale', 'akita', 'american terrier', 'appenzeller', 'australian cattledog', 'australian terrier', 'basenji', 'basset hound', 'beagle', 'bedlington terrier', 'bernese mountain', 'bichon frise', 'blenheim spaniel', 'blood hound', 'bluetick', 'border collie', 'border terrier', 'borzoi', 'boston bulldog', 'bouvier', 'boxer', 'brabancon', 'briard', 'brittany spaniel', 'bull mastiff', 'cairn terrier', 'cardigan corgi', 'caucasian ovcharka', 'cavapoo', 'chesapeake retriever', 'chihuahua', 'chow', 'clumber', 'cockapoo', 'cocker spaniel', 'coonhound', 'cotondetulear', 'curly retriever', 'dachshund', 'dalmatian', 'dandie terrier', 'dhole', 'dingo', 'doberman', 'english bulldog', 'english hound', 'english mastiff', 'english setter', 'english sheepdog', 'english springer', 'entlebucher', 'eskimo', 'flatcoated retriever', 'fox terrier', 'french bulldog', 'german pointer', 'germanlonghair pointer', 'germanshepherd', 'giant schnauzer', 'golden retriever', 'gordon setter', 'great dane', 'groenendael', 'havanese', 'husky', 'ibizan hound', 'irish setter', 'irish spaniel', 'irish terrier', 'irish wolfhound', 'italian greyhound', 'italian segugio', 'japanese spaniel', 'japanese spitz', 'keeshond', 'kelpie', 'kerryblue terrier', 'komondor', 'kuvasz', 'labradoodle', 'labrador', 'lakeland terrier', 'lapphund finnish', 'leonberg', 'lhasa', 'malamute', 'malinois', 'maltese', 'medium poodle', 'mexicanhairless', 'miniature pinscher', 'miniature poodle', 'miniature schnauzer', 'mix', 'newfoundland', 'norfolk terrier', 'norwegian buhund', 'norwegian elkhound', 'norwich terrier', 'otterhound', 'papillon', 'patterdale terrier', 'pekinese', 'pembroke', 'pitbull', 'plott hound', 'pomeranian', 'pug', 'puggle', 'pyrenees', 'redbone', 'rhodesian ridgeback', 'rottweiler', 'russell terrier', 'saluki', 'samoyed', 'schipperke', 'scottish deerhound', 'scottish terrier', 'sealyham terrier', 'sharpei', 'shepherd australian', 'shetland sheepdog', 'shiba', 'shihtzu', 'silky terrier', 'spanish waterdog', 'staffordshire bullterrier', 'standard poodle', 'stbernard', 'sussex spaniel', 'swiss mountain', 'tervuren', 'tibetan mastiff', 'tibetan terrier', 'toy poodle', 'toy terrier', 'vizsla', 'walker hound', 'weimaraner', 'welsh spaniel', 'welsh terrier', 'westhighland terrier', 'wheaten terrier', 'whippet', 'yorkshire terrier'])
|
20 |
|
21 |
def classify_image(img):
|
22 |
+
try:
|
23 |
+
_, _, probs = learn.predict(img)
|
24 |
+
return dict(zip(dog_breeds, map(float, probs)))
|
25 |
+
except Exception as e:
|
26 |
+
raise gr.Error("Invalid Image Input Type")
|
27 |
|
28 |
learn = load_learner('dogIdentifierModel.pkl')
|
29 |
|
30 |
+
image = gr.components.Image(image_mode='RGB')
|
31 |
label = gr.components.Label()
|
32 |
examples = ['golden-retriever.jpg', 'german-shepherd.jpg', 'doberman.jpg', 'husky.jpg']
|
33 |
|
requirements.txt
CHANGED
@@ -2,8 +2,10 @@ matplotlib==3.5.2
|
|
2 |
timm==0.9.7
|
3 |
fastai==2.7.12
|
4 |
torch==2.0.0
|
5 |
-
gradio==
|
6 |
numpy==1.23.5
|
7 |
pandas==2.0.2
|
8 |
Pillow==9.2.0
|
9 |
-
uvicorn==0.18.2
|
|
|
|
|
|
2 |
timm==0.9.7
|
3 |
fastai==2.7.12
|
4 |
torch==2.0.0
|
5 |
+
gradio==4.1.1
|
6 |
numpy==1.23.5
|
7 |
pandas==2.0.2
|
8 |
Pillow==9.2.0
|
9 |
+
uvicorn==0.18.2
|
10 |
+
pillow-avif-plugin==1.4.1
|
11 |
+
pillow-heif==0.13.1
|