TensorFlow vs. Theano vs. Torch vs. Keras: Deep Learning Library

Künstliche Intelligenz ist großwing seit 2016 immer beliebter, da 20 % der großen Unternehmen KI in ihren Geschäften einsetzen (McKinsey berichten, 2018). Dem gleichen Bericht zufolge kann KI branchenübergreifend einen erheblichen Mehrwert schaffen. Im Bankwesen beispielsweise wird das Potenzial von KI geschätzt $300 billion, im Einzelhandel steigt die Zahl sprunghaft an $600 billIon.

Um den potenziellen Wert von KI auszuschöpfen, müssen Unternehmen das richtige Deep-Learning-Framework wählen. In diesem Tutorial erfahren Sie mehr über die verschiedenen Bibliotheken, die zur Durchführung von Deep-Learning-Aufgaben zur Verfügung stehen. Einige Bibliotheken gibt es schon seit Jahren, während in den letzten Jahren neue Bibliotheken wie TensorFlow ans Licht gekommen sind.

Die 8 besten Deep-Learning-Bibliotheken/Frameworks

In dieser Liste vergleichen wir die besten Deep-Learning-Frameworks. Alle von ihnen sind Open Source und in der Datenwissenschaftler-Community beliebt. Wir werden auch beliebte ML-as-a-Service-Anbieter vergleichen

Fackel

Torch ist eine alte Open-Source-Bibliothek für maschinelles Lernen. Die Erstveröffentlichung erfolgte vor 15 Jahren. Die primäre Programmiersprache ist LUA, es gibt jedoch eine Implementierung in C. Beim Vergleich von PyTorch und TensorFlow unterstützt es eine umfangreiche Bibliothek für Algorithmen für maschinelles Lernen, einschließlich Deep Learning. Es unterstützt die CUDA-Implementierung für parallele Berechnungen.

Das Torch-Deep-Learning-Tool wird von den meisten führenden Laboren wie Facebook, Google, Twitter, Nvidia usw. verwendet. Torch hat eine Bibliothek in Python mit dem Namen Pytorch.

Infer.net

Infer.net wird entwickelt und gepflegt von Microsoft. Infer.net ist eine Bibliothek mit Schwerpunkt auf der Bayes'schen Statistik. Infer.net ist ein Visualisierungstool für Deep Learning, das Praktikern modernste Algorithmen für die probabilistische Modellierung bieten soll. Die Bibliothek enthält analytische Werkzeuge wie Bayes'sche Analyse, versteckte Markov-Kette, Clustering.

Keras

Keras ist ein Python-Framework für Deep Learning. Es handelt sich um eine praktische Bibliothek zum Erstellen beliebiger Deep-Learning-Algorithmen. Der Vorteil von Keras besteht darin, dass es denselben Python-Code für die Ausführung auf CPU oder GPU verwendet. Darüber hinaus ist die Codierungsumgebung rein und ermöglicht das Training modernster Algorithmen für Computer Vision und Texterkennung unter anderem.

Keras wurde von François Chollet, einem Forscher bei Google, entwickelt. Keras wird in bekannten Organisationen wie CERN, Yelp, Square oder Google eingesetzt. Netflix, und Uber.

Keras

Theano

Theano ist eine Deep-Learning-Bibliothek, die 2007 von der Université de Montréal entwickelt wurde. Im Vergleich zu Theano und TensorFlow bietet sie schnelle Berechnungen und kann sowohl auf der CPU als auch auf der GPU ausgeführt werden. Theano wurde entwickelt, um Algorithmen für tiefe neuronale Netze zu trainieren.

Microsoft Kognitives Toolkit (CNTK)

Microsoft Toolkit, früher bekannt als CNTK, ist eine Deep-Learning-Bibliothek, die von entwickelt wurde Microsoft. Nach MicrosoftDamit gehört die Bibliothek zu den schnellsten auf dem Markt. Microsoft Toolkit ist jedoch eine Open-Source-Bibliothek Microsoft nutzt es ausgiebig für seine Produkte wie Skype, Cortana, Bing und Xbox. Das Toolkit ist sowohl in Python als auch in C++ verfügbar.

MXNet

MXnet ist eine aktuelle Deep-Learning-Bibliothek. Es ist mit mehreren Programmiersprachen zugänglich, darunter C++, Julia, Python und R. MXNet kann so konfiguriert werden, dass es sowohl auf der CPU als auch auf der GPU funktioniert. MXNet beinhaltet hochmodernes Deep Learning archiTechnologien wie Convolutional Neural Network und Long Short-Term Memory. MXNet ist so konzipiert, dass es mit der dynamischen Cloud-Infrastruktur harmoniert. Der Hauptbenutzer von MXNet ist Amazon

