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

Künstliche Intelligenz erfreut sich seit 2016 wachsender Beliebtheit. 20 % der großen Unternehmen nutzen KI in ihren Unternehmen (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 Milliarden, im Einzelhandel schnellt die Zahl auf $600 Milliarden.

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 sind Open Source und in der Data-Scientist-Community beliebt. Wir vergleichen auch beliebte ML-as-a-Service-Anbieter

Fackel

Torch ist eine alte Open-Source-Bibliothek für maschinelles Lernen. Sie wurde erstmals vor 15 Jahren veröffentlicht. Ihre primäre Programmiersprache ist LUA, aber sie hat auch eine Implementierung in C. Im Vergleich zu PyTorch unterstützt sie eine umfangreiche Bibliothek für Algorithmen für maschinelles Lernen, einschließlich Deep Learning. Sie unterstützt die CUDA-Implementierung für parallele Berechnungen.

Das Deep-Learning-Tool Torch wird von den meisten führenden Labors wie Facebook, Google, Twitter, Nvidia usw. verwendet. Torch verfügt über eine Bibliothek in Python Namen Pytorch.

Infer.net

Infer.net wird entwickelt und gepflegt von Microsoft. Infer.net ist eine Bibliothek mit einem Schwerpunkt auf der Bayesschen Statistik. Infer.net ist ein Visualisierungstool für Deep Learning, das Praktikern hochmoderne Algorithmen für probabilistische Modellierung bietet. Die Bibliothek enthält analytische Werkzeuge wie Bayes-Analyse, versteckte Markow-Ketten, Clustering.

Keras

Keras ist ein Python Framework für Deep Learning. Es ist eine praktische Bibliothek zum Erstellen beliebiger Deep-Learning-Algorithmen. Der Vorteil von Keras besteht darin, dass es dasselbe Framework verwendet Python Code, der auf CPU oder GPU ausgeführt wird. Außerdem ist die Codierungsumgebung rein und ermöglicht das Trainieren modernster Algorithmen für Computervision, Texterkennung und mehr.

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 TensorFlow bietet Theano schnelle Berechnungen und kann sowohl auf CPU als auch auf GPU ausgeführt werden. Theano wurde entwickelt, um tiefe neuronale Netzwerkalgorithmen 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 und C++.

MXNet

MXnet ist eine neue Deep-Learning-Bibliothek. Sie ist mit mehreren Programmiersprachen zugänglich, darunter C++, Julia, Python und R. MXNet kann so konfiguriert werden, dass es sowohl auf CPU als auch auf GPU funktioniert. MXNet beinhaltet hochmoderne Deep-Learning-Architektur wie Convolutional Neural Network und Long Short-Term Memory. MXNet ist für den Einsatz in harmony mit dynamischer Cloud-Infrastruktur. Der Hauptbenutzer von MXNet ist Amazon

Caffe

Caffe ist eine Bibliothek, die Yangqing Jia während seiner Zeit als Doktorand in Berkeley erstellt hat. Vergleicht man Caffe mit TensorFlow, so ist Caffe in C++ und kann Berechnungen sowohl auf der CPU als auch auf der GPU durchführen. Die Hauptanwendung von Caffe ist Convolutional Neural Network. Allerdings hat Facebook Caffe 2017 um eine Deep-Learning-Architektur erweitert, darunter Recurrent Neural Network. Caffe wird von Akademikern und Startups, aber auch von einigen großen Unternehmen wie Yahoo! verwendet.

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 entwickelt in C++ und verfügt über bequeme Python API, obwohl C++ APIs sind ebenfalls verfügbar. Namhafte Unternehmen wie Airbus, Google, IBM und weitere 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 COGNITIVE 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, da sie so aufgebaut ist, dass sie für jeden zugänglich ist. Die Tensorflow-Bibliothek enthält verschiedene APIs zum Erstellen von Deep-Learning-Architekturen wie CNN oder RNN in großem Maßstab. TensorFlow basiert auf Graphenberechnungen und ermöglicht dem Entwickler die Visualisierung des Aufbaus des neuronalen Netzwerks mit Tensorboad. Dieses Tool ist hilfreich, um das Programm zu debuggen. Schließlich ist Tensorflow so konzipiert, dass es in großem Maßstab eingesetzt werden kann. 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

Nachfolgend sind 4 beliebte DL-as-a-Service-Anbieter aufgeführt

Google Cloud ML

Google stellt Entwicklern ein vorab trainiertes Modell zur Verfügung, das in Cloud AutoML verfügbar ist. Diese Lösung ist für 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

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

Der Vorteil der Verwendung von Google Cloud Computing besteht in der Einfachheit, maschinelles Lernen in der Produktion einzusetzen. Es ist nicht erforderlich, Docker-Container einzurichten. Außerdem kümmert sich die Cloud um die Infrastruktur. Sie weiß, wie Ressourcen mit CPUs, GPUs und TPUs zugeteilt werden. Durch parallele Berechnungen wird das Training schneller.

AWS SageMaker

Ein Hauptkonkurrent von Google Cloud is 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, Konversations-Chatbots und Sprachdienste:

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: Chatbot zu einer App hinzufügen

Azure Studio für maschinelles Lernen

Einer der wahrscheinlich freundlichsten Ansätze für maschinelles Lernen ist Azure Machine Learning Studio. Der große Vorteil dieser Lösung besteht darin, dass keine Programmierkenntnisse erforderlich sind.

Microsoft Azure Machine Learning Studio ist ein Drag-and-Drop-Kollaborationstool zum Erstellen, Trainieren, Bewerten und Bereitstellen von Machine-Learning-Lösungen. Das Modell kann effizient als Webservices bereitgestellt und in verschiedenen Apps wie Excel verwendet werden.

Azure Die Schnittstelle für maschinelles Lernen ist interaktiv und ermöglicht dem Benutzer die Erstellung eines Modells durch schnelles Ziehen und Ablegen von Elementen.

Azure Studio für maschinelles Lernen

Wenn das Modell fertig ist, kann der Entwickler es speichern und an Azure Galerie or Azure Marktplatz.

Azure Maschinelles Lernen kann in R integriert werden oder 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 Google Cloud-Lösung die am meisten empfohlene. Die Google Cloud-Lösung bietet im Vergleich zu AWS mindestens 30 % niedrigere Preise für Datenspeicherung und maschinelles Lernen. Google leistet hervorragende Arbeit bei der Demokratisierung der KI. Es hat eine Open-Source-Sprache entwickelt, TensorFlow, optimiert 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.