JJjdjka commited on
Commit
72c5802
1 Parent(s): 804b928

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +41 -42
app.py CHANGED
@@ -1,43 +1,42 @@
1
- import gradio as gr
2
- import tensorflow as tf
3
- print(tf.__version__)
4
- import numpy as np
5
- from PIL import Image
6
-
7
- model_path = "pokemon_transferlearning.keras"
8
- model = tf.keras.models.load_model(model_path)
9
-
10
- # Define the core prediction function
11
- def predict_pokemon(image):
12
- # Preprocess image
13
- print(type(image))
14
- image = Image.fromarray(image.astype('uint8')) # Convert numpy array to PIL image
15
- image = image.resize((150, 150)) #resize the image to 28x28 and converts it to gray scale
16
- image = np.array(image)
17
- image = np.expand_dims(image, axis=0) # same as image[None, ...]
18
-
19
- # Predict
20
- prediction = model.predict(image)
21
-
22
- # No need to apply sigmoid, as the output layer already uses softmax
23
- # Convert the probabilities to rounded values
24
- prediction = np.round(prediction, 2)
25
-
26
- # Separate the probabilities for each class
27
- p_charmander = prediction[0][0] # Probability for class 'charmander'
28
- p_mewto = prediction[0][1] # Probability for class 'mewto'
29
- p_squirtle = prediction[0][2] # Probability for class 'squirtle'
30
-
31
- return {'charmander': p_charmander, 'mewto': p_mewto, 'squirtle': p_squirtle}
32
-
33
-
34
- # Create the Gradio interface
35
- input_image = gr.Image()
36
- iface = gr.Interface(
37
- fn=predict_pokemon,
38
- inputs=input_image,
39
- outputs=gr.Label(),
40
- examples=["images/charmander1.png", "images/charmander2.png", "images/charmander3.jpg", "images/mewto.jpg", "images/mewto2.jpg", "images/mewto4.png", "images/squirtle1.png", "images/squirtle2.jpg", "images/squirtle3.jpg"],
41
- description="TEST.")
42
-
43
  iface.launch()
 
1
+ import gradio as gr
2
+ import tensorflow as tf
3
+ import numpy as np
4
+ from PIL import Image
5
+
6
+ model_path = "pokemon_transferlearning.keras"
7
+ model = tf.keras.models.load_model(model_path)
8
+
9
+ # Define the core prediction function
10
+ def predict_pokemon(image):
11
+ # Preprocess image
12
+ print(type(image))
13
+ image = Image.fromarray(image.astype('uint8')) # Convert numpy array to PIL image
14
+ image = image.resize((150, 150)) #resize the image to 28x28 and converts it to gray scale
15
+ image = np.array(image)
16
+ image = np.expand_dims(image, axis=0) # same as image[None, ...]
17
+
18
+ # Predict
19
+ prediction = model.predict(image)
20
+
21
+ # No need to apply sigmoid, as the output layer already uses softmax
22
+ # Convert the probabilities to rounded values
23
+ prediction = np.round(prediction, 2)
24
+
25
+ # Separate the probabilities for each class
26
+ p_charmander = prediction[0][0] # Probability for class 'charmander'
27
+ p_mewto = prediction[0][1] # Probability for class 'mewto'
28
+ p_squirtle = prediction[0][2] # Probability for class 'squirtle'
29
+
30
+ return {'charmander': p_charmander, 'mewto': p_mewto, 'squirtle': p_squirtle}
31
+
32
+
33
+ # Create the Gradio interface
34
+ input_image = gr.Image()
35
+ iface = gr.Interface(
36
+ fn=predict_pokemon,
37
+ inputs=input_image,
38
+ outputs=gr.Label(),
39
+ examples=["images/charmander1.png", "images/charmander2.png", "images/charmander3.jpg", "images/mewto.jpg", "images/mewto2.jpg", "images/mewto4.png", "images/squirtle1.png", "images/squirtle2.jpg", "images/squirtle3.jpg"],
40
+ description="TEST.")
41
+
 
42
  iface.launch()