TensorFlow vs Theano vs Torch vs Keras: Deep Learning Library

Sommario:

Anonim

L'intelligenza artificiale sta crescendo in popolarità dal 2016 con il 20% delle grandi aziende che utilizzano l'IA nelle loro attività (rapporto McKinsey, 2018). Secondo lo stesso rapporto, l'IA può creare valore sostanziale in tutti i settori. Nel settore bancario, ad esempio, il potenziale dell'intelligenza artificiale è stimato a $ 300 miliardi, nel commercio al dettaglio il numero sale alle stelle a $ 600 miliardi.

Per sbloccare il valore potenziale dell'IA, le aziende devono scegliere il giusto framework di deep learning. In questo tutorial imparerai a conoscere le diverse librerie disponibili per svolgere attività di deep learning. Alcune biblioteche esistono da anni, mentre negli ultimi anni sono emerse nuove biblioteche come TensorFlow.

8 migliori librerie / framework di deep learning

In questo elenco, confronteremo i migliori framework di apprendimento profondo. Tutti sono open source e popolari nella comunità dei data scientist. Confronteremo anche il ML popolare come fornitore di servizi

Torcia

Torch è una vecchia libreria di machine learning open source. È stato rilasciato per la prima volta 15 anni fa. È il linguaggio di programmazione principale è LUA, ma ha un'implementazione in C. Confrontando PyTorch e TensorFlow, supporta una vasta libreria per algoritmi di apprendimento automatico, incluso il deep learning. Supporta l'implementazione CUDA per il calcolo parallelo.

Lo strumento di deep learning Torch viene utilizzato dalla maggior parte dei laboratori leader come Facebook, Google, Twitter, Nvidia e così via. Torch ha una libreria con nomi Python Pytorch.

Infer.net

Infer.net è sviluppato e gestito da Microsoft. Infer.net è una libreria con un focus primario sulla statistica bayesiana. Infer.net è uno strumento di visualizzazione per il Deep Learning progettato per offrire ai professionisti algoritmi all'avanguardia per la modellazione probabilistica. La libreria contiene strumenti analitici come analisi bayesiana, catena di Markov nascosta, clustering.

Keras

Keras è un framework Python per il deep learning. È una comoda libreria per costruire qualsiasi algoritmo di apprendimento profondo. Il vantaggio di Keras è che utilizza lo stesso codice Python per essere eseguito su CPU o GPU. Inoltre, l'ambiente di codifica è puro e consente di addestrare algoritmi all'avanguardia per la visione artificiale, il riconoscimento del testo tra gli altri.

Keras è stato sviluppato da François Chollet, un ricercatore di Google. Keras è utilizzato in importanti organizzazioni come CERN, Yelp, Square o Google, Netflix e Uber.

Theano

Theano è una libreria di apprendimento profondo sviluppata dall'Université de Montréal nel 2007. Confrontando Theano e TensorFlow, offre un calcolo veloce e può essere eseguito su CPU e GPU. Theano è stato sviluppato per addestrare algoritmi di reti neurali profonde.

Microsoft Cognitive Toolkit (CNTK)

Il toolkit Microsoft, precedentemente noto come CNTK, è una libreria di apprendimento approfondito sviluppata da Microsoft. Secondo Microsoft, la libreria è tra le più veloci sul mercato. Il toolkit di Microsoft è una libreria open source, sebbene Microsoft la utilizzi ampiamente per i suoi prodotti come Skype, Cortana, Bing e Xbox. Il toolkit è disponibile sia in Python che in C ++.

MXNet

MXnet è una recente libreria di deep learning. È accessibile con più linguaggi di programmazione tra cui C ++, Julia, Python e R. MXNet può essere configurato per funzionare sia su CPU che su GPU. MXNet include un'architettura di apprendimento profondo all'avanguardia come la rete neurale convoluzionale e la memoria a lungo termine e a breve termine. MXNet è progettato per funzionare in armonia con l'infrastruttura cloud dinamica. L'utente principale di MXNet è Amazon

Caffe

Caffe è una biblioteca costruita da Yangqing Jia quando era uno studente di dottorato a Berkeley. Confrontando Caffe e TensorFlow, Caffe è scritto in C ++ e può eseguire calcoli sia su CPU che su GPU. Gli usi principali di Caffe è la rete neurale convoluzionale. Sebbene, nel 2017, Facebook abbia esteso Caffe con un'architettura di apprendimento più profondo, inclusa la rete neurale ricorrente. Caffe è utilizzato da accademici e startup, ma anche da alcune grandi aziende come Yahoo !.

TensorFlow

TensorFlow è un progetto open source di Google. TensorFlow è la più famosa libreria di deep learning di questi tempi. È stato rilasciato al pubblico alla fine del 2015

TensorFlow è sviluppato in C ++ e dispone di una comoda API Python, sebbene siano disponibili anche API C ++. Aziende di spicco come Airbus, Google, IBM e così via utilizzano TensorFlow per produrre algoritmi di deep learning.

TensorFlow Vs Theano Vs Torch Vs Keras Vs infer.net Vs CNTK Vs MXNet Vs Caffe: differenze principali

Biblioteca piattaforma Scritto in Supporto Cuda Esecuzione parallela Ha modelli addestrati RNN CNN
Torcia Linux, MacOS, Windows Lua
Infer.Net Linux, MacOS, Windows Visual Studio No No No No No
Keras Linux, MacOS, Windows Pitone
Theano Cross-platform Pitone
TensorFlow Linux, MacOS, Windows, Android C ++, Python, CUDA
KIT DI STRUMENTI COGNITIVI MICROSOFT Linux, Windows, Mac con Docker C ++
Caffe Linux, MacOS, Windows C ++
MXNet Linux, Windows, MacOs, Android, iOS, Javascript C ++