Caffe

Caffe ist eine Bibliothek, die Yangqing Jia als Doktorand in Berkeley erbaut hat. Beim Vergleich von Caffe und TensorFlow ist zu erkennen, dass Caffe in C++ geschrieben ist und Berechnungen sowohl auf der CPU als auch auf der GPU durchführen kann. Der Haupteinsatzbereich von Caffe ist das Convolutional Neural Network. Allerdings hat Facebook 2017 Caffe um mehr Deep Learning erweitert architektur, einschließlich Recurrent Neural Network. Caffe wird von Akademikern und Startups, aber auch einigen großen Unternehmen wie Yahoo! genutzt.

TensorFlow

TensorFlow ist ein Open-Source-Projekt von Google. TensorFlow ist heutzutage die bekannteste Deep-Learning-Bibliothek. Es wurde Ende 2015 der Öffentlichkeit zugänglich gemacht

TensorFlow

TensorFlow wurde in C++ entwickelt und verfügt über eine praktische Python-API, obwohl auch C++-APIs verfügbar sind. Prominente Unternehmen wie Airbus, Google, IBM usw. verwenden TensorFlow, um Deep-Learning-Algorithmen zu erstellen.

TensorFlow vs. Theano vs. Torch vs. Keras vs. infer.net vs. CNTK vs. MXNet vs. Caffe: Hauptunterschiede

Bibliothek Plattform Geschrieben in Cuda-Unterstützung Parallele Ausführung Hat trainierte Modelle RNN CNN
Fackel Linux, macOS, Windows Lua Ja Ja Ja Ja Ja
Infer.Net Linux, macOS, Windows Visual Studio Nein Nein Nein Nein Nein
Keras Linux, macOS, Windows Python Ja Ja Ja Ja Ja
Theano Plattformübergreifende Python Ja Ja Ja Ja Ja
TensorFlow Linux, macOS, Windows, Android C++, Python, CUDA Ja Ja Ja Ja Ja
MICROSOFT Kognitives Toolkit Linux, Windows, Mac mit Docker C + + Ja Ja Ja Ja Ja
Caffe Linux, macOS, Windows C + + Ja Ja Ja Ja Ja
MXNet Linux, Windows, macOS, Android, iOS, Javascript C + + Ja Ja Ja Ja Ja

Urteil

TensorFlow ist die beste Bibliothek von allen, weil sie so konzipiert ist, dass sie für jedermann zugänglich ist. Die Tensorflow-Bibliothek umfasst verschiedene APIs, um maßstabsgetreues Deep Learning zu erstellen architektur wie CNN oder RNN. TensorFlow basiert auf der Graphenberechnung und ermöglicht es dem Entwickler, den Aufbau des neuronalen Netzwerks zu visualisieren Tensorboad. Dieses Tool ist hilfreich beim Debuggen des Programms. Schließlich ist Tensorflow für den Einsatz in großem Maßstab konzipiert. Es läuft auf CPU und GPU.

Tensorflow erfreut sich auf GitHub im Vergleich zu den anderen Deep-Learning-Bibliotheken der größten Beliebtheit.

Vergleich von maschinellem Lernen als Service

Following sind 4 beliebte DL-as-a-Service-Anbieter

Google Cloud ML

Google stellt Entwicklern ein vorab trainiertes Modell zur Verfügung, das in Cloud AutoML verfügbar ist. Diese Lösung richtet sich an Entwickler ohne fundierte Kenntnisse in Maschinelles Lernen. Entwickler können das hochmoderne vorab trainierte Modell von Google für ihre Daten verwenden. Es ermöglicht jedem Entwickler, jedes Modell in nur wenigen Minuten zu trainieren und zu bewerten.

Google stellt derzeit eine REST-API für Computer Vision, Spracherkennung, Übersetzung und NLP bereit.

Google Cloud ML

Mit Google Cloud können Sie ein Framework für maschinelles Lernen trainieren, das auf TensorFlow, Scikit-learn, XGBoost oder Keras basiert. Durch maschinelles Lernen in Google Cloud werden die Modelle in der gesamten Cloud trainiert.

Der Vorteil der Nutzung von Google Cloud Computing liegt in der einfachen Implementierung von maschinellem Lernen in der Produktion. Es ist nicht erforderlich, einen Docker-Container einzurichten. Außerdem kümmert sich die Cloud um die Infrastruktur. Es weiß, wie Ressourcen mit CPUs, GPUs und TPUs zugewiesen werden. Es beschleunigt das Training durch parallele Berechnungen.

