Imagen para clasificar

Código para clasificar imágenes
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
import tensorflow as tf import numpy as np # Función para preprocesar la imagen def preprocess_image(image_path): img = tf.io.read_file(image_path) img = tf.image.decode_jpeg(img, channels=3) img = tf.image.resize(img, (299, 299)) # Ajusta el tamaño de la imagen según el modelo InceptionResNetV2 img = tf.keras.applications.inception_resnet_v2.preprocess_input(img) return img # Función para cargar y clasificar la imagen def classify_image(image_path): # Carga del modelo InceptionResNetV2 pre-entrenado model = tf.keras.applications.InceptionResNetV2(include_top=True, weights='imagenet') # Preprocesamiento de la imagen img = preprocess_image(image_path) img = np.expand_dims(img, axis=0) # Clasificación de la imagen predictions = model.predict(img) predicted_classes = tf.keras.applications.inception_resnet_v2.decode_predictions(predictions, top=5)[0] return predicted_classes def main(): # Ruta de la imagen a clasificar image_path = '/content/panda.jpeg' # Clasificar la imagen predicted_classes = classify_image(image_path) print("Predictions for", image_path) for i, (imagenet_id, label, score) in enumerate(predicted_classes): print("{}. {}: {:.2f}%".format(i+1, label, score*100)) if __name__ == "__main__": main() |
