Alejo1296 commited on
Commit
19dd6f3
·
verified ·
1 Parent(s): 1b8385b

Upload 7 files

Browse files
.gitattributes CHANGED
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ dog-photo-3.png filter=lfs diff=lfs merge=lfs -text
app.py ADDED
@@ -0,0 +1,74 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ import tensorflow as tf
3
+
4
+ # Load model
5
+ model_save_path = "dog_vision_model.h5"
6
+ loaded_model_for_demo = tf.keras.models.load_model(model_save_path)
7
+
8
+ # Load labels
9
+ with open("stanford_dogs_class_names.txt", "r") as f:
10
+ class_names = [line.strip() for line in f.readlines()]
11
+
12
+ # Create prediction function
13
+ def pred_on_custom_image(image, # input image (preprocessed by Gradio's Image input to be numpy.array)
14
+ model: tf.keras.Model =loaded_model_for_demo, # Trained TensorFlow model for prediction
15
+ target_size: int = 224, # Desired size of the image for input to the model
16
+ class_names: list = class_names): # List of class names
17
+ """
18
+ Loads an image, preprocesses it, makes a prediction using a provided model,
19
+ and returns a dictionary of prediction probabilities per class name.
20
+
21
+ Args:
22
+ image: Input image.
23
+ model: Trained TensorFlow model for prediction.
24
+ target_size (int, optional): Desired size of the image for input to the model. Defaults to 224.
25
+ class_names (list, optional): List of class names for plotting. Defaults to None.
26
+
27
+ Returns:
28
+ Dict[str: float]: A dictionary of string class names and their respective prediction probability.
29
+ """
30
+
31
+ # Note: gradio.inputs.Image handles opening the image
32
+ # # Prepare and load image
33
+ # custom_image = tf.keras.utils.load_img(
34
+ # path=image_path,
35
+ # color_mode="rgb",
36
+ # target_size=target_size,
37
+ # )
38
+
39
+ # Create resizing layer to resize the image
40
+ resize = tf.keras.layers.Resizing(height=target_size,
41
+ width=target_size)
42
+
43
+ # Turn the image into a tensor and resize it
44
+ custom_image_tensor = resize(tf.keras.utils.img_to_array(image))
45
+
46
+ # Add a batch dimension to the target tensor (e.g. (224, 224, 3) -> (1, 224, 224, 3))
47
+ custom_image_tensor = tf.expand_dims(custom_image_tensor, axis=0)
48
+
49
+ # Make a prediction with the target model
50
+ pred_probs = model.predict(custom_image_tensor)[0]
51
+
52
+ # Predictions get returned as a dictionary of {label: pred_prob}
53
+ pred_probs_dict = {class_names[i]: float(pred_probs[i]) for i in range(len(class_names))}
54
+
55
+ return pred_probs_dict
56
+
57
+ # Create Gradio interface
58
+ interface_title = "Dog Vision 🐶"
59
+ interface_description = """
60
+ Identify different dog's breeds in images with Deep Learning. Model trained with TensorFlow/Keras.
61
+
62
+ ## Links
63
+
64
+ * Original dataset: http://vision.stanford.edu/aditya86/ImageNetDogs/
65
+ """
66
+ interface = gr.Interface(fn=pred_on_custom_image,
67
+ inputs=gr.Image(),
68
+ outputs=gr.Label(num_top_classes=3),
69
+ examples=["dog-photo-1.jpeg",
70
+ "dog-photo-2.jpeg",
71
+ "dog-photo-3.jpg"],
72
+ title=interface_title,
73
+ description=interface_description)
74
+ interface.launch(debug=True)
dog-photo-1.jpg ADDED
dog-photo-2.jpg ADDED
dog-photo-3.png ADDED

Git LFS Details

  • SHA256: 735fe84b08a036da5a248b4d71de8918c87d15cebef2e652917f1345dd716dfa
  • Pointer size: 132 Bytes
  • Size of remote file: 3.2 MB
dog_vision_model.h5 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a34d2636e20596a4fcf23bcc00315d81af01ab87fde43bbf8e7bf249b7d4f2f5
3
+ size 23434684
requirements.txt ADDED
@@ -0,0 +1 @@
 
 
1
+ tensorflow==2.15.0
stanford_dogs_class_names.txt ADDED
@@ -0,0 +1,120 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ affenpinscher
2
+ afghan_hound
3
+ african_hunting_dog
4
+ airedale
5
+ american_staffordshire_terrier
6
+ appenzeller
7
+ australian_terrier
8
+ basenji
9
+ basset
10
+ beagle
11
+ bedlington_terrier
12
+ bernese_mountain_dog
13
+ black_and_tan_coonhound
14
+ blenheim_spaniel
15
+ bloodhound
16
+ bluetick
17
+ border_collie
18
+ border_terrier
19
+ borzoi
20
+ boston_bull
21
+ bouvier_des_flandres
22
+ boxer
23
+ brabancon_griffon
24
+ briard
25
+ brittany_spaniel
26
+ bull_mastiff
27
+ cairn
28
+ cardigan
29
+ chesapeake_bay_retriever
30
+ chihuahua
31
+ chow
32
+ clumber
33
+ cocker_spaniel
34
+ collie
35
+ curly_coated_retriever
36
+ dandie_dinmont
37
+ dhole
38
+ dingo
39
+ doberman
40
+ english_foxhound
41
+ english_setter
42
+ english_springer
43
+ entlebucher
44
+ eskimo_dog
45
+ flat_coated_retriever
46
+ french_bulldog
47
+ german_shepherd
48
+ german_short_haired_pointer
49
+ giant_schnauzer
50
+ golden_retriever
51
+ gordon_setter
52
+ great_dane
53
+ great_pyrenees
54
+ greater_swiss_mountain_dog
55
+ groenendael
56
+ ibizan_hound
57
+ irish_setter
58
+ irish_terrier
59
+ irish_water_spaniel
60
+ irish_wolfhound
61
+ italian_greyhound
62
+ japanese_spaniel
63
+ keeshond
64
+ kelpie
65
+ kerry_blue_terrier
66
+ komondor
67
+ kuvasz
68
+ labrador_retriever
69
+ lakeland_terrier
70
+ leonberg
71
+ lhasa
72
+ malamute
73
+ malinois
74
+ maltese_dog
75
+ mexican_hairless
76
+ miniature_pinscher
77
+ miniature_poodle
78
+ miniature_schnauzer
79
+ newfoundland
80
+ norfolk_terrier
81
+ norwegian_elkhound
82
+ norwich_terrier
83
+ old_english_sheepdog
84
+ otterhound
85
+ papillon
86
+ pekinese
87
+ pembroke
88
+ pomeranian
89
+ pug
90
+ redbone
91
+ rhodesian_ridgeback
92
+ rottweiler
93
+ saint_bernard
94
+ saluki
95
+ samoyed
96
+ schipperke
97
+ scotch_terrier
98
+ scottish_deerhound
99
+ sealyham_terrier
100
+ shetland_sheepdog
101
+ shih_tzu
102
+ siberian_husky
103
+ silky_terrier
104
+ soft_coated_wheaten_terrier
105
+ staffordshire_bullterrier
106
+ standard_poodle
107
+ standard_schnauzer
108
+ sussex_spaniel
109
+ tibetan_mastiff
110
+ tibetan_terrier
111
+ toy_poodle
112
+ toy_terrier
113
+ vizsla
114
+ walker_hound
115
+ weimaraner
116
+ welsh_springer_spaniel
117
+ west_highland_white_terrier
118
+ whippet
119
+ wire_haired_fox_terrier
120
+ yorkshire_terrier