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. Comparando PyTorEn comparaciรณn con TensorFlow, admite una amplia biblioteca de algoritmos de aprendizaje automรกtico, incluido el aprendizaje profundo. Admite la implementaciรณn de CUDA para computaciรณn paralela.
TorLa herramienta de aprendizaje profundo ch es utilizada por la mayorรญa de los laboratorios lรญderes como Facebook, Google, Twitter, Nvidia, etcรฉtera. 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, un investigador en GoogleKeras se utiliza en organizaciones destacadas como CERN, Yelp, Square o Google, Netflixy Uber.
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 Google TensorFlow es un proyecto de cรณdigo abierto. Actualmente es la biblioteca de aprendizaje profundo mรกs famosa. Se lanzรณ al pรบblico a finales de 2015.
TensorFlow estรก desarrollado en C++ y tiene conveniente Python API, aunque C++ Tambiรฉn hay API 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 | Sรญ: | Sรญ: | Sรญ: | Sรญ: | Sรญ: |
| Inferir.Net | Linux, macOS, Windows | Visual Studio | No | No | No | No | No |
| Keras | Linux, macOS, Windows | Python | Sรญ: | Sรญ: | Sรญ: | Sรญ: | Sรญ: |
| Theano | Mediciรณn | Python | Sรญ: | Sรญ: | Sรญ: | Sรญ: | Sรญ: |
| TensorFlow | Linux, macOS, Windows, Android | C++, Python, CUDA | Sรญ: | Sรญ: | Sรญ: | Sรญ: | Sรญ: |
| KIT DE HERRAMIENTAS COGNITIVAS DE MICROSOFT | Linux, Windows, Mac con Docker | C++ | Sรญ: | Sรญ: | Sรญ: | Sรญ: | Sรญ: |
| Caffe | Linux, macOS, Windows | C++ | Sรญ: | Sรญ: | Sรญ: | Sรญ: | Sรญ: |
| MXNet | Linux, Windows, macOS, AndroidIOS, Javascript | C++ | Sรญ: | Sรญ: | Sรญ: | Sรญ: | Sรญ: |
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 entracEs la biblioteca mรกs popular 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 Proporciona un modelo preentrenado para desarrolladores disponible en Cloud AutoML. Esta soluciรณn existe para un desarrollador sin una sรณlida experiencia en aprendizaje automรกticoLos desarrolladores pueden utilizar tecnologรญa de vanguardia. GoogleUtiliza un modelo preentrenado con sus propios datos. Permite a cualquier desarrollador entrenar y evaluar cualquier modelo en tan solo unos minutos.
Google Actualmente proporciona una API REST para visiรณn artificial, reconocimiento de voz, traducciรณn y procesamiento del lenguaje natural.
El uso de 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 usar Google La computaciรณn en la nube simplifica la implementaciรณn del aprendizaje automรกtico en producciรณn. No es necesario configurar contenedores Docker. Ademรกs, la nube se encarga de la infraestructura, distribuyendo eficazmente los recursos con CPU, GPU y TPU. Esto acelera el entrenamiento mediante computaciรณn paralela.
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.
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, lo que permite al usuario construir un modelo simplemente arrastrando y soltando elementos.ping elementos rรกpidamente.
Cuando el modelo estรฉ listo, el desarrollador puede guardarlo y enviarlo a Azure Ver 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 permitetracWatson Studio ofrece informaciรณn valiosa y valiosa a partir de los datos para ayudar a la empresa a ser mรกs inteligente y รกgil. Proporciona un entorno colaborativo de ciencia de datos y aprendizaje automรกtico fรกcil de usar para crear y entrenar modelos, preparar y analizar datos, y compartir informaciรณn, todo en un mismo lugar. Watson Studio es fรกcil de usar gracias a su interfaz de arrastrar y soltar cรณdigo.
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, Google La soluciรณn en la nube es la mรกs recomendada. Google La soluciรณn en la nube ofrece precios mรกs bajos que AWS, al menos un 30% mรกs bajos para el almacenamiento de datos y las soluciones 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 La conexiรณn proporciona herramientas extraordinarias, desde la visualizaciรณn de datos y el anรกlisis de datos hasta el aprendizaje automรกtico. Ademรกs, Google La consola es ergonรณmica y mucho mรกs completa que AWS o Windows.






