ICT3115 / Syllabus-2022-1

Syllabus del curso ICT3115 para el semestre 2022/1
5 stars 0 forks source link

[Tarea 2] Error al cargar los datos. #8

Open vpcamposq opened 2 years ago

vpcamposq commented 2 years ago

Hola profe y compañeros.

Descargué la carpeta comprimida para filtrar los datos a partir del archivo csv, y es mucho más rápido que en drive. (0.1 segundo en vez de varios minutos). Sin embargo, cuando itero sobre la muestra del csv, ocurre el siguiente error:

FileNotFoundError: [Errno 2] No such file or directory: 'imagenes_stgo/-33.53283901577287,-70.77569062776027.jpg'

Para leer las imágenes ocupo el valor de la columna 'latlong'.

¿Puede ser que no estén todas las imágenes en el archivo comprimido?

¿Hay alguna forma de averiguar si la imagen esta en la carpeta antes de leerla?

Saludos!

halobel commented 2 years ago

Hola Vicente, es tal como mencionas, no todos los archivos indicados en el .csv están en la carpeta de las imágenes, por lo que lo ideal es verificar antes de cargar, de forma de no generar una excepción. Para hacerlo, puedes revisar este tutorial: https://www.pythontutorial.net/python-basics/python-check-if-file-exists/

Saludos!

vpcamposq commented 2 years ago

Muchas gracias, profe!

fpaez7 commented 2 years ago

Aprendizaje al respecto

Hola Profesor y compañeros.

Espero esten todos bien. Al igual que el compañero tambien me encontraba con varios errores a la hora de cargar datos. Les comparto un poco de mi aprendizaje con este tema.

Hay que tener mucho cuidado al usar floats como llaves primarias ya que debido a problemas de redondeo los compudaores son pesimos diciendo si son exactamente iguales. Los dejo con un ejemplo clasico.
image

El problema es que esto sin duda esta afectando los datos de la tarea. En la siguiente imagen se imprimen los nombres de las 10 primeras fotos intercalando con los 10 primeros latlong del archivo. Se puede ver que la mitad de las veces no coinciden.

image

La solucion entonces es crear un ID entero para las foto y el archvio.csv. En base a un experimento recomiendo quedarse con 5 cifras significativas de las partes decimales de lat y lon y concatenarlas. Al hacer esto se logra solucinar el problema al tener ID enteros.
En la siguiente imagen se imprimen de nuevo los nombres de las 10 primera fotos y sus ID generados. De forma intercalada se imprimen los ID de los primeros 10 latlong del archivo y un booleano que compara si ambos ID son Iguales.

image

De esta forma es posible quedarse con 120.469 fotos de las cuales se tiene variables perceptuales. Estas corresponden al 96% del archivo comprimido enviado por correo por el profeosr.

Las 4912 ( 4%) fotos de las cuales no se cuenta variables perceptuales se almacenan en una carpeta de rechazadas y no seran usadas para alimental el modelo.Revisando someramente algunas de estas fotos. Vemos que la varias de ellas son tomas de angulos extraños o son dificiles de clasificar como urbanismo. Otras tenian probleamas con el nombre del archivo al estar sucedidas con un (2) que implica que estan dublicadas.

image image

Espero este aprendizaje les ayude para procesar los datos de mejor manera.

Saludos y exito.

ANEXO 1 :

En este apartado explicare el experimento por el cual llegue a que 5 cifras significativas son suficientes. Con ayuda de google maps, triangule estos 3 puntos en un estacionamiento. Sus cordenadas son:

A = -33.39610 , -70.53678 B = -33.39619 , -70.53678 C = -33.39619 , -70.53667

dist ( A, B ) = 10m = 0.00009° Lat dist ( B, C ) = 10m = 0.00011° Lon image

ANEXO 2:

A modo de alegrar un poco el fin de semestre les dejo estas 3 fotos random de la carpeta de rechazadas.

image image image