Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -21,6 +21,9 @@ def predict_bmwX(image):
|
|
| 21 |
# Apply softmax to get probabilities for each class
|
| 22 |
prediction = tf.nn.softmax(prediction)
|
| 23 |
|
|
|
|
|
|
|
|
|
|
| 24 |
# Define class names
|
| 25 |
class_names = ['Afghan', 'African Wild Dog', 'Airedale', 'American Hairless', 'American Spaniel', 'Basenji', 'Basset', 'Beagle',
|
| 26 |
'Bearded Collie', 'Bermaise', 'Bichon Frise', 'Blenheim', 'Bloodhound', 'Bluetick', 'Border Collie', 'Borzoi',
|
|
@@ -32,6 +35,10 @@ def predict_bmwX(image):
|
|
| 32 |
'Poodle', 'Pug', 'Rhodesian', 'Rottweiler', 'Saint Bernard', 'Schnauzer', 'Scotch Terrier', 'Shar_Pei',
|
| 33 |
'Shiba Inu', 'Shih-Tzu', 'Siberian Husky', 'Vizsla', 'Yorkie']
|
| 34 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 35 |
# Create a dictionary with the probabilities for each dog breed
|
| 36 |
prediction_dict = {class_names[i]: np.round(float(prediction[0][i]), 2) for i in range(len(class_names))}
|
| 37 |
|
|
|
|
| 21 |
# Apply softmax to get probabilities for each class
|
| 22 |
prediction = tf.nn.softmax(prediction)
|
| 23 |
|
| 24 |
+
# Debug statement to check the shape of the prediction
|
| 25 |
+
print(f"Prediction shape: {prediction.shape}")
|
| 26 |
+
|
| 27 |
# Define class names
|
| 28 |
class_names = ['Afghan', 'African Wild Dog', 'Airedale', 'American Hairless', 'American Spaniel', 'Basenji', 'Basset', 'Beagle',
|
| 29 |
'Bearded Collie', 'Bermaise', 'Bichon Frise', 'Blenheim', 'Bloodhound', 'Bluetick', 'Border Collie', 'Borzoi',
|
|
|
|
| 35 |
'Poodle', 'Pug', 'Rhodesian', 'Rottweiler', 'Saint Bernard', 'Schnauzer', 'Scotch Terrier', 'Shar_Pei',
|
| 36 |
'Shiba Inu', 'Shih-Tzu', 'Siberian Husky', 'Vizsla', 'Yorkie']
|
| 37 |
|
| 38 |
+
# Check if the number of predictions matches the number of class names
|
| 39 |
+
if len(prediction[0]) != len(class_names):
|
| 40 |
+
return f"Error: Number of model outputs ({len(prediction[0])}) does not match number of class names ({len(class_names)})."
|
| 41 |
+
|
| 42 |
# Create a dictionary with the probabilities for each dog breed
|
| 43 |
prediction_dict = {class_names[i]: np.round(float(prediction[0][i]), 2) for i in range(len(class_names))}
|
| 44 |
|