TensorFlow kontra Theano kontra Torch vs Keras: Biblioteka głębokiego uczenia
Sztuczna inteligencja cieszy się coraz większą popularnością od 2016 r. – 20% dużych firm wykorzystuje ją w swojej działalności (McKinsey raport, 2018). Według tego samego raportu AI może tworzyć znaczną wartość w różnych branżach. Przykładowo w bankowości potencjał sztucznej inteligencji szacuje się na ok $300 miliardów, w handlu detalicznym liczba ta gwałtownie wzrasta $600 miliard.
Aby uwolnić potencjalną wartość sztucznej inteligencji, firmy muszą wybrać odpowiednie środowisko głębokiego uczenia się. W tym samouczku poznasz różne biblioteki dostępne do wykonywania zadań głębokiego uczenia się. Niektóre biblioteki istnieją już od lat, a w ostatnich latach wyszły na jaw nowe biblioteki, takie jak TensorFlow.
8 najlepszych bibliotek / frameworków do głębokiego uczenia się
Na tej liście porównamy najlepsze frameworki Deep learning. Wszystkie są open source i popularne w społeczności naukowców zajmujących się danymi. Porównamy również popularne ML jako dostawców usług
Torch
Torch to stara biblioteka open source do uczenia maszynowego. Została wydana po raz pierwszy 15 lat temu. Jej głównym językiem programowania jest LUA, ale posiada implementację w C. Porównanie PyTorW porównaniu z TensorFlow, obsługuje obszerną bibliotekę algorytmów uczenia maszynowego, w tym głębokiego uczenia. Obsługuje implementację CUDA do obliczeń równoległych.
TorNarzędzie do głębokiego uczenia się jest używane przez większość wiodących laboratoriów, takich jak Facebook, Google, Twitter, Nvidia itd. Torch ma bibliotekę w Python nazywa Pytorcha.
Infer.net
Infer.net jest rozwijany i utrzymywany przez Microsoft. Infer.net to biblioteka, której głównym celem jest statystyka bayesowska. Infer.net to narzędzie wizualizacyjne dla Deep Learning, zaprojektowane w celu oferowania praktykom najnowocześniejszych algorytmów do modelowania probabilistycznego. Biblioteka zawiera narzędzia analityczne takie jak analiza bayesowska, ukryty łańcuch Markowa, klasteryzacja.
Keras
Keras jest Python ramy głębokiego uczenia się. Jest to wygodna biblioteka do konstruowania dowolnego algorytmu głębokiego uczenia się. Zaletą Keras jest to, że używa tego samego Python kod do uruchomienia na CPU lub GPU. Poza tym środowisko kodowania jest czyste i pozwala na szkolenie najnowocześniejszych algorytmów m.in. widzenia komputerowego, rozpoznawania tekstu.
Keras został opracowany przez François Cholleta, badacza z Google. Keras jest używany w znanych organizacjach, takich jak CERN, Yelp, Square czy Google, Netflixi Uber.
Theano
Theano to biblioteka głębokiego uczenia opracowana przez Université de Montréal w 2007 r. Porównując Theano z TensorFlow, oferuje ona szybkie obliczenia i może być uruchamiana zarówno na CPU, jak i GPU. Theano została opracowana w celu trenowania algorytmów głębokiej sieci neuronowej.
Microsoft Zestaw narzędzi poznawczych (CNTK)
Microsoft Toolkit, wcześniej znany jako CNTK, to biblioteka do głębokiego uczenia się opracowana przez Microsoft, Według Microsoft, biblioteka należy do najszybszych na rynku. Microsoft Toolkit jest jednak biblioteką typu open source Microsoft używa go szeroko w swoich produktach, np Skype, Cortana, Bing i Xbox. Zestaw narzędzi jest dostępny zarówno w Python oraz C++.
Sieć MX
MXnet to najnowsza biblioteka do głębokiego uczenia się. Jest dostępny w wielu językach programowania, w tym C++, Julia, Python i R. MXNet można skonfigurować do pracy zarówno na CPU, jak i GPU. MXNet obejmuje najnowocześniejszą architekturę głębokiego uczenia, taką jak Convolutional Neural Network i Long Short-Term Memory. MXNet jest zbudowany do pracy w harmony z dynamiczną infrastrukturą chmurową. Głównym użytkownikiem MXNet jest Amazon
Kawa
Caffe to biblioteka zbudowana przez Yangqing Jia, gdy był on doktorantem w Berkeley. Porównując Caffe z TensorFlow, Caffe jest zapisane C++ i może wykonywać obliczenia zarówno na CPU, jak i GPU. Głównym zastosowaniem Caffe jest Convolutional Neural Network. Chociaż w 2017 r. Facebook rozszerzył Caffe o bardziej głęboką architekturę uczenia, w tym Recurrent Neural Network. Caffe jest używany przez naukowców i startupy, ale także przez niektóre duże firmy, takie jak Yahoo!.
TensorFlow
TensorFlow jest Google Projekt open source. TensorFlow to obecnie najpopularniejsza biblioteka głębokiego uczenia. Została udostępniona publicznie pod koniec 2015 roku.
TensorFlow został opracowany w C++ i ma wygodne Python Chociaż API C++ Dostępne są również interfejsy API. Znane firmy, takie jak Airbus, Google, IBM i tak dalej, wykorzystują TensorFlow do tworzenia algorytmów głębokiego uczenia.
TensorFlow kontra Theano kontra Torch vs Keras vs infer.net vs CNTK vs MXNet vs Caffe: kluczowe różnice
| Biblioteka | Platforma | Napisane w | Wsparcie Cuda | Wykonywanie równoległe | Ma przeszkolone modele | RNN | CNN |
|---|---|---|---|---|---|---|---|
| Torch | Linux, macOS, Windows | Luka | Tak | Tak | Tak | Tak | Tak |
| Infer.Net | Linux, macOS, Windows | visual Studio | Nie | Nie | Nie | Nie | Nie |
| Keras | Linux, macOS, Windows | Python | Tak | Tak | Tak | Tak | Tak |
| Theano | Cross-platformy | Python | Tak | Tak | Tak | Tak | Tak |
| TensorFlow | Linux, macOS, Windows, Android | C++, Python, CUDA | Tak | Tak | Tak | Tak | Tak |
| ZESTAW NARZĘDZI POZNAWCZYCH MICROSOFT | Linux, Windows, Mac z Dockerem | C++ | Tak | Tak | Tak | Tak | Tak |
| Kawa | Linux, macOS, Windows | C++ | Tak | Tak | Tak | Tak | Tak |
| Sieć MX | Linux, Windows, macOS, Android, IOS, Javascript | C++ | Tak | Tak | Tak | Tak | Tak |
Werdykt
TensorFlow jest najlepszą biblioteką ze wszystkich, ponieważ jest zbudowana tak, aby była dostępna dla każdego. Biblioteka TensorFlow zawiera różne interfejsy API do budowania na skalę architektury głębokiego uczenia, takiej jak CNN lub RNN. TensorFlow opiera się na obliczeniach grafowych, co pozwala deweloperowi na wizualizację konstrukcji sieci neuronowej za pomocą Tensorbad. To narzędzie jest pomocne w debugowaniu programu. Na koniec, Tensorflow jest zbudowany do wdrażania na dużą skalę. Działa na CPU i GPU.
Tensorflow wtracma największą popularność na GitHubie w porównaniu do innych bibliotek głębokiego uczenia.
Porównanie uczenia maszynowego jako usługi
Poniżej przedstawiono 4 popularnych dostawców DL jako usług
Google Cloud ML
Google Zapewnia wstępnie przeszkolony model dla programistów dostępny w Cloud AutoML. To rozwiązanie jest przeznaczone dla programistów bez solidnego doświadczenia w uczenie maszynowe. Deweloperzy mogą korzystać z najnowocześniejszych rozwiązań Googlewstępnie wytrenowany model na podstawie ich danych. Pozwala to każdemu programiście na wytrenowanie i ocenę dowolnego modelu w zaledwie kilka minut.
Google obecnie udostępnia interfejs API REST dla potrzeb przetwarzania obrazu komputerowego, rozpoznawania mowy, tłumaczeń i przetwarzania języka naturalnego.
Korzystanie z Google Cloud, możesz wytrenować platformę uczenia maszynowego zbudowaną na TensorFlow, Scikit-learn, XGBoost lub Keras. Google Cloud uczenie maszynowe będzie trenować modele w całej chmurze.
Zaleta korzystania Google Chmura obliczeniowa to prostota wdrażania uczenia maszynowego w środowisku produkcyjnym. Nie ma potrzeby konfigurowania kontenera Docker. Ponadto chmura dba o infrastrukturę. Wie, jak przydzielać zasoby procesorom, procesorom graficznym i procesorom TPU. Przyspiesza to proces szkolenia dzięki obliczeniom równoległym.
AWS SageMaker
Głównym konkurentem Google Cloud is Amazon Chmura, AWS. Amazon opracowała Amazon SageMaker umożliwia badaczom danych i programistom budowanie, trenowanie i wprowadzanie do produkcji dowolnych modeli uczenia maszynowego.
SageMaker jest dostępny w formacie Jupyter Notatnik i zawiera najczęściej używaną bibliotekę uczenia maszynowego, między innymi TensorFlow, MXNet, Scikit-learn. Programy napisane w SageMaker są automatycznie uruchamiane w kontenerach Docker. Amazon zajmuje się alokacją zasobów w celu optymalizacji szkolenia i wdrożenia.
Amazon udostępnia API programistom w celu dodania inteligencji do ich aplikacji. W niektórych przypadkach nie ma potrzeby wymyślania koła na nowo poprzez budowanie od podstaw nowych modeli, podczas gdy w chmurze dostępne są zaawansowane, wstępnie wytrenowane modele. Amazon dostarcza usługi API dla przetwarzania obrazu, konwersacyjnych chatbotów i usług językowych:
Trzy główne dostępne interfejsy API to:
- Amazon Rozpoznanie: zapewnia rozpoznawanie obrazu i wideo w aplikacji
- Amazon Zrozumieć: Wykonuj eksplorację tekstu i przetwarzanie języka neuronowego, aby np. zautomatyzować proces sprawdzania legalności dokumentu finansowego
- Amazon Lex: Dodaj chatbota do aplikacji
Azure Studio uczenia maszynowego
Prawdopodobnie jednym z najbardziej przyjaznych podejść do uczenia maszynowego jest Azure Studio uczenia maszynowego. Istotną zaletą tego rozwiązania jest to, że nie jest wymagana wcześniejsza wiedza programistyczna.
Microsoft Azure Machine Learning Studio to narzędzie do współpracy typu „przeciągnij i upuść” służące do tworzenia, trenowania, oceniania i wdrażania rozwiązań uczenia maszynowego. Model można wydajnie wdrażać jako usługi sieciowe i używać w wielu aplikacjach, takich jak Excel.
Azure Interfejs uczenia maszynowego jest interaktywny, co pozwala użytkownikowi na zbudowanie modelu poprzez proste przeciąganie i upuszczanieping elementy szybko.
Gdy model będzie gotowy, programista może go zapisać i przekazać do innego miejsca Azure Galeria or Azure Rynek.
Azure Uczenie maszynowe można zintegrować z R lub Python ich niestandardowy wbudowany pakiet.
IBM Watson ML
Studio Watson może uprościć projekty danych dzięki usprawnionemu procesowi, który umożliwia np.tracWyciąganie wartości i wniosków z danych, aby pomóc firmie działać sprawniej i szybciej. Watson Studio oferuje łatwe w obsłudze środowisko do współpracy w zakresie nauki o danych i uczenia maszynowego, umożliwiające tworzenie i trenowanie modeli, przygotowywanie i analizowanie danych oraz udostępnianie spostrzeżeń w jednym miejscu. Watson Studio jest łatwe w obsłudze dzięki funkcji „przeciągnij i upuść”.
Studio Watson obsługuje niektóre z najpopularniejszych platform, takich jak Tensorflow, Keras, Pytorch, Caffe i może wdrożyć algorytm głębokiego uczenia się na najnowszych procesorach graficznych firmy Nvidia, aby przyspieszyć modelowanie.
Werdykt
Z naszego punktu widzenia, Google rozwiązania chmurowe są najbardziej polecane. Google Rozwiązanie w chmurze zapewnia niższe ceny o co najmniej 30% w porównaniu z AWS w przypadku rozwiązań do przechowywania danych i uczenia maszynowego. Google wykonuje świetną robotę, demokratyzując sztuczną inteligencję. Opracowała język open source, TensorFlow, zoptymalizowany hurtownia danych Połączenie zapewnia niesamowite narzędzia, od wizualizacji danych i ich analizy po uczenie maszynowe. Poza tym, Google Konsola jest ergonomiczna i znacznie bardziej wszechstronna niż AWS lub Windows.