AWS SageMaker

Ein Hauptkonkurrent von Google Cloud ist Amazon Wolke, AWS. Amazon entwickelt Amazon SageMaker ermöglicht es Datenwissenschaftlern und Entwicklern, beliebige Modelle für maschinelles Lernen zu erstellen, zu trainieren und in die Produktion zu bringen.
SageMaker ist in einer Version erhältlich Jupyter Notebook und enthält die am häufigsten verwendete Bibliothek für maschinelles Lernen, unter anderem TensorFlow, MXNet und Scikit-learn. Mit SageMaker geschriebene Programme werden automatisch in den Docker-Containern ausgeführt. Amazon kümmert sich um die Ressourcenzuweisung, um die Schulung und den Einsatz zu optimieren.

AWS SageMaker

Amazon stellt den Entwicklern APIs zur Verfügung, um ihren Anwendungen Intelligenz hinzuzufügen. In manchen Fällen besteht keine Notwendigkeit, das Rad neu zu erfinden, indem neue Modelle von Grund auf erstellt werden, solange leistungsstarke vorab trainierte Modelle in der Cloud vorhanden sind. Amazon bietet API-Dienste für Computer Vision und Konversation chatbots und Sprachdienstleistungen:

Die drei wichtigsten verfügbaren APIs sind:

  • Amazon Anerkennung: Bietet Bild- und Videoerkennung für eine App
  • Amazon Begreifen: Führen Sie Text-Mining und neuronale Sprachverarbeitung durch, um beispielsweise den Prozess der Überprüfung der Rechtmäßigkeit von Finanzdokumenten zu automatisieren
  • Amazon Lex: Speichern chatbot zu einer App

Azure Machine Learning Studio

Einer der wohl benutzerfreundlichsten Ansätze für maschinelles Lernen ist Azure Machine Learning Studio. Der wesentliche Vorteil dieser Lösung besteht darin, dass keine Programmierkenntnisse erforderlich sind.

Microsoft Azure Machine Learning Studio ist ein kollaboratives Drag-and-Drop-Tool zum Erstellen, Trainieren, Bewerten und Bereitstellen von Lösungen für maschinelles Lernen. Das Modell kann effizient als Webdienste bereitgestellt und in verschiedenen Apps wie Excel verwendet werden.

Die Azure Machine Learning-Schnittstelle ist übrigens interaktivwing Der Benutzer kann ein Modell einfach durch schnelles Ziehen und Ablegen von Elementen erstellen.

Azure Machine Learning Studio

Wenn das Modell fertig ist, kann der Entwickler es speichern und an Azure übertragen Fotogalerie oder Azure Marketplace.

Azure Machine Learning kann in R oder integriert werden Python ihr benutzerdefiniertes integriertes Paket.

IBM Watson ML

Watson Studio kann die Datenprojekte durch einen optimierten Prozess vereinfachen, der es ermöglicht, Werte und Erkenntnisse aus den Daten zu extrahieren, um dem Unternehmen dabei zu helfen, intelligenter und schneller zu werden. Watson Studio bietet eine benutzerfreundliche Umgebung für kollaborative Datenwissenschaft und maschinelles Lernen zum Erstellen und Trainieren von Modellen, zum Vorbereiten und Analysieren von Daten sowie zum Teilen von Erkenntnissen – alles an einem Ort. Watson Studio ist einfach per Drag-and-Drop-Code zu verwenden.

IBM Watson ML

Watson Studio unterstützt einige der beliebtesten Frameworks wie Tensorflow, Keras, Pytorch und Caffe und kann einen Deep-Learning-Algorithmus auf den neuesten GPUs von Nvidia bereitstellen, um die Modellierung zu beschleunigen.

Urteil

Aus unserer Sicht ist die Cloud-Lösung von Google diejenige, die am meisten empfohlen wird. Die Cloud-Lösung von Google bietet im Vergleich zu AWS um mindestens 30 % niedrigere Preise für Datenspeicherung und Lösungen für maschinelles Lernen. Google leistet hervorragende Arbeit bei der Demokratisierung der KI. Es wurde eine optimierte Open-Source-Sprache, TensorFlow, entwickelt Data Warehouse Die Verbindung bietet hervorragende Tools von der Datenvisualisierung über die Datenanalyse bis hin zum maschinellen Lernen. Außerdem ist Google Console ergonomisch und viel umfassender als AWS oder Windows.