Museo

Imagen de Pintura de Minecraft

Problema a resolver

Has sido contactado por un renombrado museo para resolver una serie de eventos misteriosos que han estado ocurriendo después del horario de cierre. El museo adquirió recientemente una colección de pinturas antiguas y, para asegurarlas, contrató una herramienta avanzada basada en inteligencia artificial (IA) para gestionar sus exhibiciones. Sin embargo, cosas extrañas han estado ocurriendo por la noche: las exhibiciones se mueven, las luces parpadean y se escuchan ruidos extraños. El curador del museo sospecha que alguien o algo está manipulando el sistema de IA. Tu tarea es investigar estos misterios utilizando herramientas y técnicas de IA mientras colaboras a través de GitHub.

Distribución de Código

Para este problema, deberás descargar la distribución del código en tu entorno de Codespaces. Para ello, sigue los siguientes pasos:

  • Descarga la distribución del código

    • Accede a tu GitHub Codespaces de Git Commit: Haz clic en el siguiente botón para crear un nuevo repositorio en tu cuenta personal. Ponle el nombre que quieras; te recomendamos “Conservation”. Guarda el repositorio en tu cuenta. Open in GitHub Codespaces

    • Una vez que hayas guardado el repositorio, verás un botón que dice “Code” y una opción que dice “Codespaces”.

    • Haz clic en “Codespaces” y luego en “Crear nuevo Codespace”. Espera unos minutos mientras se inicia todo el entorno. Una vez que el Codespace haya iniciado, estarás listo para trabajar con el entorno configurado.

    • Deberías encontrar que tu ventana de terminal se asemeja a la siguiente:
      $
      
    • Ahora ejecuta
        wget http://157.245.132.153/gitcommit/2.zip
      

      para descargar el archivo ZIP llamado 2.zip en tu entorno de Codespaces.

    • Luego ejecuta
        unzip 2.zip
      

      para descomprimir el archivo ZIP y obtener una carpeta llamada museum. Ya no necesitas el archivo ZIP, por lo que puedes eliminarlo ejecutando

        rm 2.zip
      
    • Ahora ejecuta
        cd museum
      

      para dirigirte a la carpeta museum. Debiéses encontrar que tu ventana de terminal debiése asemejar la de abajo:

        museum/ $
      
    • Si todo ha salido bien, al momento de ejecutar
        ls
      

      debiéses encontar una carpeta llamada model con archivos referentes al modelo de inteligencia artificial, una carpeta llamada recordings con grabaciones del museo, así como un archivo Python main.py que contiene el código para testear tu modelo y un archivo answers.txt donde debes escribir tus respuestas para resolver este misterio. En añadición a esto, te hemos facilitado una carpeta con sets de datos de entrenamiento llamada datasets que puedes utilizar para entrenar tu modelo.

Especificaciones

Deberás modificar el modelo de inteligencia artificial para que pueda detectar si hay alguna actividad sospechosa en el museo. Para ello, deberás investigar los eventos misteriosos que han estado ocurriendo en el museo y responder a las siguientes preguntas en el archivo answers.txt:

  1. Determina si el cuadro de la pintura ha desaparecido de la exhibición. Si es así, registra la hora en la que desapareció y quién ha sido el último visitante de Minecraft que ha estado cerca de la exhibición; este visitante puede ser el responsable de la desaparición del cuadro. Para esto usa clases como PINTURA o NO PINTURA.

  2. Determina qué pasa con las luces del museo; si las luces parpadean en un tiempo periódico, entonces puede ser una falla del sistema eléctrico. En caso contrario, alguien las está manipulando. Para esto usa clases como LUZ o OSCURIDAD.

Para responder a estas preguntas, deberás cambiar los archivos de la carpeta model llamados labels.txt y keras-model.h5 por tu modelo entrenado con los datos de recordings, de esta manera, el modelo de inteligencia artificial podrá detectar si hay alguna actividad sospechosa en el museo para para el propósito que lo hayas entrenado.

Cómo entrenar tu modelo

Para entrenar tu modelo, deberás utilizar los datos de recordings y los sets de datos de entrenamiento de datasets. Para ello, deberás utilizar una página como Deepnote u otras para entrenar tu modelo de inteligencia artificial. Una vez que hayas entrenado tu modelo, deberás cambiar los archivos labels.txt y keras-model.h5 por los archivos de tu modelo entrenado.

Cómo probar tu modelo

Para probar tu modelo, deberás ejecutar el archivo main.py en tu entorno de Codespaces. Para ello, ejecuta el siguiente comando:

python main.py

Este comando ejecutará tu modelo de inteligencia artificial con los datos de recordings y te mostrará los resultados en la terminal. Luego, deberás responder a las preguntas en el archivo answers.txt con los resultados obtenidos.

Cómo entregar tu solución

Debes crear un archivo llamado answers.txt en la carpeta museum y escribir tus respuestas a las preguntas planteadas en el archivo. El archivo debe contener las respuestas en el siguiente formato:

¿A qué hora desapareció el cuadro?: 123
¿Quién es el responsable de la desaparición del cuadro?: Sheep
¿Las luces tienen relación con los sucesos extraños del museo?: No

Cómo conocer si tus respuestas están correctas

Para testear la correctitud de tu implementación, puedes ejectuar el siguiente comando en tu terminal:

check50 gitcommituyu/problems/2024/museum --local

Envíanos tu Solución

Puedes enviar tu implementación a este desafío a nuestra GitHub Discussions dedicada. Si es correcta, estarás participando de un sorteo de premios de GitHub.

Reconocimientos

La imágen de la pintura de Minecraft es una obra de Kristoffer Zetterstrand y fue obtenida de Imgur.