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

La inteligencia artificial está creciendo en popularidad desde 2016 y 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 mil millones, en el comercio minorista la cifra se dispara a $600 millones de dólares.

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 y marcos de trabajo 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 aprendizaje automático como servicio.

Torch

Torch es una antigua biblioteca de aprendizaje automático de código abierto. Se lanzó por primera vez hace 15 años. Su lenguaje de programación principal es LUA, pero tiene una implementación en C. Si comparamos PyTorch con TensorFlow, es compatible con una amplia biblioteca de algoritmos de aprendizaje automático, incluido el aprendizaje profundo. Admite la implementación de CUDA para computación paralela.

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 nombra a Pytorch.

Infer.net

Infer.net es desarrollado y mantenido por MicrosoftInfer.net es una biblioteca que se centra principalmente en la estadística bayesiana. Infer.net es una herramienta de visualización para el aprendizaje profundo diseñada para ofrecer a los profesionales algoritmos de última generación para el modelado probabilístico. La biblioteca contiene Herramientas analiticas como el análisis bayesiano, la cadena oculta de Markov y el agrupamiento.

Keras

Keras es un Python marco para el aprendizaje profundo. Es una biblioteca conveniente para construir cualquier algoritmo de aprendizaje profundo. La ventaja de Keras es que utiliza el mismo Python código para ejecutar 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. Si comparamos Theano con TensorFlow, ofrece un cálculo rápido y se puede ejecutar tanto en CPU como en GPU. Theano se desarrolló 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. 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 su producto como Skype, Cortana, Bing y Xbox. El kit de herramientas está disponible tanto en Python y C++.

MXNet

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

Caffe

Caffe es una biblioteca construida por Yangqing Jia cuando era estudiante de doctorado en Berkeley. Comparando Caffe con TensorFlow, Caffe está escrito en C++ y puede realizar cálculos tanto en la CPU como en la GPU. El uso principal de Caffe es la red neuronal convolucional. Sin embargo, en 2017, Facebook amplió Caffe con una arquitectura de aprendizaje más profundo, incluida la red neuronal recurrente. Caffe es utilizado por académicos y empresas emergentes, 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 conveniente Python API, aunque C++ Las API también están 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

Biblioteca Plataforma 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
KIT DE HERRAMIENTAS COGNITIVAS DE MICROSOFT Linux, Windows, Mac con Docker C++
Caffe Linux, macOS, Windows C++
MXNet Linux, Windows, macOS, AndroidIOS, Javascript C++

Veredicto

TensorFlow es la mejor biblioteca de todas porque está diseñada para que todos puedan acceder a ella. La biblioteca TensorFlow incorpora diferentes API para crear arquitecturas de aprendizaje profundo a escala, 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

A continuación se muestran 4 proveedores populares de DL como servicio

Google Cloud ML

Google ofrece un modelo preentrenado para desarrolladores disponible en Cloud AutoML. Esta solución existe para desarrolladores sin una sólida formación 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

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

La ventaja de utilizar la computación en la nube de Google es la simplicidad para implementar el aprendizaje automático en la producción. No es necesario configurar un 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 computación en paralelo.

Creador de salvia de AWS

Un competidor importante para Google Cloud is 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 artificial, chatbots conversacionales 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: Agregar un chatbot a una aplicación

Azure Estudio de aprendizaje automático

Probablemente uno de los enfoques más amigables para el aprendizaje automático es Azure Estudio de aprendizaje automático. 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 una solución de aprendizaje automático. El modelo se puede implementar de manera eficiente como servicios web y se puede usar en varias aplicaciones como Excel.

Azure La interfaz de aprendizaje automático es interactiva y permite al usuario construir un modelo simplemente arrastrando y soltando elementos rápidamente.

Azure Estudio de aprendizaje automático

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

Azure El aprendizaje automático 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

En nuestra opinión, la solución de Google Cloud es la más recomendable. La solución de Google Cloud ofrece precios más bajos que AWS en al menos un 30% para el almacenamiento de datos y la solución de 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.