TensorFlow vs Theano vs Torch vs Keras: Deep Learning Library

Cuprins:

Anonim

Inteligența artificială crește în popularitate din 2016, cu 20% dintre marile companii care folosesc AI în afacerile lor (raport McKinsey, 2018). Conform aceluiași raport, AI poate crea valoare substanțială în toate industriile. În sectorul bancar, de exemplu, potențialul AI este estimat la $ 300 de miliarde de euro, în comerțul cu amănuntul numărul Skyrocket la $ 600 de miliarde de euro.

Pentru a debloca valoarea potențială a IA, companiile trebuie să aleagă cadrul adecvat de învățare profundă. În acest tutorial, veți afla despre diferitele biblioteci disponibile pentru a efectua sarcini de învățare profundă. Unele biblioteci există de ani de zile, în timp ce noi biblioteci precum TensorFlow au ieșit la lumină în ultimii ani.

8 Cele mai bune biblioteci / cadru de învățare profundă

În această listă, vom compara principalele cadre de învățare profundă. Toate acestea sunt open source și populare în comunitatea cercetătorilor de date. De asemenea, vom compara ML-urile populare ca furnizori de servicii

Torta

Torch este o veche bibliotecă open source de învățare automată. Este lansat pentru prima dată acum 15 ani. Este principalul limbaj de programare LUA, dar are o implementare în C. Comparând PyTorch vs TensorFlow, acesta acceptă o vastă bibliotecă pentru algoritmi de învățare automată, inclusiv învățare profundă. Suportă implementarea CUDA pentru calcul paralel.

Instrumentul de învățare profundă Torch este utilizat de majoritatea laboratoarelor de top, precum Facebook, Google, Twitter, Nvidia și așa mai departe. Torch are o bibliotecă în Python denumită Pytorch.

Infer.net

Infer.net este dezvoltat și întreținut de Microsoft. Infer.net este o bibliotecă cu un accent principal pe statistica bayesiană. Infer.net este un instrument de vizualizare pentru Deep Learning conceput pentru a oferi practicienilor algoritmi de ultimă generație pentru modelarea probabilistică. Biblioteca conține instrumente analitice precum analiza bayesiană, lanțul Markov ascuns, gruparea.

Keras

Keras este un cadru Python pentru învățare profundă. Este o bibliotecă convenabilă pentru a construi orice algoritm de învățare profundă. Avantajul Keras este că folosește același cod Python pentru a rula pe CPU sau GPU. În plus, mediul de codare este pur și permite instruirea algoritmului de ultimă generație pentru viziunea computerizată, recunoașterea textului, printre altele.

Keras a fost dezvoltat de François Chollet, cercetător la Google. Keras este utilizat în organizații proeminente precum CERN, Yelp, Square sau Google, Netflix și Uber.

Theano

Theano este o bibliotecă de învățare profundă dezvoltată de Universitatea de Montréal în 2007. Comparând Theano vs TensorFlow, oferă calcul rapid și poate fi rulat atât pe CPU, cât și pe GPU. Theano a fost dezvoltat pentru a antrena algoritmi de rețea neuronală profundă.

Microsoft Cognitive Toolkit (CNTK)

Trusa de instrumente Microsoft, cunoscută anterior ca CNTK, este o bibliotecă de învățare profundă dezvoltată de Microsoft. Potrivit Microsoft, biblioteca este printre cele mai rapide de pe piață. Trusa de instrumente Microsoft este o bibliotecă open-source, deși Microsoft o folosește pe scară largă pentru produsele sale precum Skype, Cortana, Bing și Xbox. Setul de instrumente este disponibil atât în ​​Python, cât și în C ++.

MXNet

MXnet este o bibliotecă recentă de învățare profundă. Este accesibil cu mai multe limbaje de programare, inclusiv C ++, Julia, Python și R. MXNet poate fi configurat pentru a funcționa atât pe CPU, cât și pe GPU. MXNet include arhitectură de învățare profundă de ultimă generație, cum ar fi rețeaua neuronală convoluțională și memoria pe termen scurt. MXNet este construit pentru a funcționa în armonie cu infrastructura dinamic din cloud. Utilizatorul principal al MXNet este Amazon

Caffe

Caffe este o bibliotecă construită de Yangqing Jia când era doctorand la Berkeley. Comparând Caffe vs TensorFlow, Caffe este scris în C ++ și poate efectua calcule atât pe CPU, cât și pe GPU. Principalele utilizări ale Caffe sunt Rețeaua neuronală convoluțională. Deși, în 2017, Facebook a extins Caffe cu o arhitectură de învățare mai profundă, inclusiv rețeaua neuronală recurentă. Caffe este folosit de academicieni și startup-uri, dar și de companii mari precum Yahoo !.

TensorFlow

TensorFlow este un proiect open source Google. TensorFlow este cea mai faimoasă bibliotecă de învățare profundă din zilele noastre. A fost lansat publicului la sfârșitul anului 2015

TensorFlow este dezvoltat în C ++ și are API Python convenabil, deși sunt disponibile și API-uri C ++. Companii proeminente precum Airbus, Google, IBM și așa mai departe folosesc TensorFlow pentru a produce algoritmi de învățare profundă.

TensorFlow Vs Theano Vs Torch Vs Keras Vs infer.net Vs CNTK Vs MXNet Vs Caffe: Key Differences

Bibliotecă Platformă Scris in Suport Cuda Execuție paralelă Are modele antrenate RNN CNN
Torta Linux, MacOS, Windows Lua da da da da da
Infer.Net Linux, MacOS, Windows Studio vizual Nu Nu Nu Nu Nu
Keras Linux, MacOS, Windows Piton da da da da da
Theano Cross-platform Piton da da da da da
TensorFlow Linux, MacOS, Windows, Android C ++, Python, CUDA da da da da da
KIT DE INSTRUMENTE COGNITIVE MICROSOFT Linux, Windows, Mac cu Docker C ++ da da da da da
Caffe Linux, MacOS, Windows C ++ da da da da da
MXNet Linux, Windows, MacOs, Android, iOS, Javascript C ++ da da da da da

