Dask es una biblioteca de Python de código abierto para computación paralela . Dask [ 1 ] permite escalar el código Python desde máquinas locales multinúcleo hasta grandes clústeres distribuidos en la nube. Dask ofrece una interfaz de usuario familiar al replicar las API de otras bibliotecas del ecosistema PyData, como Pandas , scikit-learn y NumPy . Además, expone API de bajo nivel que ayudan a los programadores a ejecutar algoritmos personalizados en paralelo.
Dask fue creado por Matthew Rocklin [ 2 ] en diciembre de 2014 [ 3 ] y tiene más de 9.8k estrellas y 500 colaboradores en GitHub . [ 4 ]
Dask es utilizado por organizaciones minoristas, financieras y gubernamentales, así como por institutos de ciencias biológicas y geofísicas. Walmart , [ 5 ] Wayfair , [ 6 ] JDA , [ 7 ] GrubHub , [ 8 ] General Motors , [ 9 ] Nvidia , [ 10 ] Harvard Medical School , [ 7 ] Capital One [ 11 ] y la NASA [ 12 ] se encuentran entre las organizaciones que utilizan Dask.
Descripción general
Dask tiene dos partes: [ 13 ]
- Recopilación de grandes conjuntos de datos (de alto y bajo nivel)
- Planificación dinámica de tareas
Las colecciones paralelas de alto nivel de Dask (DataFrames, [ 14 ] Bags, [ 15 ] y Arrays [ 16 ] ) operan en paralelo sobre conjuntos de datos que pueden no caber en la memoria.
El planificador de tareas de Dask [ 10 ] ejecuta gráficos de tareas en paralelo. Puede escalar a clústeres de miles de nodos. Esto impulsa las colecciones de alto nivel, así como las cargas de trabajo personalizadas definidas por el usuario mediante colecciones de bajo nivel.
Colecciones Dask
Dask admite varias interfaces de usuario [ 17 ] llamadas colecciones de alto y bajo nivel:
De alto nivel
- Dask Array: Matrices NumPy paralelas
- Dask Bag: Listas paralelas de Python
- DataFrame de Dask: DataFrames de Pandas en paralelo
- Aprendizaje automático: [ 18 ] scikit-learn paralelo
- Otros de proyectos externos, como Xarray [ 19 ]
Nivel bajo
- Retrasado: [ 20 ] Evaluación de función paralela
- Futuros: [ 21 ] Evaluación de funciones paralelas en tiempo real
Internamente, cada una de estas interfaces de usuario adopta la misma maquinaria de computación paralela.
colecciones de alto nivel
Las colecciones de alto nivel de Dask son el punto de partida ideal para los usuarios interesados en escalar sus cargas de trabajo con pandas, NumPy o scikit-learn. Dask DataFrame, Array y Dask-ML son alternativas a Pandas DataFrame, NumPy Array y scikit-learn, respectivamente, con ligeras variaciones respecto a las interfaces originales.
Matriz Dask
Dask Array [ 16 ] es una colección de alto nivel que paraleliza las cargas de trabajo basadas en matrices y mantiene la API familiar de NumPy, como el seccionamiento, la aritmética, las reducciones, las matemáticas, etc., lo que facilita a los usuarios de Numpy la ampliación de las operaciones con matrices.
Un array de Dask se compone de muchos arrays Numpy n-dimensionales más pequeños y utiliza un algoritmo por bloques para permitir el cálculo en arrays que superan la capacidad de la memoria. Durante una operación, Dask traduce la operación del array en un grafo de tareas, divide los arrays Numpy grandes en múltiples fragmentos más pequeños y ejecuta el trabajo en cada fragmento en paralelo. Los resultados de cada fragmento se combinan para producir el resultado final.
DataFrame de Dask
Dask DataFrame [ 14 ] es una colección de alto nivel que paraleliza las cargas de trabajo basadas en DataFrames. Un Dask DataFrame se compone de muchos DataFrames de Pandas más pequeños, particionados según el índice. Mantiene la API de Pandas, lo que facilita a los usuarios de Pandas la escalabilidad de las cargas de trabajo de DataFrames. Durante una operación con un DataFrame, Dask crea un grafo de tareas y activa operaciones en los DataFrames que lo componen, reduciendo así el consumo de memoria y aumentando el paralelismo mediante el uso compartido y la eliminación de resultados intermedios.
Bolsa de viaje
Dask Bag [ 15 ] es una colección no ordenada de objetos repetidos, un híbrido entre un conjunto y una lista. Dask Bag se utiliza para paralelizar el procesamiento de datos semiestructurados o no estructurados , como registros JSON , datos de texto, archivos de registro u objetos Python definidos por el usuario, mediante operaciones como filtrar, plegar, mapear y agrupar. Los Dask Bags se pueden crear a partir de un iterable de Python existente o pueden cargar datos directamente desde archivos de texto y archivos binarios en formato Avro.
Colecciones de bajo nivel
La interfaz de bajo nivel de Dask permite una mayor personalización. Es adecuada para datos que no se ajustan al formato de un DataFrame, Bag o Array de Dask. Dask cuenta con las siguientes colecciones de bajo nivel:
- Retrasado: Evaluación de funciones en paralelo
- Futuros: Evaluación de funciones paralelas en tiempo real
Demorado
Dask delayed [ 20 ] es una interfaz que se utiliza para paralelizar código Python genérico que no se ajusta a colecciones de alto nivel como Dask Array o Dask DataFrame. Las funciones de Python decoradas con Dask delayed adoptan una estrategia de evaluación diferida , aplazando la ejecución y generando un grafo de tareas con la función y sus argumentos. La función de Python solo se ejecutará cuando se invoque .compute. Dask delayed se puede usar como una función dask.delayed o como un decorador @dask.delayed.
Futuros
Dask Futures, [ 21 ] una alternativa inmediata (no perezosa) a Dask delayed, proporciona un marco de tareas en tiempo real que extiende la interfaz concurrent.futures de Python, que proporciona una interfaz de alto nivel para la ejecución asíncrona de funciones invocables.
Es habitual combinar interfaces de alto y bajo nivel. Por ejemplo, los usuarios pueden ejecutar Dask array/bag/dataframe para cargar y preprocesar datos, luego cambiar a Dask delayed para un algoritmo personalizado específico de su dominio, y finalmente volver a Dask array/dataframe para limpiar y almacenar los resultados.
Programación
Las colecciones de alto y bajo nivel de Dask crean un grafo dirigido acíclico de tareas [ 22 ] , que representa la relación entre las tareas de computación. Un nodo en un grafo de tareas representa una función de Python que realiza una unidad de computación, y una arista representa la dependencia de datos entre la tarea anterior y la posterior. Una vez generado el grafo de tareas, el planificador de tareas gestiona el flujo de trabajo basándose en dicho grafo, asignando tareas a los trabajadores de forma que se optimice el paralelismo y se respeten las dependencias de datos.
Dask ofrece dos familias de planificadores : un planificador para una sola máquina y un planificador distribuido.
Planificador de una sola máquina
El planificador de una sola máquina es el planificador predeterminado que proporciona funciones básicas para procesos locales o grupos de subprocesos y está diseñado para usarse en una sola máquina. Es sencillo y económico, pero no es escalable.
- Hilos locales
- Un planificador multihilo aprovecha el método `concurrent.futures.ThreadPoolExecuter` de Python para ejecutar cálculos. Tiene un bajo consumo de memoria y no requiere configuración. Dado que todos los cálculos se realizan en el mismo proceso, los planificadores multihilo generan una sobrecarga mínima y no generan costos por la transferencia de datos entre tareas. Debido al bloqueo global del intérprete de Python, los hilos locales solo proporcionan paralelismo cuando el cálculo se basa principalmente en código que no es de Python, como ocurre con los DataFrames de Pandas, los arreglos de NumPy u otros proyectos basados en Python, C o C++ .
- Proceso local
- Un planificador de multiprocesamiento utiliza `concurrent.futures.ProcessPoolExecutor` de Python para ejecutar cálculos. Las tareas y sus dependencias se transfieren del proceso principal a un proceso local, se ejecutan y los resultados se transfieren de vuelta al proceso principal. Esto permite evitar problemas con el Bloqueo Interpretable Global (GLB) de Python y proporciona paralelismo para tareas de cálculo con código principalmente Python. Sin embargo, la transferencia de datos entre el proceso principal y los procesos locales degrada el rendimiento, especialmente cuando el volumen de datos transferidos es grande.
- Hilo único
- Un planificador de un solo hilo ejecuta los cálculos sin paralelismo. Se utiliza con fines de depuración.
Planificador distribuido
El planificador distribuido de Dask [ 23 ] se puede configurar en una máquina local o escalar en un clúster. Dask puede funcionar con gestores de recursos, como Hadoop YARN , Kubernetes o PBS, Slurm , SGD y LSF para clústeres de computación de alto rendimiento (HPC).
Dask-ML
Dask-ML es compatible con la API de estimación de scikit-learn para ajustar, transformar y predecir, y está bien integrado con marcos de aprendizaje automático y aprendizaje profundo como XGBoost , LightGBM, PyTorch , Keras y TensorFlow a través de adaptadores compatibles con scikit-learn.
Integraciones
Integración con scikit-learn
Los estimadores y utilidades seleccionados de scikit-learn se pueden paralelizar [ 24 ] mediante la ejecución de tareas en múltiples núcleos de CPU utilizando la biblioteca Joblib. El número de procesos viene determinado por el parámetro n_jobs. Por defecto, la biblioteca Joblib utiliza loky como backend de multiprocesamiento. Dask ofrece un backend de Joblib alternativo que resulta útil para escalar los algoritmos de scikit-learn respaldados por Joblib a un clúster de máquinas para cargas de trabajo con recursos computacionales limitados.
Para cargas de trabajo con memoria restringida, Dask ofrece alternativas, como los Meta-estimadores Paralelos [ 25 ] para paralelizar y escalar tareas que no están paralelizadas dentro de scikit-learn y la Optimización Incremental de Hiperparámetros [ 26 ] para escalar la búsqueda de hiperparámetros y los estimadores paralelizados. [ 27 ]
Integraciones de XGBoost y LightGBM
XGBoost [ 28 ] y LightGBM [ 29 ] son algoritmos populares basados en Gradient Boosting , ambos integrados con Dask para el aprendizaje distribuido. Dask no desarrolla XGBoost ni LightGBM, sino que facilita la configuración del clúster, el planificador y los nodos de trabajo necesarios, y luego transfiere los datos al marco de aprendizaje automático para realizar el entrenamiento distribuido.
El entrenamiento de un modelo XGBoost con Dask [ 30 ] , un clúster de Dask compuesto por un planificador central y múltiples trabajadores distribuidos, se logra iniciando un planificador XGBoost en el mismo proceso que ejecuta el planificador central de Dask y un trabajador XGBoost en el mismo proceso que ejecuta los trabajadores de Dask. Los trabajadores de Dask luego transfieren el DataFrame de Pandas al trabajador XGBoost local para el entrenamiento distribuido.
Integración con PyTorch
Skorch [ 31 ] es un envoltorio compatible con scikit-learn para PyTorch, que permite utilizar Dask-ML junto con PyTorch.
Integraciones de Keras y TensorFlow
SciKeras [ 32 ] es un envoltorio compatible con scikit-learn para modelos Keras que permite utilizar Dask-ML con Keras.
Aplicaciones
Minorista
Algunos ejemplos de uso en el sector minorista son:
- Walmart utiliza Dask para pronosticar la demanda de 500 millones de combinaciones de artículos en tiendas. Para abastecer de artículos de alta demanda cantidades suficientes en todos sus establecimientos, realizan cálculos complejos. Gracias a RAPIDS y XGBoost, compatibles con Dask, han logrado una aceleración de 100x. [ 10 ]
- Blue Yonder utiliza Dask para procesar terabytes de datos diariamente. [ 33 ] Pueden escribir código similar a Pandas en Dask, que luego se puede implementar directamente en producción. Esto ayuda a mantener ciclos de retroalimentación cortos y minimizar el desperdicio.
- Grubhub utiliza Dask [ 2 ] [ 34 ] junto con TensorFlow para el preprocesamiento y ETL. Dask les permite seguir trabajando en Python y obtener las funcionalidades necesarias.
Ciencias de la vida
Dask se utiliza para la obtención de imágenes celulares de alta resolución en cuatro dimensiones por la Facultad de Medicina de Harvard , el Instituto Médico Howard Hughes , la Iniciativa Chan Zuckerberg y el Centro de Bioimágenes Avanzadas de la UC Berkeley . [ 7 ] Registran la evolución y los movimientos de una célula tridimensional a lo largo del tiempo con el máximo detalle. Esto genera grandes cantidades de datos difíciles de analizar con métodos tradicionales. Dask les ayuda a escalar sus flujos de trabajo de análisis de datos con su API, similar al código de NumPy, Pandas y scikit-learn.
Dask también se utiliza en el Instituto Novartis de Investigación Biomédica para escalar prototipos de aprendizaje automático.
industria financiera
- Capital One [ 35 ] utiliza Dask para acelerar los procesos ETL y ML.
- Barclays [ 36 ] utiliza Dask para el modelado de sistemas financieros.
Ciencias geofísicas
Dask se utiliza en ciencia climática, energía, hidrología, meteorología e imágenes satelitales por compañías como NASA , LANL , PANGEO: [ 37 ] Ciencias de la Tierra y la Oficina Meteorológica del Reino Unido . [ 38 ]
Los oceanógrafos generan enormes conjuntos de datos simulados de los océanos de la Tierra, y los investigadores pueden consultar grandes conjuntos de datos sismológicos procedentes de sensores de todo el mundo, recopilar un gran número de observaciones de satélites y estaciones meteorológicas, y ejecutar grandes simulaciones.
Bibliotecas de software
Dask está integrado en muchas bibliotecas, como Pangeo [ 39 ] y xarray; [ 19 ] software de series temporales como Prophet [ 40 ] y tsfresh; [ 41 ] software ETL/ML como scikit-learn, [ 42 ] RAPIDS, [ 43 ] y XGBoost ; [ 28 ] herramientas de gestión de flujos de trabajo como Apache Airflow [ 44 ] y Prefect. [ 45 ]
Historia
2014–2015
Dask [ 1 ] fue desarrollado originalmente en Continuum Analytics, una empresa de consultoría de Python con fines de lucro que eventualmente se convirtió en Anaconda , Inc., [ 46 ] creadora de muchos paquetes de código abierto y la distribución Anaconda Python. Dask surgió del proyecto Blaze [ 47 ] , un proyecto financiado por DARPA [ 48 ] para acelerar la computación en código abierto.
Blaze fue un proyecto ambicioso que buscaba redefinir las API de computación, almacenamiento, compresión y ciencia de datos para Python, liderado originalmente por Travis Oliphant y Peter Wang, cofundadores de Anaconda. Sin embargo, el enfoque de Blaze, al ser un ecosistema integrado en un paquete, dificultó su adopción por parte de nuevos usuarios.
En lugar de reescribir un ecosistema de software, el equipo de Dask pretendía ampliar el existente con el componente adecuado. Con esta idea en mente, el 21 de diciembre de 2014 [ 3 ] Matthew Rocklin creó Dask. El propósito [ 49 ] de Dask era originalmente paralelizar NumPy para que pudiera usar una estación de trabajo completa, algo común en las empresas financieras de la época.
2015–2017
Los primeros proyectos en adoptar Dask fueron Xarray [ 50 ] (de uso común en geociencias) y Scikit-Image [ 51 ] (de uso común en procesamiento de imágenes). Dask se integró en Xarray a los pocos meses de su creación. Esto le proporcionó a Dask su primera comunidad de usuarios, que se mantiene hasta el día de hoy.
Al comprender que existe demanda de una solución de paralelismo ligera para Pandas DataFrames [ 52 ] y herramientas de aprendizaje automático, como scikit-learn, [ 42 ] Dask evolucionó rápidamente para dar soporte también a otros proyectos.
2018
Desde 2018, otros equipos e instituciones del ámbito académico, empresas tecnológicas y grandes corporaciones como la NASA, la Oficina Meteorológica del Reino Unido , Blue Yonder y Nvidia , se interesaron por Dask y comenzaron a integrarlo en sus sistemas.
Dask recibió apoyo de diversas fuentes: [ 53 ] el Gobierno de los Estados Unidos (subvención de DARPA), la Fundación Gordon y Betty Moore , Anaconda , NSF, NASA (subvenciones de investigación de EE. UU. con colaboraciones como Pangeo) y Nvidia.
2020–present
En 2020, Matthew Rocklin fundó Coiled Computing, Inc. [ 54 ] para brindar mayor apoyo al desarrollo de Dask y permitir que las empresas implementen clústeres de Dask en la nube. En mayo de 2021, la empresa recaudó 21 millones de dólares en una ronda de financiación Serie A liderada por Bessemer Venture Partners . [ 55 ]
Véase también
Referencias
- 1 2 "Dask" . dask.org . Consultado el 12 de mayo de 2022 .
- 1 2 "Matthew Rocklin - Biografía" . matthewrocklin.com . Archivado del original el 16 de diciembre de 2014. Consultado el 12 de mayo de 2022 .
- 1 2 "GitHub, Dask, 2014" . github.com . Archivado del original el 12 de mayo de 2022. Recuperado el 12 de mayo de 2022 .
- ↑ "GitHub, Dask, 2022" . github.com . Archivado del original el 31 de agosto de 2022. Consultado el 12 de mayo de 2022 .
- ↑ Caulfield, Brian. "Walmart y NVIDIA hablan sobre cómo están trabajando juntos para transformar el comercio minorista" . blogs.nvidia.com . Archivado del original el 21 de mayo de 2022. Consultado el 12 de mayo de 2022 .
- ↑ Sharma Meenakshi, Gonsalves Nick. "Transformando los flujos de trabajo de capacitación de modelos en Wayfair" . aboutwayfair.com . Consultado el 12 de mayo de 2022 .
- 1 2 3 Eswaramoorthy, Pavithra. "¿Quién usa Dask?" . coiled.io . Archivado del original el 12-05-2022 . Recuperado el 12-05-2022 .
- ↑ Bowne-Anderson, Hugo. "Dask y TensorFlow en producción en Grubhub" . coiled.io . Consultado el 12 de mayo de 2022 .
- ↑ "Empresas que actualmente utilizan Dask" . discovery.hgdata.com . Archivado del original el 24 de marzo de 2023. Consultado el 12 de mayo de 2022 .
- 1 2 3 "DASK" . nvidia.com . Consultado el 12 de mayo de 2022 .
- ↑ Eswaramoorthy, Pavithra. "Aprendizaje automático distribuido en Capital One" . coiled.io . Archivado del original el 12 de mayo de 2022. Consultado el 12 de mayo de 2022 .
- ↑ "Uso de Dask en NAS" . nas.nasa.gov . Archivado del original el 21/10/2022 . Consultado el 12/05/2022 .
- ↑ "Computación escalable con Dask" . Tutoriales de ULHPC . Archivado del original el 29 de agosto de 2022. Consultado el 12 de mayo de 2022 .
- 1 2 "DataFrame - Documentación de Dask" . docs.dask.org . Archivado del original el 12 de mayo de 2022. Consultado el 12 de mayo de 2022 .
- 1 2 "Bag - Documentación de Dask" . docs.dask.org . Archivado del original el 12 de mayo de 2022. Consultado el 12 de mayo de 2022 .
- 1 2 "Array - Documentación de Dask" . docs.dask.org . Archivado del original el 12 de mayo de 2022. Consultado el 12 de mayo de 2022 .
- ↑ Eswaramoorthy, Pavithra. "¿Qué es Dask?" . coiled.io . Archivado del original el 12-05-2022 . Recuperado el 12-05-2022 .
- ↑ "Dask-ML" . ml.dask.org . Archivado del original el 17 de mayo de 2022. Consultado el 12 de mayo de 2022 .
- 1 2 "Computación paralela con Dask" . docs.xarray.dev . Archivado del original el 16 de mayo de 2022. Consultado el 12 de mayo de 2022 .
- 1 2 "Retrasado - Documentación de Dask" . docs.dask.org . Archivado del original el 12 de mayo de 2022. Consultado el 12 de mayo de 2022 .
- 1 2 "Futuros - Documentación de Dask" . docs.dask.org . Archivado del original el 12 de mayo de 2022. Consultado el 12 de mayo de 2022 .
- ↑ "Especificación - Documentación de Dask" . docs.dask.org . Archivado del original el 12 de mayo de 2022. Consultado el 12 de mayo de 2022 .
- ↑ "Planificador Dask - Documentación de Dask" . docs.dask.org . Archivado del original el 12 de mayo de 2022. Consultado el 12 de mayo de 2022 .
- ↑ "Computación con scikit-learn" . scikit-learn.org . Consultado el 12 de mayo de 2022 .
- ↑ "Predicción y transformación paralela - Documentación de Dask" . ml.dask.org . Archivado del original el 12 de mayo de 2022. Consultado el 12 de mayo de 2022 .
- ↑ "Optimización incremental de hiperparámetros - Documentación de Dask" . ml.dask.org . Archivado del original el 19 de junio de 2022. Consultado el 12 de mayo de 2022 .
- ↑ "Referencia de la API - Documentación de Dask" . ml.dask.org . Archivado del original el 12 de mayo de 2022. Consultado el 12 de mayo de 2022 .
- 1 2 "XGBoost distribuido con Dask" . Tutoriales de XGBoost . Archivado del original el 25/04/2022 . Consultado el 12/05/2022 .
- ↑ "Cómo funciona LightGBM distribuido. Dask" . LightGBM. Guía de aprendizaje distribuido . Archivado del original el 21/05/2022 . Consultado el 12/05/2022 .
- ↑ Rocklin, Matthew. "Dask y Pandas y XGBoost" . matthewrocklin.com . Consultado el 12 de mayo de 2022 .
- ↑ "Documentación de Skorch" . Skorch . Archivado del original el 16 de junio de 2022. Consultado el 12 de mayo de 2022 .
- ↑ "Documentación de SciKeras" . adriangb.com . Archivado del original el 6 de octubre de 2022. Consultado el 12 de mayo de 2022 .
- ↑ "Uso de Dask en Blue Yonder" . tech.blueyonder.com . 19 de junio de 2020. Archivado del original el 23 de abril de 2021. Consultado el 12 de mayo de 2022 .
- ↑ Bowne-Anderson, Hugo. "Búsqueda en Grubhub e intención del usuario" . coiled.io . Archivado del original el 12 de mayo de 2022. Consultado el 12 de mayo de 2022 .
- ↑ McEntee Ryan, McCarty Mike. "Dask y RAPIDS: La próxima gran novedad para la ciencia de datos y el aprendizaje automático" . capitalone.com . Archivado del original el 16 de mayo de 2022. Consultado el 12 de mayo de 2022 .
- ↑ Patel, Harshil. "¿Qué biblioteca debería usar? Comparación del rendimiento de Apache Spark, Dask y Pandas (con pruebas de rendimiento)" . censius.ai . Consultado el 12 de mayo de 2022 .
- ↑ "Adaptación de Dask a la investigación geocientífica intensiva en datos" . coiled.wistia.com . Consultado el 12 de mayo de 2022 .
- ↑ "Met Office" . metoffice.gov.uk . Archivado del original el 28 de enero de 2022. Consultado el 12 de mayo de 2022 .
- ↑ "Pangeo" . pangeo.io . Archivado del original el 23 de mayo de 2022. Consultado el 12 de mayo de 2022 .
- ↑ "Pronóstico con HEAVY.AI y Prophet" . docs.heavy.ai . Archivado del original el 23 de mayo de 2022. Consultado el 12 de mayo de 2022 .
- ↑ "Dask - la forma sencilla. Documentación de Tsfresh" . tsfresh.readthedocs.io . Archivado del original el 19/06/2022 . Consultado el 12/05/2022 .
- 1 2 "scikit-learn" . scikit-learn . Archivado del original el 12 de mayo de 2022. Consultado el 12 de mayo de 2022 .
- ↑ "Escalar Python con Dask en GPU" . rapids.ai . Consultado el 12 de mayo de 2022 .
- ↑ "Dask Executor - Documentación de Apache Airflow" . airflow.apache.org . Archivado del original el 11 de mayo de 2022. Consultado el 12 de mayo de 2022 .
- ↑ "Implementación: Dask. Prefect Docs" . docs.prefect.io . Archivado del original el 6 de junio de 2022. Consultado el 12 de mayo de 2022 .
- ↑ "Anaconda" . anaconda.com . Archivado del original el 12 de mayo de 2022. Consultado el 12 de mayo de 2022 .
- ↑ "El ecosistema Blaze" . blaze.pydata.org . Archivado del original el 9 de abril de 2022. Consultado el 12 de mayo de 2022 .
- ↑ "DARPA" . darpa . Archivado del original el 15 de enero de 2020. Consultado el 12 de mayo de 2022 .
- ↑ "Dask History" . Coiled. YouTube . Archivado del original el 12 de mayo de 2022. Consultado el 12 de mayo de 2022 .
- ↑ "Xarray" . xarray.pydata.org . Archivado del original el 17 de mayo de 2022. Consultado el 12 de mayo de 2022 .
- ↑ "Procesamiento de imágenes en Python" . scikit-image . Archivado del original el 11 de mayo de 2022. Consultado el 12 de mayo de 2022 .
- ↑ "pandas" . pandas . Archivado del original el 13 de febrero de 2012. Consultado el 12 de mayo de 2022 .
- ↑ Rocklin, Matthew. "Financiamiento de Dask, una breve historia" . matthewrocklin.com . Archivado del original el 12 de mayo de 2022. Consultado el 12 de mayo de 2022 .
- ↑ "Coiled: Python para ciencia de datos en la nube con Dask" . coiled.io . Consultado el 12 de mayo de 2022 .
- ↑ Wiggers, Kyle. "La startup de operaciones de datos e IA Coiled consigue 21 millones de dólares" . VentureBeat . Archivado del original el 12 de mayo de 2022. Consultado el 12 de mayo de 2022 .
Enlaces externos
- Sitio web oficial
- dask en GitHub
- Computación paralela
- Bibliotecas de Python (lenguaje de programación)