Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -3,34 +3,51 @@ import tensorflow as tf
|
|
3 |
import numpy as np
|
4 |
import gradio as gr
|
5 |
import io
|
|
|
6 |
|
7 |
# Load the model
|
8 |
model_path = 'final_teath_classifier.h5'
|
9 |
model = tf.keras.models.load_model(model_path)
|
10 |
|
|
|
|
|
|
|
11 |
# Define prediction function
|
12 |
def predict_image(image):
|
13 |
-
#
|
|
|
|
|
|
|
|
|
|
|
14 |
image = np.array(image)/255
|
15 |
image = np.expand_dims(image, axis=0)
|
16 |
|
17 |
-
# Make
|
18 |
-
|
19 |
|
20 |
-
# Get the
|
21 |
-
|
22 |
-
|
23 |
-
|
|
|
|
|
|
|
|
|
|
|
24 |
|
25 |
# Return the prediction result as a dictionary
|
26 |
-
return {"Predicted Label": predicted_label
|
|
|
27 |
|
28 |
# Create the interface
|
29 |
input_interface = gr.Image(type="pil")
|
|
|
|
|
30 |
iface = gr.Interface(
|
31 |
fn=predict_image,
|
32 |
inputs=input_interface,
|
33 |
-
outputs=
|
34 |
|
35 |
# Launch the interface
|
36 |
-
iface.launch(share=True)
|
|
|
3 |
import numpy as np
|
4 |
import gradio as gr
|
5 |
import io
|
6 |
+
import json
|
7 |
|
8 |
# Load the model
|
9 |
model_path = 'final_teath_classifier.h5'
|
10 |
model = tf.keras.models.load_model(model_path)
|
11 |
|
12 |
+
# Define preprocessing function
|
13 |
+
|
14 |
+
|
15 |
# Define prediction function
|
16 |
def predict_image(image):
|
17 |
+
# Save the image to a file-like object
|
18 |
+
image_bytes = io.BytesIO()
|
19 |
+
image.save(image_bytes, format="JPEG")
|
20 |
+
|
21 |
+
# Load the image from the file-like object
|
22 |
+
image = tf.keras.preprocessing.image.load_img(image_bytes, target_size=(256, 256))
|
23 |
image = np.array(image)/255
|
24 |
image = np.expand_dims(image, axis=0)
|
25 |
|
26 |
+
# Make a prediction
|
27 |
+
prediction = model.predict(image)
|
28 |
|
29 |
+
# Get the probability of being 'Clean' or 'Carries'
|
30 |
+
probabilities = tf.nn.softmax(prediction, axis=-1)
|
31 |
+
predicted_class_index = np.argmax(probabilities)
|
32 |
+
if predicted_class_index == 0:
|
33 |
+
predicted_label = "Clean"
|
34 |
+
#predicted_probability = probabilities[0][0] * 100 # Convert to percentage
|
35 |
+
else:
|
36 |
+
predicted_label = "Carries"
|
37 |
+
#predicted_probability = probabilities[0][1] * 100 # Convert to percentage
|
38 |
|
39 |
# Return the prediction result as a dictionary
|
40 |
+
return {"Predicted Label": predicted_label}
|
41 |
+
|
42 |
|
43 |
# Create the interface
|
44 |
input_interface = gr.Image(type="pil")
|
45 |
+
output_interface = "json"
|
46 |
+
|
47 |
iface = gr.Interface(
|
48 |
fn=predict_image,
|
49 |
inputs=input_interface,
|
50 |
+
outputs=output_interface)
|
51 |
|
52 |
# Launch the interface
|
53 |
+
iface.launch(share=True)
|