Daniel Andres Rojas Paredes
i would like to know how large files like models.pkl or the mlflow db would be shared in case of no acces to the cloud?
Robert Yesid Barrios Acendra
Trabajar en local, no?
¿Qué son los "Pythons" en Machine Learning?
Los "Pythons" en Machine Learning se refieren a productos automáticos que facilitan el tránsito desde la experimentación hasta la producción en esta área. Principalmente, estos productos están compuestos por tareas, las cuales son la unidad fundamental de los workflows en Machine Learning. Utilizando la librería de código abierto Prefect, podemos definir estas tareas de manera sencilla, lo que nos ayuda a automatizar procesos y mejorar la eficiencia del flujo de trabajo.
¿Cómo definir una tarea con Prefect?
La definición de tareas con Prefect se inicia mediante el uso de un decorador llamado @task, que se aplica a una función específica. A continuación, se muestra un ejemplo básico para ilustrar el proceso:
from prefect import task @task def miPrimeraTarea(mensaje): print("Hola", mensaje)
En este ejemplo, la tarea miPrimeraTarea recibe como parámetro un mensaje y ejecuta un print con él. La lógica interna de la función será lo que se ejecuta dentro de la tarea.
¿Cómo integrar una tarea en un workflow?
Para introducir una tarea dentro de la lógica de un flujo de trabajo se utiliza la anotación @flow, que es la encargada de gestionar estas tareas dentro de un flujo más extenso. A continuación, los pasos para crear un flujo simple que clasifique el conjunto de datos "iris":
@task para definir la lógica de la tarea.@flow.Aquí un ejemplo del flujo:
from prefect import flow, task from sklearn import datasets @task def obtenerDatos(): """ Carga el dataset de Iris desde Scikit-Learn. """ datos = datasets.load_iris() return {'X': datos.data, 'y': datos.target} @flow(retries=3, retry_delay_seconds=5) def clasificacionIris(): data = obtenerDatos() print(data) clasificacionIris()
Este código ilustra el flujo clasificacionIris, que ejecuta la tarea obtenerDatos, cargando así los datos del conjunto de "iris" y gestionando posibles errores.
¿Cómo visualizar y gestionar los flujos en Prefect?
Para poder observar y controlar nuestros flujos y tareas de manera efectiva, Prefect nos ofrece una interfaz gráfica a través de su servidor. Para inicializar el servidor, se pueden seguir estos pasos:
prefect server start en la terminal.Con esta configuración, puedes gestionar tus flujos, observar los registros y consultar el estado de tus tareas. Prefect ofrece funcionalidades como reintentos automáticos, reintentos con un retraso específico y almacenamiento eficiente de registros, lo que resulta invaluable en proyectos de Machine Learning. A medida que sigas avanzando, considera integrar múltiples tareas para encadenar flujos automáticos más complejos, optimizando así tus recursos y experimentos en Machine Learning.
Daniel Andres Rojas Paredes
i would like to know how large files like models.pkl or the mlflow db would be shared in case of no acces to the cloud?
Robert Yesid Barrios Acendra
Trabajar en local, no?
Daniel Andres Rojas Paredes
Prefect existe para simplificar la creación y gestión de flujos de trabajo de machine learning, proporcionando características que no se logran solo con Python. Aunque puedes crear flujos con Python, Prefect ofrece herramientas como la gestión de estados, reintentos automáticos y visualización de logs, lo que mejora la eficiencia y confiabilidad de tus pipelines. Además, permite descomponer tareas complejas en unidades más manejables, facilitando la orquestación y monitoreo de procesos de machine learning.