Verdetto:

TensorFlow è la migliore libreria di tutte perché è progettata per essere accessibile a tutti. La libreria Tensorflow incorpora diverse API per creare un'architettura di apprendimento profondo su larga scala come CNN o RNN. TensorFlow si basa sul calcolo di grafici, consente allo sviluppatore di visualizzare la costruzione della rete neurale con Tensorboad. Questo strumento è utile per eseguire il debug del programma. Infine, Tensorflow è progettato per essere distribuito su larga scala. Funziona su CPU e GPU.

Tensorflow attira la più grande popolarità su GitHub rispetto alle altre librerie di deep learning.

Confronto del machine learning come servizio

Di seguito sono riportati 4 popolari DL come fornitori di servizi

Google Cloud ML

Google fornisce un modello pre-addestrato per sviluppatori disponibile in Cloud AutoML. Questa soluzione esiste per uno sviluppatore senza una solida esperienza nel machine learning. Gli sviluppatori possono utilizzare il modello pre-addestrato di Google all'avanguardia sui propri dati. Consente a qualsiasi sviluppatore di addestrare e valutare qualsiasi modello in pochi minuti.

Google attualmente fornisce un'API REST per visione artificiale, riconoscimento vocale, traduzione e PNL.

Utilizzando Google Cloud, puoi addestrare un framework di machine learning basato su TensorFlow, Scikit-learn, XGBoost o Keras. Il machine learning di Google Cloud addestrerà i modelli attraverso il suo cloud.

Il vantaggio di utilizzare il cloud computing di Google è la semplicità di implementare il machine learning nella produzione. Non è necessario configurare il contenitore Docker. Inoltre, il cloud si prende cura dell'infrastruttura. Sa come allocare risorse con CPU, GPU e TPU. Rende la formazione più veloce con il calcolo in parallelo.

AWS SageMaker

Uno dei principali concorrenti di Google Cloud è Amazon cloud, AWS. Amazon ha sviluppato Amazon SageMaker per consentire ai data scientist e agli sviluppatori di creare, addestrare e portare in produzione qualsiasi modello di machine learning.

SageMaker è disponibile in un Jupyter Notebook e include la libreria di machine learning più utilizzata, TensorFlow, MXNet, Scikit-learn tra gli altri. I programmi scritti con SageMaker vengono eseguiti automaticamente nei contenitori Docker. Amazon gestisce l'allocazione delle risorse per ottimizzare la formazione e la distribuzione.

Amazon fornisce API agli sviluppatori per aggiungere intelligenza alle loro applicazioni. In alcune occasioni, non è necessario reinventare la ruota costruendo da zero nuovi modelli mentre ci sono potenti modelli pre-addestrati nel cloud. Amazon fornisce servizi API per visione artificiale, chatbot conversazionali e servizi linguistici:

Le tre principali API disponibili sono:

  • Amazon Rekognition: fornisce il riconoscimento di immagini e video a un'app
  • Amazon Comprehend: esegue l'estrazione del testo e l'elaborazione del linguaggio neurale per, ad esempio, automatizzare il processo di verifica della legalità del documento finanziario
  • Amazon Lex: aggiungi chatbot a un'app

Azure Machine Learning Studio

Probabilmente uno degli approcci più amichevoli all'apprendimento automatico è Azure Machine Learning Studio. Il vantaggio significativo di questa soluzione è che non è richiesta alcuna conoscenza di programmazione preliminare.

Microsoft Azure Machine Learning Studio è uno strumento collaborativo drag-and-drop per creare, addestrare, valutare e distribuire soluzioni di machine learning. Il modello può essere distribuito in modo efficiente come servizi Web e utilizzato in diverse app come Excel.

L'interfaccia di Azure Machine Learning è interattiva e consente all'utente di creare un modello semplicemente trascinando e rilasciando gli elementi rapidamente.

Quando il modello è pronto, lo sviluppatore può salvarlo e inviarlo a Azure Gallery o Azure Marketplace.

Azure Machine Learning può essere integrato in R o Python nel loro pacchetto integrato personalizzato.

IBM Watson ML

Watson Studio può semplificare i progetti di dati con un processo semplificato che consente di estrarre valore e approfondimenti dai dati per aiutare l'azienda a diventare più intelligente e veloce. Watson Studio offre un ambiente collaborativo di data science e machine learning di facile utilizzo per la creazione e l'addestramento di modelli, la preparazione e l'analisi dei dati e la condivisione di approfondimenti in un unico posto. Watson Studio è facile da usare con un codice drag-and-drop.

Watson Studio supporta alcuni dei framework più popolari come Tensorflow, Keras, Pytorch, Caffe e può implementare un algoritmo di deep learning sulle ultime GPU di Nvidia per accelerare la modellazione.

Verdetto:

Dal nostro punto di vista, la soluzione cloud di Google è quella più consigliata. La soluzione cloud di Google offre prezzi inferiori per AWS di almeno il 30% per l'archiviazione dei dati e la soluzione di machine learning. Google sta facendo un ottimo lavoro per democratizzare l'IA. Ha sviluppato un linguaggio open source, TensorFlow, una connessione al data warehouse ottimizzata, fornisce strumenti straordinari dalla visualizzazione dei dati, all'analisi dei dati e all'apprendimento automatico. Inoltre, Google Console è ergonomica e molto più completa di AWS o Windows.