Proyectos de código abierto para entusiastas del aprendizaje automático

Contenidos

El código abierto se refiere a algo que las personas pueden modificar y compartir porque son accesibles para todos. Puede utilizar el trabajo de nuevas formas, integrarlo en un proyecto más grande o encontrar un nuevo trabajo basado en el original. El código abierto promueve el libre intercambio de ideas dentro de una comunidad para generar innovaciones o ideas creativas y tecnológicas. Por lo tanto, los programadores deberían considerar la posibilidad de contribuir a proyectos de código abierto por las siguientes razones:

1. Le ayuda a escribir código más limpio.

2. Obtiene una mejor comprensión de la tecnología.

3. Contribuir a proyectos de código abierto le ayuda a ganar atención, popularidad y puede aprovechar su carrera.

4. Agregar un proyecto de código abierto a su currículum aumenta su peso.

5. Mejora las habilidades de codificación

6. Mejorar el software a nivel de usuario y empresarial.

5tcs0edzmxgn4r1nxtym-4783147Fuente: Imágenes de Google

Para comenzar a contribuir a proyectos de código abierto, existen algunos requisitos previos:

1. Aprenda un lenguaje de programación: dado que en la contribución de código abierto necesita escribir código para involucrarse en el desarrollo, necesita aprender un lenguaje de programación. Eso puede ser de cualquier elección. Es fácil aprender otro idioma en una etapa posterior dependiendo de las necesidades del proyecto.

2. Familiarícese con los sistemas de control de versiones: estas son las herramientas de software que ayudan a mantener todos los cambios en un solo lugar que se están realizando para recuperarlos en una etapa posterior si es necesario. Básicamente, realizan un seguimiento de cada modificación realizada por usted a lo largo del tiempo en el código fuente. Algunos sistemas de control de versiones populares son Git, Mercurial, CVS, etc. De todos estos, Git es el más popular y ampliamente utilizado en la industria.

Ahora veremos algunos de los increíbles proyectos de código abierto en los que puede contribuir.

¡Entonces empecemos!

1. Caliban

caliban / README.md en master · google / caliban · Proyectos de código abierto de GitHub

Fuente: Imágenes de Google

Este es un proyecto de aprendizaje automático del gigante tecnológico Google. Se utiliza para desarrollar portátiles y flujos de trabajo de investigación de aprendizaje automático en un entorno informático aislado y reproducible. Resuelve un gran problema. Cuando los desarrolladores están creando proyectos de ciencia de datos, muchas veces es difícil crear un entorno de prueba que pueda mostrar su proyecto en una situación de la vida real. No es posible predecir todos los casos extremos. Entonces, Caliban es una posible solución para este problema. Caliban facilita el desarrollo de cualquier modelo de aprendizaje automático localmente, ejecuta código en su máquina y luego prueba exactamente el mismo código en un entorno de nube para ejecutarlo en máquinas grandes. Por lo tanto, los flujos de trabajo de investigación de Dockerized se simplifican, tanto a nivel local como en la nube.

Enlace de Github: https://github.com/google/caliban

2. Kornia

175jdfj4e15tx1x_y8uizna-6650984

Fuente: Imágenes de Google

Kornia es una biblioteca de visión por computadora para PyTorch. Se utiliza para resolver algunos problemas genéricos de visión por computadora. Kornia se basa en PyTorch y depende de su eficiencia y potencia de la CPU para poder calcular funciones complejas. Kornia es un paquete de bibliotecas que se utiliza para entrenar modelos de redes neuronales y realizar transformación de imágenes, filtrado de imágenes, detección de bordes, geometría epipolar, estimación de profundidad, etc.

Enlace de Github: https://github.com/kornia/kornia

3. Zoológico de análisis

logo-analytics-zoo-rwd-jpg-rendition-intel_-web_-576-324-1364090

Fuente: Imágenes de Google

Analytics Zoo es una plataforma unificada de análisis de datos e inteligencia artificial que une los programas TensorFlow, Keras, PyTorch, Spark, Flink y Ray en una canalización integrada. Esto puede escalar de manera eficiente desde una computadora portátil a un gran clúster para procesar la producción de big data. Este proyecto es mantenido por Intel-analítica.

Analytics Zoo ayuda a una solución de IA de las siguientes formas:

  • Le ayuda a crear prototipos de modelos de IA fácilmente.
  • El escalado se gestiona de forma eficiente.
  • Ayuda a agregar procesos de automatización a su canal de ML como ingeniería de características, selección de modelos, etc.

Enlace de Github: https://github.com/intel-analytics/analytics-zoo

4. Aprendizaje automático automatizado MLJAR para humanos

Fuente: Imágenes de Google

Mljar es una plataforma para crear modelos de prototipos y servicios de implementación. Para encontrar el mejor modelo, Mljar busca diferentes algoritmos y realiza ajustes de hiperparámetros. Proporciona resultados rápidos interesantes al ejecutar todos los cálculos en la nube y finalmente crear modelos de conjunto. Luego, crea un informe para usted a partir del entrenamiento de AutoML. ¿No es esto genial?

Mljar entrena eficientemente modelos para clasificación binaria, clasificación de clases múltiples, regresión.

Proporciona dos tipos de interfaces:

  • Puede ejecutar modelos de aprendizaje automático en su navegador web
  • Proporciona un contenedor de Python sobre la API de Mljar.

El informe recibido de Mljar contiene la tabla con información sobre la puntuación de cada modelo y el tiempo necesario para entrenar cada modelo. El rendimiento se muestra como diagramas de dispersión y de caja, por lo que es fácil comprobar visualmente qué algoritmos funcionan mejor entre todos. Mira esto:

