No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Crear plantillas de proyecto personalizadas

15/17
Recursos

¿Cómo crear una plantilla de proyectos con Machine Learning utilizando Cookie Cutter?

Transformar la manera en que gestionas proyectos de Machine Learning es posible con el uso de plantillas personalizadas. Cookie Cutter es una herramienta potente que te ayuda a establecer una estructura coherente y eficiente en tus proyectos. Este proceso no solo agiliza la creación, sino que también mejora la colaboración en equipo, facilitando la estandarización y enfoque organizativo, incluso en equipos grandes o dispersos.

¿Qué estructura requiere tu plantilla de proyecto?

Organizar adecuadamente los directorios y archivos es clave en un proyecto de Machine Learning. El gráfico que revisamos mostró cómo deberías estructurar tus carpetas y archivos para maximizar eficiencia:

  • Data: carpeta para gestionar los datos
  • Notebooks: lugar para los archivos de trabajo en Jupyter
  • Models: directorio para los modelos que se vayan a desarrollar
  • Documentación: contiene información de uso, guías y otros documentos importantes

Esta estructura no sólo permite acceder rápidamente a cada parte del proyecto, sino también sustenta una metodología clara y repetible para equipos de data science.

¿Cómo iniciar la creación de archivos en Cookie Cutter?

Una vez que tengas clara la estructura, el siguiente paso es crear cada uno de los archivos mediante Cookie Cutter en Visual Studio Code:

  1. Configurar archivo cookiecutter.json: Este archivo contiene todas las variables que recibirás del usuario, esenciales para personalizar cada proyecto. Ejemplos de variables incluyen el nombre del proyecto, autor y versión de Python.

  2. Configurar cada archivo necesario: Utiliza la sintaxis de Jinja para implementar plantillas donde puedas personalizar datos:

    • README.md: Utilizar Jinja para establecer variables que se llenarán automáticamente.
    • requirements.txt y environment.yml: Detallan el entorno virtual y dependencias requeridas.
  3. Implementar las licencias con alternativas disponibles: Utiliza la sentencia if de Jinja para definir qué información mostrar según la opción de licencia elegida (MIT, GPL, Apache).

{% if cookiecutter.license == 'MIT' %}
MIT License
Copiryght (c) {{ cookiecutter.author_name }}
{% elif cookiecutter.license == 'GPL' %}
GPL License
Copiryght (c) {{ cookiecutter.author_name }}
{% elif cookiecutter.license == 'Apache' %}
Apache License
Copiryght (c) {{ cookiecutter.author_name }}
{% endif %}

¿Cómo verificar y finalizar tu plantilla?

Antes de utilizar la plantilla personalizada, es fundamental verificar que cada archivo contenga correctamente las variables y sintaxis. Un error común podría ser no cerrar correctamente las sentencias Jinja, lo que podría interrumpir tu flujo de trabajo.

  • Revisa cada archivo creado para garantizar que se han implementado correctamente las variables.
  • Verifica la alineación e identación en environment.yml y requirements.txt para asegurar que las bibliotecas y sus versiones se gestionan correctamente.

¿Cómo ejecutar y probar la plantilla creada?

Para llevar tu plantilla al siguiente nivel:

  1. Ejecuta Cookie Cutter en tu terminal. Esto permitirá crear nuevos proyectos según la estructura especificada:

    cookiecutter mymltemplate
    
  2. Completa la información solicitada:

    • Nombre del proyecto
    • Autor
    • Versión de Python
    • Tipo de licencia
  3. Verifica en VS Code: Una vez completado, revisa la estructura del proyecto generado para asegurar que todos los archivos y carpetas son correctos.

Esta metodología asegura que notificaciones futuras sean gestionadas de manera eficiente, manteniendo un estándar alto en la calidad de tus entregables.

¡Atrévete a personalizar y explorar nuevas formas de optimizar tus proyectos! Con la flexibilidad que ofrece Cookie Cutter, puedes adaptar cada plantilla a las necesidades específicas de tu equipo, mejorando así la productividad y asegurando consistencia en cada relato de trabajo.

¿Listo para tomar el siguiente desafío? ¡Intenta subir tu plantilla personalizada a GitHub y compártela con nuestros comentadores! Esto no sólo te ayudará a mantener un control de versiones, sino también a mostrar tus habilidades a una comunidad más amplia.

Aportes 2

Preguntas 2

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Esta clase es bastante buena como introducción a la personalización de plantillas usando cookiecutter y la sintaxis de jinja (template engine). Sin embargo, para quienes deseen profundizar aun más en este tema les recomiendo que también vean el curso de configuración profesional de entornos de trabajo para ciencia de datos aquí mismo en Platzi. <https://platzi.com/cursos/entorno-ciencia-datos/>
Aquí comparto mi plantilla creada. <https://github.com/jesusdevelope/Plantilla_Personal_Python>