Verdict:

TensorFlow este cea mai bună bibliotecă dintre toate, deoarece este construită pentru a fi accesibilă tuturor. Biblioteca Tensorflow încorporează diferite API-uri pentru arhitectura de învățare profundă la scară, cum ar fi CNN sau RNN. TensorFlow se bazează pe calculul grafic, permite dezvoltatorului să vizualizeze construcția rețelei neuronale cu Tensorboad. Acest instrument este util pentru depanarea programului. În cele din urmă, Tensorflow este construit pentru a fi implementat la scară. Funcționează pe CPU și GPU.

Tensorflow atrage cea mai mare popularitate pe GitHub în comparație cu celelalte biblioteci de învățare profundă.

Compararea învățării automate ca serviciu

Următoarele sunt 4 DL populare ca furnizori de servicii

Google Cloud ML

Google oferă modelului pre-instruit pentru dezvoltatori disponibil în Cloud AutoML. Această soluție există pentru un dezvoltator fără un background puternic în învățarea automată. Dezvoltatorii pot utiliza modelul pre-instruit Google de ultimă generație pe datele lor. Permite oricărui dezvoltator să antreneze și să evalueze orice model în doar câteva minute.

Google oferă în prezent un API REST pentru viziune computerizată, recunoaștere a vorbirii, traducere și NLP.

Folosind Google Cloud, puteți instrui un cadru de învățare automată construit pe TensorFlow, Scikit-learn, XGBoost sau Keras. Învățarea automată Google Cloud va antrena modelele în cloud.

Avantajul utilizării cloud computingului Google este simplitatea implementării învățării automate în producție. Nu este nevoie să configurați containerul Docker. În plus, norul se ocupă de infrastructură. Știe cum să aloce resurse cu procesoare, GPU-uri și TPU-uri. Face antrenamentul mai rapid cu calcul paralel.

AWS SageMaker

Un competitor major pentru Google Cloud este Amazon cloud, AWS. Amazon a dezvoltat Amazon SageMaker pentru a permite oamenilor de știință și dezvoltatorilor de date să construiască, să instruiască și să aducă în producție orice modele de învățare automată.

SageMaker este disponibil într-un notebook Jupyter și include cea mai folosită bibliotecă de învățare automată, TensorFlow, MXNet, Scikit-learn, printre altele. Programele scrise cu SageMaker sunt rulate automat în containerele Docker. Amazon gestionează alocarea resurselor pentru a optimiza instruirea și implementarea.

Amazon furnizează API dezvoltatorilor pentru a adăuga informații aplicațiilor lor. În unele ocazii, nu este nevoie să reinventăm roata construind de la zero noi modele, în timp ce există modele puternice pre-antrenate în cloud. Amazon oferă servicii API pentru viziune computerizată, chatbots de conversație și servicii lingvistice:

Cele trei mari API disponibile sunt:

  • Amazon Rekognition: oferă recunoaștere imagine și video unei aplicații
  • Amazon Comprehend: Efectuați extragerea textului și procesarea limbajului neuronal pentru, de exemplu, automatizarea procesului de verificare a legalității documentului financiar
  • Amazon Lex: Adăugați chatbot la o aplicație

Azure Machine Learning Studio

Probabil una dintre cele mai prietenoase abordări ale învățării automate este Azure Machine Learning Studio. Avantajul semnificativ al acestei soluții este că nu sunt necesare cunoștințe de programare prealabile.

Microsoft Azure Machine Learning Studio este un instrument de colaborare drag-and-drop pentru a crea, instrui, evalua și implementa soluția de învățare automată. Modelul poate fi implementat eficient ca servicii web și utilizat în mai multe aplicații precum Excel.

Interfața de învățare Azure Machine este interactivă, permițând utilizatorului să construiască un model doar prin glisarea și plasarea rapidă a elementelor.

Când modelul este gata, dezvoltatorul îl poate salva și îl poate împinge în Galeria Azure sau Piața Azure.

Învățarea Azure Machine poate fi integrată în R sau Python, pachetul personalizat încorporat.

IBM Watson ML

Watson studio poate simplifica proiectele de date printr-un proces raționalizat, care permite extragerea valorii și a informațiilor din date pentru a ajuta afacerea să devină mai inteligentă și mai rapidă. Studioul Watson oferă un mediu colaborativ ușor de utilizat de știință a datelor și de învățare automată pentru construirea și instruirea modelelor, pregătirea și analizarea datelor și schimbul de informații într-un singur loc. Watson Studio este ușor de utilizat cu un cod drag-and-drop.

Studiul Watson acceptă unele dintre cele mai populare cadre precum Tensorflow, Keras, Pytorch, Caffe și poate implementa un algoritm de învățare profundă pe cele mai recente GPU-uri de la Nvidia pentru a ajuta la accelerarea modelării.

Verdict:

Din punctul nostru de vedere, soluția cloud Google este cea mai recomandată. Soluția Google cloud oferă AWS cu prețuri mai mici cu cel puțin 30% pentru soluția de stocare a datelor și învățare automată. Google face o treabă excelentă pentru a democratiza AI. A dezvoltat un limbaj open source, TensorFlow, conexiune optimizată pentru depozit de date, oferă instrumente extraordinare de la vizualizarea datelor, analiza datelor și învățarea automată. În plus, Google Console este ergonomic și mult mai cuprinzător decât AWS sau Windows.