automl_summary-4371799

Fuente: Imágenes de Google

Documentación: https://supervised.mljar.com/

Código fuente: https://github.com/mljar/mljar-supervised

5.DeepDetect

fdea7a61-ab12-4f90-8f31-67a300cd9ac7-3997349

Fuente: Imágenes de Google

DeepDetect es una API de aprendizaje automático y un servidor escrito en C ++. Si desea trabajar con algoritmos de aprendizaje automático de última generación y desea integrarlos en aplicaciones existentes, DeepDetect es para usted. DeepDetect admite una amplia variedad de tareas como clasificación, segmentación, regresión, detección de objetos, codificadores automáticos. Admite el aprendizaje profundo supervisado y no supervisado de imágenes, series de tiempo, texto y algunos tipos más de datos. Pero DeepDetect depende de bibliotecas externas de aprendizaje automático como:

  • Bibliotecas de aprendizaje profundo: Tensorflow, Caffe2, Torch.
  • Biblioteca de aumento de gradiente: XGBoost.
  • Agrupación con T-SNE.

Enlace de Github: https://github.com/jolibrain/deepdetect

6. Dopamina

Dopamina: un marco de investigación para el aprendizaje por refuerzo profundo - Cryofrog

Fuente: Imágenes de Google

La dopamina es un proyecto de código abierto del gigante tecnológico Google. Está escrito en Python. Es un marco de investigación para la creación rápida de prototipos de algoritmos de aprendizaje por refuerzo.

Los principios de diseño de la dopamina son:

  • Experimento sencillo: la dopamina facilita a los nuevos usuarios la realización de experimentos.
  • Es compacto y confiable.
  • También facilita la reproducibilidad de los resultados.
  • Es flexible, por lo tanto, facilita que los nuevos usuarios prueben nuevas ideas de investigación.

Nota: Mira estos Cuadernos Colaboratorios para aprender a usar la dopamina.

Enlace de Github: https://github.com/google/dopamine

7. TensorFlow

bringing-machine-learning-to-mobile-apps-with-tensorflow-2149939

Fuente: Imágenes de Google

Tensorflow es el más famoso, popular y uno de los mejores proyectos de código abierto de aprendizaje automático en GitHub. Es una biblioteca de software de código abierto para el cálculo numérico utilizando gráficos de flujo de datos. Tiene una interfaz Python muy fácil de usar y no tiene interfaces no deseadas en otros lenguajes para construir y ejecutar gráficos computacionales. TensorFlow proporciona API estables de Python y C ++. Tensorflow tiene algunos casos de uso sorprendentes como:

  • En reconocimiento de voz / sonido
  • Aplicaciones de bases de texto
  • Reconocimiento de imagen
  • Detección de video

…¡y muchos más!

Enlace de GitHub: https://github.com/tensorflow/tensorflow

8. PredicciónIO

1ti-w8opxn-6znge40zo0tg-9615970

Fuente: Imágenes de Google

Está construido sobre una pila de código abierto de última generación. Este servidor de aprendizaje automático está diseñado para que los científicos de datos creen motores predictivos para cualquier tarea de aprendizaje automático. Algunas de sus características sorprendentes son:

  • Ayuda a construir e implementar rápidamente un motor como un servicio web en plantillas de producción que son personalizables.
  • Una vez implementado como servicio web, responda a consultas dinámicas en tiempo real.
  • Admite bibliotecas de procesamiento de datos y aprendizaje automático como OpenNLP, Spark MLLib.
  • También simplifica la gestión de la infraestructura de datos

Enlace de GitHub: https://github.com/apache/predictionio

9.Scikit-aprender

featured-2358205

Fuente: Imágenes de Google

Es una biblioteca de herramientas de aprendizaje automático de software libre basada en Python. Proporciona varios algoritmos para clasificación, regresión, algoritmos de agrupación en clústeres, incluidos bosques aleatorios, aumento de gradiente, DBSCAN. Esto se basa en SciPy que debe estar preinstalado para que pueda usar sci-kit learn. También proporciona modelos para:

  • Métodos de conjunto
  • Extracción de características
  • Ajuste de parámetros
  • Aprendizaje múltiple
  • Selección de características
  • Reducción de dimensionalidad

Nota: Para aprender scikit-learn, siga la documentación: https://scikit-learn.org/stable/

Enlace de GitHub: https://github.com/scikit-learn

10. Pylearn2

Pylearn2 es la biblioteca de aprendizaje automático más común entre todos los desarrolladores de Python. Está basado en Theano. Puede usar expresiones matemáticas para escribir su complemento mientras Theano toma o optimización y estabilización. Tiene algunas características asombrosas como:

  • Un «algoritmo de entrenamiento predeterminado» para entrenar el modelo en sí
  • Criterios de estimación del modelo
    • Puntuación coincidente
    • Entropía cruzada
    • Probabilidad logarítmica
  • Preprocesamiento del conjunto de datos
    • Normalización de contraste
    • Blanqueamiento ZCA
    • Extracción de parches (para implementar algoritmos de tipo convolución)

Enlace de GitHub: https://github.com/lisa-lab/pylearn2

Notas finales:

Contribuir al código abierto conlleva demasiados pros. Entonces, estos son algunos buenos proyectos de código abierto para contribuir.

Gracias por leer si llegaste aquí 🙂

Vamos a conectarnos LinkedIn.

Los medios que se muestran en este artículo no son propiedad de DataPeaker y se utilizan a discreción del autor.

Suscribite a nuestro Newsletter

No te enviaremos correo SPAM. Lo odiamos tanto como tú.