TensorFlow vs Theano vs Torch vs Keras: biblioteca de aprendizaje profundo

La inteligencia artificial está creciendowing en popularidad desde 2016, el 20% de las grandes empresas utilizan IA en sus negocios (McKinsey reporte, 2018). Según el mismo informe, la IA puede crear un valor sustancial en todas las industrias. En la banca, por ejemplo, el potencial de la IA se estima en $300 billion, en el comercio minorista el número se dispara a $600 billion.

Para desbloquear el valor potencial de la IA, las empresas deben elegir el marco de aprendizaje profundo adecuado. En este tutorial conocerás las diferentes bibliotecas disponibles para realizar tareas de aprendizaje profundo. Algunas bibliotecas existen desde hace años, mientras que en los últimos años han aparecido nuevas bibliotecas como TensorFlow.

Las 8 mejores bibliotecas/marco de aprendizaje profundo

En esta lista, compararemos los principales marcos de aprendizaje profundo. Todos ellos son de código abierto y populares en la comunidad de científicos de datos. También compararemos proveedores populares de ML como servicio.

Torch

Torch es una antigua biblioteca de aprendizaje automático de código abierto. Fue lanzado por primera vez hace 15 años. Su lenguaje de programación principal es LUA, pero tiene una implementación en C. Al comparar PyTorch con TensorFlow, admite una amplia biblioteca para algoritmos de aprendizaje automático, incluido el aprendizaje profundo. Admite la implementación de CUDA para cálculo paralelo.

La herramienta de aprendizaje profundo Torch es utilizada por la mayoría de los laboratorios líderes, como Facebook, Google, Twitter, Nvidia, etc. Torch tiene una biblioteca en Python llamada Pytorch.

Infer.net

Infer.net es desarrollado y mantenido por Microsoft. Infer.net es una biblioteca centrada principalmente en la estadística bayesiana. Infer.net es una herramienta de visualización para Deep Learning diseñada para ofrecer a los profesionales algoritmos de última generación para modelado probabilístico. La biblioteca contiene Herramientas analiticas como análisis bayesiano, cadena de Markov oculta, agrupación.

Keras

Keras es un marco de Python para el aprendizaje profundo. Es una biblioteca conveniente para construir cualquier algoritmo de aprendizaje profundo. La ventaja de Keras es que utiliza el mismo código Python para ejecutarse en CPU o GPU. Además, el entorno de codificación es puro y permite entrenar algoritmos de última generación para visión por computadora y reconocimiento de texto, entre otros.

Keras fue desarrollado por François Chollet, investigador de Google. Keras se utiliza en organizaciones destacadas como CERN, Yelp, Square o Google. Netflixy Uber.

Keras

Theano

Theano es una biblioteca de aprendizaje profundo desarrollada por la Universidad de Montreal en 2007. Comparando Theano con TensorFlow, ofrece computación rápida y se puede ejecutar tanto en CPU como en GPU. Theano ha sido desarrollado para entrenar algoritmos de redes neuronales profundas.

Microsoft Kit de herramientas cognitivas (CNTK)

Microsoft Toolkit, anteriormente conocido como CNTK, es una biblioteca de aprendizaje profundo desarrollada por Microsoft. De acuerdo a Microsoft, la biblioteca se encuentra entre las más rápidas del mercado. Microsoft Toolkit es una biblioteca de código abierto, aunque Microsoft lo está utilizando ampliamente para sus productos como Skype, Cortana, Bing y X.box. El kit de herramientas está disponible tanto en Python como en C++.

MXNet

MXnet es una biblioteca reciente de aprendizaje profundo. Es accesible con múltiples lenguajes de programación, incluidos C++, Julia, Python y R. MXNet se puede configurar para funcionar tanto en CPU como en GPU. MXNet incluye aprendizaje profundo de última generación architectura como red neuronal convolucional y memoria a largo plazo. MXNet está diseñado para funcionar en armonía con la infraestructura dinámica de la nube. El usuario principal de MXNet es Amazon

Caffe

Caffe es una biblioteca construida por Yangqing Jia cuando era estudiante de doctorado en Berkeley. Al comparar Caffe con TensorFlow, Caffe está escrito en C++ y puede realizar cálculos tanto en CPU como en GPU. El uso principal de Caffe es la red neuronal convolucional. Aunque, en 2017, Facebook amplió Caffe con un aprendizaje más profundo. architectura, incluida la red neuronal recurrente. Caffe es utilizado por académicos y nuevas empresas, pero también por algunas grandes empresas como Yahoo!.

TensorFlow

TensorFlow es un proyecto de código abierto de Google. TensorFlow es la biblioteca de aprendizaje profundo más famosa en la actualidad. Fue lanzado al público a finales de 2015.

TensorFlow

TensorFlow está desarrollado en C++ y tiene una conveniente API de Python, aunque también hay API de C++ disponibles. Empresas destacadas como Airbus, Google, IBM y así sucesivamente están utilizando TensorFlow para producir algoritmos de aprendizaje profundo.

TensorFlow Vs Theano Vs Torch Vs Keras Vs infer.net Vs CNTK Vs MXNet Vs Caffe: diferencias clave

de Recursos Productos Escrito en soporte cuda Ejecución paralela Tiene modelos entrenados RNN CNN
Torch Linux, macOS, Windows Lua
Inferir.Net Linux, macOS, Windows Visual Studio No No No No No
Keras Linux, macOS, Windows Python
Theano Medición Python
TensorFlow Linux, macOS, Windows, Android C++, Python, CUDA
MICROSOFT KIT DE HERRAMIENTAS COGNITIVAS Linux, Windows, Mac con Docker C + +
Caffe Linux, macOS, Windows C + +
MXNet Linux, Windows, macOS, Android, iOS, JavaScript C + +

