es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo cargar una imagen para inferencia en Flux.jl?

Tengo un modelo que entrené utilizando un conjunto de datos específico. Originalmente no dividí el conjunto en un conjunto de entrenamiento y uno de prueba (lo cual debería haber hecho). Dicho esto, quiero hacer algunas pruebas ad hoc para ver cómo se comporta el modelo cuando le doy imágenes específicas. Intenté hacer algo como Images.load("/Usuarios/logankilpatrick/Desktop/train/dog.10697.jpg") para cargar la imagen y luego pasarla directamente al modelo, pero obtengo errores de desajuste de tamaño de entrada. ¿Cuál es la forma correcta de cargar la imagen?

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para cargar adecuadamente una imagen para pruebas ad hoc en Flux.jl, necesitamos seguir los siguientes pasos:

    1. Cargar la imagen utilizando el método Images.load() de la siguiente manera:
    img = Images.load("/Users/logankilpatrick/Desktop/train/dog.10697.jpg")
    
    1. Convertir la imagen a un arreglo utilizando el método colorview():
    img_array = colorview(Float32, img)
    

    Nota: Se convierte el arreglo a Float32 para que coincida con el tipo de dato requerido por el modelo.

    1. Redimensionar la imagen para que coincida con el tamaño de entrada requerido por el modelo utilizando el método Images.imresize():
    input_size = (224, 224) # Ejemplo de tamaño de entrada para el modelo
    resized_img_array = Images.imresize(img_array, input_size)
    
    1. Transponer el arreglo para que coincida con el requisito de orden de canal del modelo. La mayoría de los modelos requieren que los canales sean la primera dimensión del arreglo. Podemos usar el método permutedims() para lograr esto:
    input_array = permutedims(resized_img_array, (3, 2, 1))
    
    1. Por último, podemos pasar el arreglo de entrada al modelo para la predicción:
    prediction = model(input_array)
    

    Con los pasos anteriores, deberíamos poder cargar una imagen para pruebas ad hoc en Flux.jl.

Comments are closed.