Veredicto

TensorFlow es la mejor biblioteca de todas porque está diseñada para ser accesible para todos. La biblioteca Tensorflow incorpora diferentes API para construir un aprendizaje profundo a escala architectura como CNN o RNN. TensorFlow se basa en el cálculo de gráficos y permite al desarrollador visualizar la construcción de la red neuronal con tensorboad. Esta herramienta es útil para depurar el programa. Finalmente, Tensorflow está diseñado para implementarse a escala. Se ejecuta en CPU y GPU.

Tensorflow atrae la mayor popularidad en GitHub en comparación con otras bibliotecas de aprendizaje profundo.

Comparación del aprendizaje automático como servicio

Following son 4 proveedores populares de DL como servicio

Google Cloud ML

Google proporciona un modelo previamente capacitado para desarrolladores disponible en Cloud AutoML. Esta solución existe para un desarrollador sin una sólida experiencia en máquina de aprendizaje. Los desarrolladores pueden utilizar el modelo previamente entrenado de Google de última generación en sus datos. Permite a cualquier desarrollador entrenar y evaluar cualquier modelo en tan solo unos minutos.

Actualmente, Google proporciona una API REST para visión por computadora, reconocimiento de voz, traducción y PNL.

Google Cloud ML

Con Google Cloud, puede entrenar un marco de aprendizaje automático basado en TensorFlow, Scikit-learn, XGBoost o Keras. El aprendizaje automático de Google Cloud entrenará los modelos en su nube.

La ventaja de utilizar la computación en la nube de Google es la simplicidad de implementar el aprendizaje automático en producción. No es necesario configurar el contenedor Docker. Además, la nube se encarga de la infraestructura. Sabe cómo asignar recursos con CPU, GPU y TPU. Hace que el entrenamiento sea más rápido con cálculo paralelo.

Creador de salvia de AWS

Un competidor importante de Google Cloud es Amazon nube, AWS. Amazon Ha desarrollado Amazon SageMaker permitirá a los científicos y desarrolladores de datos construir, entrenar y poner en producción cualquier modelo de aprendizaje automático.
SageMaker está disponible en un Jupyter Notebook e incluye la biblioteca de aprendizaje automático más utilizada, TensorFlow, MXNet, Scikit-learn, entre otras. Los programas escritos con SageMaker se ejecutan automáticamente en los contenedores Docker. Amazon maneja la asignación de recursos para optimizar la capacitación y la implementación.

Creador de salvia de AWS

Amazon proporciona API a los desarrolladores para agregar inteligencia a sus aplicaciones. En algunas ocasiones, no es necesario reinventar la rueda creando nuevos modelos desde cero mientras existan potentes modelos previamente entrenados en la nube. Amazon proporciona servicios API para visión por computadora, conversacional chatbots y servicios lingüísticos:

Las tres principales API disponibles son:

  • Amazon Rekognición: proporciona reconocimiento de imágenes y videos a una aplicación
  • Amazon Comprender: Realizar minería de texto y procesamiento de lenguaje neuronal para, por ejemplo, automatizar el proceso de verificación de la legalidad de documentos financieros.
  • Amazon lex: Añada chatbot a una aplicación

Estudio de aprendizaje automático de Azure

Probablemente uno de los enfoques más amigables para el aprendizaje automático es Azure Machine Learning Studio. La gran ventaja de esta solución es que no se requieren conocimientos previos de programación.

Microsoft Azure Machine Learning Studio es una herramienta colaborativa de arrastrar y soltar para crear, entrenar, evaluar e implementar soluciones de aprendizaje automático. El modelo se puede implementar de manera eficiente como servicios web y usarse en varias aplicaciones como Excel.

La interfaz de Azure Machine Learning es interactiva, todowing permite al usuario construir un modelo simplemente arrastrando y soltando elementos rápidamente.

Estudio de aprendizaje automático de Azure

Cuando el modelo esté listo, el desarrollador puede guardarlo y enviarlo a Azure. Galería o Azure Marketplace.

Azure Machine Learning se puede integrar en R o Python su paquete integrado personalizado.

IBM watson ml

Watson Studio puede simplificar los proyectos de datos con un proceso optimizado que permite extraer valor e información de los datos para ayudar a que la empresa sea más inteligente y rápida. Watson Studio ofrece un entorno de aprendizaje automático y ciencia de datos colaborativo fácil de usar para crear y entrenar modelos, preparar y analizar datos y compartir conocimientos, todo en un solo lugar. Watson Studio es fácil de usar con un código de arrastrar y soltar.

IBM watson ml

Watson Studio admite algunos de los marcos más populares como Tensorflow, Keras, Pytorch, Caffe y puede implementar un algoritmo de aprendizaje profundo en las últimas GPU de Nvidia para ayudar a acelerar el modelado.

Veredicto

Desde nuestro punto de vista, la solución en la nube de Google es la más recomendada. La solución en la nube de Google ofrece precios más bajos que AWS en al menos un 30% para la solución de almacenamiento de datos y aprendizaje automático. Google está haciendo un excelente trabajo para democratizar la IA. Ha desarrollado un lenguaje de código abierto, TensorFlow, optimizado almacenamiento de datos conexión, proporciona tremendas herramientas desde visualización de datos, análisis de datos hasta aprendizaje automático. Además, Google Console es ergonómico y mucho más completo que AWS o Windows.